Buku Saku Senior DBA
Kebijaksanaan pilihan untuk membangun database yang skalabel, aman, dan berperforma tinggi.
Normalisasi (hingga 3NF) adalah standar Anda. Ini menjamin integritas data, mencegah anomali, dan menjaga penyimpanan tetap efisien. Namun, pada sistem skala tinggi, 'join' bisa menjadi bottleneck.
Denormalisasi adalah optimasi performa. Kami menduplikasi data secara selektif untuk menghindari join yang mahal pada jalur baca yang padat. Gunakan dengan bijak, dan hanya jika latensi query membenarkan kompleksitas tambahan dalam menjaga konsistensi data.
Indexing adalah pedang bermata dua. Meskipun index mempercepat SELECT, ia memperlambat INSERT dan UPDATE. Senior DBA lebih memilih 'Selective Indexing'—hanya memberi index pada apa yang benar-benar dibutuhkan oleh predikat query yang umum.
Vacuuming bukanlah pilihan. PostgreSQL menggunakan MVCC, artinya setiap update membuat 'tuple' baru. Tanpa vacuuming rutin, tabel Anda akan mengalami 'bloat', yang menyebabkan penurunan performa masif. Aktifkan autovacuum dan sesuaikan dengan beban kerja Anda.
Row Level Security (RLS) sangat transformatif untuk aplikasi multi-tenant. Ia mendorong logika otorisasi turun ke level engine, memastikan user hanya pernah melihat data mereka sendiri, terlepas dari bug di kode aplikasi.
Schema adalah teman Anda. Gunakan PostgreSQL schema yang berbeda untuk mengisolasi fungsi sistem dari tabel publik. Gabungkan ini dengan Prinsip Hak Akses Terendah (Principle of Least Privilege): user aplikasi Anda hanya boleh memiliki izin minimum yang dibutuhkan untuk berfungsi.
End of Current Handbook — Version 2026.1