33 puan yazan xguru 2023-08-14 | 11 yorum | WhatsApp'ta paylaş
  • 25 yıl boyunca ne VC yatırımı ne de DevRel ekibi olmadan yavaş yavaş evrildi
  • Ingres (UC Berkeley, 1970~1985) —> Postgres95 —> PostgreSQL
    • Postgres = "Post Ingres"
  • İlk dili SQL bile değil, QUEL idi. SQL desteği Postgres95'in 1995'te yayımlanmasıyla eklendi
  • 1996'da PostgreSQL 6.0 yayımlandığında geliştirme ekibi oluştu ve akademiden çıktı
  • 2000'den itibaren Postgres çeşitli özellikler ekleyerek büyümeye başladı
    • Write-Ahead-Log (WAL), Outer JOIN, TOAST, drop column, IPv6,..
  • 2005'e gelindiğinde daha olgunlaştı ve oldukça istikrarlı bir DB olarak algılanmaya başladı
    • Zengin transaction desteği, kapsamlı SQL desteği ve Write-Ahead-Log (WAL) ile VACUUM iyileştirmeleri
    • Eşzamanlı indeks oluşturma, warm standby sunucusu, Arrays/UUID/ENUM/XML veri tipleri, two-phase commit vb.
  • 2009'da Postgres 8.4'ten itibaren window fonksiyonları ve CTE desteği geldi
  • Bu dönemden itibaren Postgres geniş veri ekosistemi üzerinde etkisini göstermeye başladı
    • Sağlam kod tabanı ve lisansı sayesinde birçok şirket Postgres'i benimseyip fork üretmeye başladı
    • Bu fork'ların bugün neredeyse hiçbiri kalmadı: Aster Data, Teradata tarafından satın alındı; Truviso, Cisco tarafından satın alındı; Netezza, IBM tarafından satın alındı..
  • Çok sayıda fork sürümü ortaya çıksa da Postgres ilerlemeyi sürdürdü
  • Postgres'in havalı olmaya başlaması 2010'da Postgres 9.0 ve 9.1'in yayımlanmasıyla oldu
    • listen/notify (DB için pub-sub) desteği
    • hstore (anahtar/değer veri tipi)
    • pg_upgrade ile kolay yükseltme
    • GIN/GiST indekslerinin gelişiyle standart B-Tree Index'in ötesine geçti
  • Eklenti yetenekleri her zaman Postgres'in bir parçasıydı, ancak refactoring sayesinde kullanımı daha da kolaylaştı
  • Farklı Postgres DB'lerini bağlayabilen foreign data wrapper'lar geliştirildi
  • 2012'de JSON eklendi
    • NoSQL DB'lerin yükselişi (Mongo & Couchbase)
    • Geliştiriciler verilerini kullanmanın farklı yollarını istemeye başladı
    • Başta geçici bir yöntemle desteklendi, ancak 2 yıl sonra düzgün destek geldi. Yine de insanların ilgisini çekmeye yetti
    • Heroku yükselirken Postgres'i varsayılan DB olarak seçti
  • 2014'te Postgres 9.4 ile JSONB veri tipi sayesinde gerçek anlamda JSON desteği başladı
    • JSON'un ikili gösterimi sayesinde GIN indeksleriyle kolayca indekslenebilir hale geldi
    • JSONB bugün bile insanların duyunca en çok şaşırdığı veri tiplerinden biri
  • Logical decoding, sonraki birkaç yıl boyunca CDC (change data capture) işlemlerini daha kolay hale getirecek zemini hazırladı
  • 9.3 civarında Amazon, Re:Invent'te RDS üzerinde PostgreSQL desteğini duyurdu
    • Ben Re:Invent'e birkaç kez katıldım ve izleyicilerin ayakta alkışladığı tek duyuru buydu
  • 2016'da 9.5, 9.6 ve 10 sürümleri
    • Row Level Security, Logical Replication, Table Partitioning gibi özellikler geldi
    • Bu özellikler bireysel katkıcıların katkılarıydı
  • Peki tam olarak ne zaman?
    • Bence Heroku ile JSON birleşimi olmasaydı hyperscaler'lar destek eklemezdi
    • Ama düzenli sürüm takvimi ile kalite odaklı performans ve özellik iyileştirmeleri sürekli devam etmeseydi bu fırsat da doğmazdı

11 yorum

 
cosine20 2023-08-16

Oo, veritabanı için Pub/Sub ilginçmiş.

 
inthelife 2023-08-16

Binggrae Janggrae Postgrae!

 
llmrocks 2023-08-15

Ama supabase daha havalı.

 
ggg213 2023-08-15

Lütfen sütun konumunu değiştirmeyi mümkün kılın

 
ruinnel 2023-08-14

Yazım hatası bildirimi: 라이선스 벅분에 -> 라이선스 덕분에

 
n1ghtc4t 2023-08-14

Harika~! İşte bu!!!

 
jujumilk3 2023-08-14

Adeta kendi kendini güçlendiren bir OSS'nin ders kitabı örneği gibi duruyor.

 
qurare 2023-08-14

LK-99 gibi onlarca yıl boyunca biriken bir hazırlığın getirdiği romantizm...

 
jujumilk3 2023-08-14

Romantizm onaylandı....

 
bbulbum 2023-08-14

Postgres, devam!

 
pkj3186 2023-08-14

Ne kadar havalısın be, Postgres