Not· 4 dk okuma· 10 Apr 2026

Yeni şey yerine neden hâlâ PostgreSQL seçiyoruz.

Geçen yaz Twitter'ı meşgul eden vektör veritabanı şimdi altında sessizce PostgreSQL çalıştırıyor. Neden geri döndüğümüzü ve hep elimizin uzandığı dört uzantıyı anlatıyoruz.The vector database that ate Twitter last summer is now quietly running PostgreSQL underneath. Here's why we keep coming back — and the four extensions we always reach for.

Her altı ayda bir yeni bir veritabanı zaman tüneline hâkim oluyor. Çoğu ilginç; neredeyse hiçbiri üçüncü yıla kalmıyor. PostgreSQL 2018'den beri yayına aldığımız her projede varsayılanımız ve hâlâ neden sorulup duruyor. Kısa cevap: yığındaki en yüksek geri dönüşlü bağımlılık.

Onu "sıkıcı" yapan şey (ve mesele tam da bu)

  1. Gerçekten çalışan transaction'lar. Read-committed, repeatable-read, serializable — dokümantasyonda yazdığı gibi davranıyor. Bunu söyleyebilen başkası neredeyse yok.

  2. İyi yaşlanan bir sorgu planlayıcısı. Optimizer otuz yıldır kararlı biçimde iyileşiyor. Beş yıl önce çalışan bir yük profili bugün de çalışıyor.

  3. Her şeyden kurtarma. WAL arşivleme + base backup ile altı aylık bir veritabanını bit bit yeniden yaratabilirsiniz. Bunu iki kez yapmak zorunda kaldık. İkisinde de işe yaradı.

  4. İnsanlar öğrenmek istiyor. PostgreSQL üzerine işe alım kolay. Ayın vektör-veritabanı üzerine işe alım bir işe alım vergisi.

Hep uzandığımız dört uzantı

  • pgcrypto · UUID'ler, hash'ler, simetrik şifreleme. Ayrı bir servise gitmeyin.

  • pgvector · gömütler + kosinüs benzerliği. ~10M vektörün altındaki her şey için özelleşmiş vektör depolarıyla aradaki farkı kapatıyor. HNSW indeksiyle eşleştirin, bitti.

  • pg_trgm · Elasticsearch kurmadan bulanık metin araması. Trigram indeksleri ürün araması yüklerinde sürpriz biçimde rekabetçi.

  • btree_gin · bileşik filtreler için çok kolonlu GIN indeksleri. status + customer_id + created_at üzerinde filtreleyen admin panellerini neredeyse anlık hale getirir.

Başka bir şey seçeceğimiz durumlar

  • Cassandra / DynamoDB — yazma hızı gerçekten ~200k/sn üzerindeyse ve sorgu şekli sabitse.

  • ClickHouse — okumanın yalnızca append-only veri üzerinde devasa toplamalar olduğu analitik yükler için.

  • Redis — önbellek için. (Redis'i PostgreSQL ile birlikte seçiyoruz, yerine değil.)

Geri kalan her şey, 2026'da, bir CREATE DATABASE uzaklıkta.

TCB
Yazan
The Code Buffalo
Sıradaki

Dürüst > cilalı — gerçekte ne demek istiyoruz.