Postgres’u Her Yerde Kullanın
(amazingcto.com)- Postgres, birçok backend teknolojisinin yerini alabilir (milyonlarca kullanıcıya kadar)
→ Kafka, RabbitMQ, Mongo, Redis,.. - Cache için Redis yerine, JSON biçiminde
TEXTkullananUNLOGGEDtablolar kullanın- Stored procedure ile veriler için son kullanma süresi ayarlayın
- Mesaj kuyruğu (Kafka):
SKIP LOCKED - Veri ambarı için Postgres + TimescaleDB
- Mongo yerine
JSONBdepolayın; arama ve indeksleme yapın - E-posta gönderimi gibi işler için
pg_cronile bir CRON daemon’u olarak kullanın - Coğrafi sorgular için kullanın
- Elastic yerine tam metin aramada kullanın
- Veritabanı içinde JSON üretip, sunucu tarafı kod olmadan doğrudan API’ye iletin
- GraphQL adaptörüyle GraphQL desteği de sağlayın
13 yorum
Hmm... eğer her uygulamanın desteklediği daha fazla özelliğe ihtiyacınız yoksa, temel konsept açısından
postgres'in yeterli olduğu söyleniyor gibi görünüyor.Çünkü her uygulama, yukarıda onun yerine kullanılan akıştan daha fazla özelliği kullanabiliyor.
Arayüz düzgün kurgulanıp kullanılırsa bunun o kadar da saçma bir fikir olmadığını düşünüyorum. Yine de cache/message queue gibi işleri Redis’e bırakmakta sakınca görmüyorum.
Ben de son zamanlarda yukarıdaki yazıya benzer şeyler düşünüyorum. Elbette büyük ölçekli servislerde riski mümkün olduğunca dağıtarak yaymak daha iyi olur, ancak zaman zaman küçük ölçekli dış kaynak projelerinde ayrı bir NoSQL kullanmak yerine Postgres'in
jsonbtipinden yararlanmanın çok daha kullanışlı olduğunu gördüm. Hem RDB + NoSQL'i birlikte kullanıyormuşsunuz gibi bir kullanım sunuyordu hem de küçük projelerde performansı fazlasıyla yeterliydi.Her şeyi tek başına yapınca, tüm risk noktaları da tek bir yerde toplanıyor..!
Bazıları gerçekten de yerini alacak ürünlerin olmadığı dönemlerde RDB ile yapılan işlerdi, ancak Redis, Kafka, Cron gibi şeylerin temel avantajlarının ikame edilebildiği pek görünmüyor. Sanırım eğlencesine bakıp geçilecek türden bir fikir.
Her şeyi tek bir araçla halletmeyi sevenler için biçilmiş kaftan gibi duruyor
Ben Geospatial yüzünden postgres kullanmıştım.
Diğer veritabanlarına kıyasla yaklaşık 10 ila 100 kat daha hızlıydı.. geo tarafında ezici bir üstünlüğü vardı.
Ama herkesin bildiği gibi veri arttıkça vacuum yanlış çalışırsa cehennemi yaşarsınız..
Vay, epey numara varmış.
Ama ilk
UNLOGGEDile stored procedure kombinasyonu için, doğrusu Redis kullanmak çok daha temiz olur gibi geliyor hahaBirkaç yıl önceydi ama JSONB kullanırken yük artınca KV pattern’ine uygun olanı seçip Redis’e ayırarak çalışmıştım; oldukça rahat bir deneyimdi.
İlginç bir görüş.
Kışkırtıcı bir başlık ama yine de üzerinde düşünmeye değer bir konu olduğu için olduğu gibi aktardım.
Sonuçta erken aşama bir MVP geliştirirken çok fazla bileşeni devreye almak da ayrı bir sorun olabiliyor.
İyi bir konsept gibi görünüyor.
Teşekkür ederim.