Perbandingan Galera vs PostgreSQL + Patroni¶
Konteks Keputusan
Per rencana resmi Bab X — SEKSI-01, teknologi database yang sudah dipilih untuk stack aplikasi OneKE adalah MySQL/MariaDB Galera Cluster (3 node, multi-master). Perbandingan di halaman ini disusun sebagai validasi keputusan tersebut dan referensi bila suatu saat PostgreSQL dipertimbangkan untuk kebutuhan lain (mis. aplikasi baru dengan kebutuhan fitur SQL lebih kaya).
Ringkasan Karakteristik¶
Tabel Perbandingan¶
| Aspek | Galera Cluster | PostgreSQL + Patroni |
|---|---|---|
| Model replikasi | Multi-master, sync (certification-based) | Single-primary, async default (sync opsional) |
| Write scaling | Semua node bisa terima write | Hanya primary; scaling write butuh sharding terpisah (mis. Citus) |
| Overhead CPU/network write-heavy | Tinggi (semua node certify tiap write) | Rendah (replica hanya replay WAL) |
| Failover | Tanpa downtime (selalu multi-master) | Downtime singkat saat promosi replica |
| Komponen tambahan (infra tax) | Minimal (self-contained) | Butuh etcd/Consul (DCS) + Patroni + PgBouncer/HAProxy |
| Fitur SQL | Standar MySQL/MariaDB | Lebih kaya (JSONB, extension, PostGIS, dll.) |
Mengapa Galera Cocok untuk Stack OneKE¶
Keputusan memilih Galera (lihat SEKSI-01) sejalan dengan karakteristik yang terlihat pada perbandingan di atas:
- Tanpa downtime saat failover — penting untuk skema migrasi rolling tanpa gangguan layanan aktif (lihat Rencana Migrasi Bertahap).
- Infra tax minimal — tidak perlu komponen tambahan (etcd/Consul, connection pooler terpisah) di luar ProxySQL yang memang sudah direncanakan sebagai query router.
- Cocok dengan pool resource terbatas (lihat kapasitas cluster aktual di Rencana Database Cluster — Arsitektur) karena self-contained.
Trade-off yang diterima: overhead CPU/network lebih tinggi saat beban write tinggi — dapat diterima mengingat jejak data & beban query saat ini masih kecil (lihat kondisi VM hosting di SEKSI-01).
Skor 1–5 pada chart bersifat kualitatif berdasarkan karakteristik arsitektur, bukan hasil benchmark terukur.