Database server adalah tempat seluruh isi website disimpan: artikel, produk, komentar, akun pengguna, dan pengaturan. Setiap kali halaman dibuka, aplikasi meminta data ke sana. Karena itulah, pada situs yang sudah cukup besar, database sering menjadi penyebab lambat sebelum bagian lain terasa bermasalah.
Apa Itu Database Server?
Database server adalah perangkat lunak yang menyimpan data secara terstruktur dan melayani permintaan baca-tulis dari aplikasi. Ia berjalan sebagai layanan terpisah dari web server, meski pada hosting biasa keduanya berada di mesin yang sama.
Alurnya pada website dinamis seperti WordPress:
- Pengunjung membuka sebuah halaman.
- Web server menjalankan PHP.
- PHP mengirim kueri ke database: ambil artikel ini, ambil menu, ambil komentar.
- Database mengembalikan hasilnya.
- PHP menyusun halaman jadi, web server mengirimkannya ke browser.
Satu halaman bisa memicu puluhan kueri. Inilah sebabnya cache begitu berpengaruh — halaman yang tersimpan disajikan tanpa langkah 2 sampai 4 dijalankan sama sekali.
Jenis Database yang Umum Dipakai
Untuk website, hampir semuanya memakai basis data relasional — data disimpan dalam tabel yang saling terhubung.
- MySQL dan MariaDB. Dua nama yang paling sering ditemui di hosting web. MariaDB adalah percabangan dari MySQL dan sebagian besar penyedia memakainya sebagai bawaan. WordPress, Joomla, dan sebagian besar aplikasi PHP dibangun untuk keduanya.
- PostgreSQL. Lebih ketat dalam menjaga keutuhan data dan lebih kuat untuk kueri rumit. Banyak dipakai aplikasi yang datanya kompleks.
- SQLite. Berupa satu berkas, tanpa layanan terpisah. Cocok untuk aplikasi kecil dan pengembangan lokal, bukan untuk situs yang ramai.
Selain itu ada basis data non-relasional seperti MongoDB dan Redis. Redis khususnya sering dipakai bukan sebagai penyimpan utama, melainkan sebagai cache objek di depan database utama.
Kenapa Database Sering Menjadi Titik Sempit
Beda dengan berkas gambar yang tinggal dikirim, setiap kueri database menuntut pencarian, penyaringan, dan pengurutan — dan biayanya naik seiring bertambahnya data.
Tiga penyebab yang paling sering:
- Kueri tanpa indeks yang tepat. Database harus memeriksa seluruh isi tabel untuk menemukan satu baris. Pada tabel kecil tidak terasa; pada tabel besar sangat terasa.
- Data sampah yang menumpuk. Pada WordPress, revisi naskah, komentar spam, dan data sisa plugin yang sudah dihapus bisa membuat tabel membengkak.
- Kueri yang berjalan berulang untuk data yang sama. Diselesaikan dengan cache objek, bukan dengan server yang lebih besar.
Langkah penanganannya dibahas di tips optimasi performa database server, dan urutan perbaikan yang lebih luas — di luar basis data — ada di cara meningkatkan kinerja server.
Yang Perlu Diperhatikan Pemilik Website
Sebagian besar pemilik situs tidak perlu mengelola database secara langsung, tetapi tiga hal ini tetap layak diperiksa.
- Cadangan database berjalan dan pernah diuji. Kehilangan berkas masih bisa dibangun ulang; kehilangan database berarti kehilangan seluruh isi situs.
- Port database tidak terbuka ke internet. Tidak ada alasan database bisa dihubungi langsung dari luar pada hosting web biasa.
- Kredensial database tidak dipakai ulang untuk hal lain, dan tersimpan hanya di berkas konfigurasi aplikasi.
Pertanyaan yang Sering Diajukan
Apakah MySQL dan MariaDB bisa saling menggantikan? Untuk kebutuhan website pada umumnya, ya — sebagian besar aplikasi berjalan di keduanya tanpa penyesuaian. Perbedaannya baru terasa pada fitur lanjutan tertentu.
Berapa besar database yang dianggap wajar? Tidak ada patokan baku, tetapi database WordPress yang membengkak sampai ratusan megabyte untuk situs berisi ratusan artikel biasanya menandakan penumpukan data sampah, bukan pertumbuhan isi yang wajar.
Apakah menambah RAM mempercepat database? Bisa membantu kalau memori memang menjadi penghambat, karena data yang sering diakses bisa disimpan di memori. Namun kalau penyebabnya kueri tanpa indeks, menambah RAM hanya menunda masalah yang sama.
Di mana database saya berada kalau memakai shared hosting? Di server yang sama dengan berkas website Anda, dikelola penyedia. Aksesnya lewat phpMyAdmin atau alat serupa di control panel.