8 puan yazan GN⁺ 2024-12-09 | 1 yorum | WhatsApp'ta paylaş

Hedef ve ilham

  • Bu deponun amacı, Postgres'i her şey için kullanma yollarını göstermektir.
  • Amazing CTO'nun yazısından ve @cpursley'nin GitHub gist'inden ilham alınmıştır.

Bu liste neden tutuluyor?

  • Her hafta Postgres üzerinde yeni araçlar veya yeni kullanım biçimleri ortaya çıkıyor; bunları kaydetmek için bir yere ihtiyaç var.
  • Başka örnekleriniz varsa bir PR gönderebilirsiniz.

İçindekiler

  • Blog gönderileri ve makaleler
  • Cron işleri
  • Mesaj kuyrukları
  • Analitik
  • GIS ve haritalama
  • Denetim günlükleri
  • Erişim kontrolü ve yetkilendirme
  • Arama
    • Tam metin
    • Vektör
  • Zaman serileri
  • Sütun odaklı
  • NoSQL
  • Grafik verisi
  • Harici veri
  • Alternatif sorgu dilleri
  • HTTP
  • API
  • Olaylar, replikasyon, CDC
  • Önbellekleme
  • Birim testleri
  • HTML ve uygulamalar
  • Grafikler ve görselleştirme
  • Migrasyonlar
  • Performans ayarı
  • Ölçeklendirme ve depolama
  • Panolar ve UI
  • Veri görselleştirme
  • Paket yönetimi
  • Dil sunucusu
  • Diğer
  • Bonus: Supabase içeren öğe sayısı

Blog gönderileri ve makaleler

  • Kodu veritabanı fonksiyonlarına taşıyarak sadeleştirme
  • Her şey için Postgres kullanımı
  • PostgreSQL dünyanın en iyi veritabanı
  • Postgres veritabanı dünyasını ele geçiriyor
  • Hacker News tartışması

Cron işleri

  • citusdata/pg_cron
  • cybertec-postgresql/pg_timetable

Mesaj kuyrukları

  • Postgres kuyruk tekniği seçimi üzerine bir yazı
  • tembo-io/pgmq
  • SKIP LOCKED
  • riverqueue/river
  • sequinstream/sequin: Postgres için bir CDC aracı; Postgres satırlarını ve değişikliklerini Kafka ve SQS gibi akış platformlarına ve kuyruklara kolayca aktarabilir.
  • janbjorge/pgqueuer: PostgreSQL kullanarak verimli iş kuyruğa alma için Python kütüphanesi

Analitik

  • pg_analytics: Postgres'i hızlı bir OLAP veritabanına dönüştürür
  • pg_duckdb: DuckDB için resmi Postgres eklentisi

GIS ve haritalama

  • postgis/postgis

Denetim günlükleri

  • arkhipov/temporal_tables
  • supabase/supa_audit
  • pgMemento/pgMemento
  • pgaudit/pgaudit

Erişim kontrolü ve yetkilendirme

  • arkhipov/acl
  • pgcrypto belgeleri
  • michelp/pgjwt
  • supabase.com üzerindeki veritabanı güvenliği rehberi

Arama

Tam metin

  • Postgres tam metin aramasıyla ilgili faydalı bağlantıların derlemesi
  • paradedb/paradedb
  • Postgres tam metin araması ile diğer arama teknolojilerinin karşılaştırması

Vektör

  • pgvector/pgvector
  • tensorchord/VectorChord: ölçeklenebilir, yüksek performanslı vektör benzerliği araması için PostgreSQL eklentisi
  • timescale/pgai: Postgres içinde RAG, anlamsal arama ve diğer AI uygulamalarının geliştirilmesini sağlayan PostgreSQL eklentisi
  • timescale/pgvectorscale: pgvector'ü tamamlayan bir DiskANN vektör indeks uygulaması

Zaman serileri

  • timescale/timescaledb
  • tembo-io/pg_timeseries
  • pg_timeseries'e giriş: PostgreSQL için açık kaynaklı zaman serisi eklentisi

Sütun odaklı

  • hydradatabase/hydra
  • citusdata/cstore_fdw

NoSQL

  • JSON verisinin saklanması ve indekslenmesine dair PostgreSQL belgeleri
  • robconery/dox
  • ferretdb.com
  • PostgreSQL'de JSONB'yi etkili biçimde saklama ve indeksleme yöntemleri

Grafik verisi

  • age.apache.org

Harici veri

  • supabase/wrappers

Alternatif sorgu dilleri

  • kaspermarstal/plprql
  • supabase.github.io/pg_graphql
  • dosco/graphjin

HTTP

  • pramsey/pgsql-http
  • supabase/pg_net

