Tiap toko punya database sendiri
1 menit bacaDiperbarui
Untuk:Pemilik toko
Ringkasan
Tiap toko (bisnis) yang signup di Cellupro dapat database tersendiri yang terpisah secara fisik — bukan baris di tabel bersama. Bug di aplikasi yang nyebabin data toko A bocor ke toko B mustahil terjadi karena DB mereka memang berbeda.Banyak SaaS pakai shared database — semua customer share tabel yang sama, dipisah cuma pakai kolom tenant_id. Kalau ada bug query tanpa WHERE tenant_id, data customer A bocor ke customer B. Cellupro pakai pendekatan berbeda: tiap toko dapat database fisik tersendiri.
Implementasi teknis
- Saat Anda signup, sistem fork database template baru khusus untuk toko Anda — dikasih nama unik (misal: cellupro-tenant-tokoberkah).
- Database Anda berbeda fisik dengan database toko lain — beda server, beda kredensial.
- Token akses ke database Anda di-encrypt at-rest dengan KEK (Key Encryption Key) di control plane.
- Sistem login (control plane) tahu mana database Anda berdasarkan slug subdomain di URL.
- Setiap request dari Anda hit database Anda — tidak ada query yang join antar database.
Apa konsekuensinya
| Aspek | Shared DB (industri umum) | Cellupro (per-tenant DB) |
|---|---|---|
| Risiko data bocor | Bug query tanpa tenant_id = bocor lintas customer | Mustahil — DB fisik berbeda |
| Performance | Customer besar bisa slow customer kecil | Isolasi performa — toko aktif tidak ganggu toko lain |
| Backup | Restore lintas customer rumit | Backup per toko — restore tidak affect lain |
| Compliance | Sulit jamin data residency | Lokasi DB per toko bisa di-spesifikkan |
Apakah artikel ini membantu?