Buku Saku Senior DBA

Kebijaksanaan pilihan untuk membangun database yang skalabel, aman, dan berperforma tinggi.

Normalisasi vs. Denormalisasi
"Seorang Senior DBA tahu bahwa aturan ada untuk dilanggar—tetapi hanya jika Anda mengerti mengapa aturan itu ada."
Principles

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.

Senior Wisdom

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.

Tuning Performa PostgreSQL
"Database Anda tidak lambat; pola akses Anda yang lambat. Berhenti menyalahkan engine dan mulailah melihat execution plan."
Principles

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.

Senior Wisdom

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.

Praktik Terbaik Keamanan & RLS
"Di web modern, database adalah garis pertahanan terakhir. Perlakukan database Anda seolah-olah server aplikasi Anda sudah diretas."
Principles

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.

Senior Wisdom

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