API

  • PostgREST/postgrest
  • hasura/graphql-engine
  • postgraphile.org
  • supabase.github.io/pg_graphql

Olaylar, replikasyon, CDC

  • Postgres kullanan uygulamalar için Notifier deseni
  • SQL NOTIFY belgeleri
  • cpursley/walex
  • PeerDB-io/peerdb
  • debezium/debezium
  • 2ndQuadrant/pglogical

Önbellekleme

  • martinheinz.dev blogu
  • readysettech/readyset

Birim testleri

  • theory/pgtap
  • peterldowns/pgtestdb

HTML ve uygulamalar

  • SQLpage
  • Omnigres
  • pg_render
  • plmustache

Grafikler ve görselleştirme

  • pgSVG

Migrasyonlar

  • purcell/postgresql-migrations
  • bytebase.com
  • xataio/pgroll
  • stripe/pg-schema-diff

Performans ayarı

  • Supabase Index Advisor
  • Dexter
  • HypoPG
  • pg_hint_plan
  • PGHero

Ölçeklendirme ve depolama

  • Cloudflare'ın 15 PostgreSQL kümesiyle saniyede 55 milyon isteği nasıl işlediği
  • supabase/supavisor
  • pg-sharding/spqr
  • orioledb.com: disk ve bellek motorlarının avantajlarını birleştiren PostgreSQL eklentisi

Panolar ve UI

  • Baserow
  • NocoDB
  • AppSmith

Veri görselleştirme

  • Evidence
  • Metabase

Paket yönetimi

  • pgxman/pgxman
  • supabase/dbdev

Dil sunucusu

  • supabase/postgres_lsp

Diğer

  • Çok kapsamlı bir Postgres araçları listesi
  • Aurora DSQL'de desteklenmeyen PostgreSQL özelliklerinin listesi

Bonus: Supabase içeren öğe sayısı

  • 11

1 yorum

 
GN⁺ 2024-12-09
Hacker News görüşü
  • Postgres’i her şey için kullanmayın; 100’den fazla mühendise ölçeklenirken, her birimin kendi Postgres’ine sahip olacağı mantıksal ve fiziksel sınırları belirleyecek teknik liderlik gerekir
    • Birçok CTO bu zor kısmı yerine getirmiyor
  • Postgres indekslerinin skip’i desteklememesi ve dizgelerde null karakteri (\u0000) bulunamaması can sıkıcı
    • Postgres harika ama birkaç tuhaf kusuru var
  • Veritabanından üretilen API’leri ekip dışındaki kişilere açmamak daha iyi olur
    • Verinin nasıl saklandığını değiştirme konusunda kısıt oluşturur
    • Bu konuda daha önce yazmıştım ve görüşüm pek değişmedi
  • PGQueuer, Python için hafif bir iş kuyruğu; PostgreSQL tabanlı ve SKIP LOCKED kullanarak verimli ve güvenli işleme sağlıyor
    • Zaten Postgres kullanıyorsanız ve ek altyapı olmadan Python native bir yaklaşımla arka plan işlerini yönetmek istiyorsanız, PGQueuer değerlendirilebilir
  • MariaDB/MySQL ile PostgreSQL’i karşılaştırınca JSON, temporal tablolar, sütunlar ve vector store gibi birçok genişletme özelliği olduğu görülüyor
    • LISTEN/NOTIFY tarafında eksikleri var ama birçok legacy uygulamada bunlar kullanılmasa da şaşırtıcı biçimde arayı kapatıyor
  • Açık kaynak BM25 aramasını PL/pgSQL içinde sunuyor; Rust eklentilerini kullanamadığınız durumlarda faydalı
    • pgvector ve Reciprocal Rank Fusion kullanan hibrit arama sağlıyor
  • "Amazing CTO" makalesinden ilham aldığını söylemesini görmek sevindiriciydi
  • Tek bir API üzerinden birçok özelliğe erişebilmenin büyük avantajları var
    • Mesaj kuyruğuyla entegre olmak yerine INSERT ile basitçe halledilebiliyor
    • Vector arama da doğal olarak tek bir veritabanıyla yapılabiliyor
    • Postgres ile HTML üretmek ise soru işareti; kullanıcı arayüzü oluşturmak için uygun görünmüyor
  • Kendi kendine host edilen Postgres veritabanı kurulumuna dair iyi kaynaklar arıyorum
    • Yedekleme, optimizasyon vb. için en iyi yöntemleri bilmek istiyorum
  • Apache Age’i graph veriye entegre etmek için 2 hafta harcadım ama projenin eski ve karmaşık olduğunu fark ettim
    • DGraph ile daha iyi sonuçlar umuyorum ama graph veritabanları istikrarsız bir durumda