50 poin oleh xguru 2022-12-13 | 13 komentar | Bagikan ke WhatsApp
  • Postgres dapat menggantikan banyak teknologi backend (hingga jutaan pengguna)
    → Kafka, RabbitMQ, Mongo, Redis,..
  • Untuk cache, gunakan tabel UNLOGGED dan TEXT dalam format JSON alih-alih Redis
    • Atur masa kedaluwarsa data dengan stored procedure
  • Antrean pesan (Kafka): SKIP LOCKED
  • Data warehouse dengan Postgres+TimescaleDB
  • Simpan JSONB sebagai pengganti Mongo, lalu lakukan pencarian dan pengindeksan
  • Gunakan pg_cron sebagai daemon CRON untuk hal seperti pengiriman email
  • Digunakan untuk kueri geospasial
  • Gunakan untuk pencarian full-text sebagai pengganti Elastic
  • Buat JSON di dalam DB lalu kirim langsung ke API tanpa kode server-side
  • Mendukung GraphQL juga lewat adaptor GraphQL

13 komentar

 
bbulbum 2022-12-15

Hmm.. sepertinya intinya adalah bahwa konsep dasarnya sudah cukup dengan postgres, kecuali jika memang membutuhkan lebih banyak fitur yang didukung oleh masing-masing aplikasi.
Karena tiap aplikasi bisa menggunakan lebih banyak fitur daripada alur pengganti yang dibahas di atas.

 
colossus 2022-12-14

Menurut saya ini bukan pendapat yang terlalu mengada-ada jika digunakan dengan antarmuka yang dirancang dengan baik. Namun, menurut saya urusan seperti cache/message queue tetap tidak masalah jika diserahkan ke Redis.

 
gninggoon 2022-12-14

Saya juga belakangan ini punya pemikiran yang mirip seperti tulisan di atas. Tentu saja, untuk layanan berskala besar sebaiknya risiko disebar semaksimal mungkin dengan arsitektur yang terdistribusi, tetapi saat sesekali mengerjakan proyek outsourcing skala kecil, menggunakan tipe jsonb di Postgres tanpa memakai NoSQL terpisah terasa jauh lebih serbaguna. Pengalaman pemakaiannya seperti memadukan RDB + NoSQL, dan untuk proyek kecil performanya sudah sangat memadai.

 
a9t84j1k5j2j1 2022-12-13

Karena semua dilakukan dengan satu hal, semua titik risikonya pun berkumpul di satu tempat..!

 
ehlegeth 2022-12-13

Beberapa hal memang dulu benar-benar dikerjakan dengan RDB pada masa belum ada produk penggantinya, tetapi untuk hal seperti Redis, Kafka, dan Cron, tampaknya tidak bisa menggantikan keunggulan utama masing-masing. Sepertinya ini hanya ide yang seru untuk dilihat lalu dilewati.

 
ifmkl 2022-12-13

Sepertinya ini pas untuk orang yang suka melakukan semuanya dengan satu hal.

 
s0400615 2022-12-13

Saya dulu memakai Postgres karena urusan geospasial.
Dibandingkan DB lain, performanya sekitar 10~100 kali lebih cepat. Untuk sisi geo memang sangat unggul.

Tapi seperti yang semua orang tahu, saat datanya makin banyak dan vacuum berjalan tidak semestinya, Anda akan merasakan neraka..

 
kbumsik 2022-12-13

Oh, ada beberapa trik ya.

Namun, untuk kombinasi pertama antara UNLOGGED dan stored procedure, rasanya akan jauh lebih rapi kalau langsung pakai Redis, haha

 
youknowone 2022-12-13

Beberapa tahun lalu, saat memakai JSONB dan bebannya mulai berat, saya pernah mengerjakannya dengan memilih yang sesuai pola kv lalu memindahkannya ke Redis, dan itu pengalaman yang cukup nyaman.

 
sangheon 2022-12-13

Pendapat yang menarik.

 
xguru 2022-12-13

Judulnya memang agak provokatif, tapi menurut saya topiknya cukup layak dipikirkan jadi saya terjemahkan apa adanya.
Soalnya, saat membuat MVP awal, memasukkan terlalu banyak komponen juga bisa jadi masalah.

 
jujumilk3 2022-12-13

Tampaknya ini konsep yang bagus.

 
devo209 2022-12-20

Terima kasih.