Perbandingan Performa dan Skalabilitas Arsitektur Multi-Tenant Database pada Sistem Backend Point of Sale
Abstract
Abstrak— Sistem Point of Sale (POS) berbasis Software as a Service (SaaS) menghadapi tantangan penting dalam memilih arsitektur basis data multi-tenant yang tepat, yaitu antara pendekatan single-database (shared-schema) dan multi-database per tenant, karena masing-masing membawa konsekuensi berbeda terhadap performa, skalabilitas, dan efisiensi sumber daya. Perbandingan kedua arsitektur dilakukan melalui pengujian eksperimental menggunakan API berbasis Golang, basis data PostgreSQL, dan workload generator Locust dengan mengadaptasi pola benchmark TPC-C. Skala pengujian divariasikan dari skala kecil (5 tenant, 50 user) hingga ekstrem (150 tenant, 1.500 user). Hasil pengujian menunjukkan kedua arsitektur memberikan performa setara dan stabil, dengan throughput mencapai 170 RPS, waktu respons di bawah 12 milidetik, dan error rate 0% pada beban puncak, serta mampu berskala secara hampir linear terhadap peningkatan beban. Perbedaan signifikan justru terlihat pada efisiensi server basis data: arsitektur single-database terbukti 2,65 kali lebih hemat memori, stabil pada penggunaan sekitar 950 MB RAM, dan mampu mempertahankan cache hit ratio 98,88%. Sebaliknya, arsitektur multi-database mengalami lonjakan konsumsi RAM hingga 210,9% (mencapai 2.518 MB) akibat beban pemeliharaan ratusan connection pool independen, disertai peningkatan aktivitas disk write 16%-40%. Temuan ini menunjukkan bahwa arsitektur single-database lebih sesuai untuk platform POS berskala startup atau UMKM karena efisiensi biaya infrastruktur, dengan syarat penerapan validasi kode yang ketat, sedangkan arsitektur multi-database lebih cocok bagi bisnis berskala korporasi (enterprise) yang membutuhkan isolasi privasi absolut meskipun harus mengalokasikan kapasitas infrastruktur yang lebih besar.
Kata Kunci— Point of Sale (POS), SaaS, Multi-tenant, Arsitektur Basis Data, Performa, Skalabilitas.
Downloads
Abstract views: 8
,
PDF Downloads: 2


View My Stats


