Saya berbicara dengan arsitek database dari wordpress.com, layanan hosting untuk WordPress. Dia mengatakan bahwa mereka memulai dengan satu database, menampung semua pelanggan bersama-sama. Isi dari satu situs blog sebenarnya tidak terlalu banyak. Masuk akal bahwa satu database lebih mudah dikelola.
Ini berhasil bagi mereka sampai mereka mendapatkan ratusan dan ribuan pelanggan, mereka menyadari bahwa mereka perlu meningkatkan skala , menjalankan beberapa server fisik dan menghosting subset pelanggan mereka di setiap server. Saat mereka menambahkan server, akan mudah untuk memigrasikan pelanggan individu ke server baru, tetapi lebih sulit untuk memisahkan data dalam satu database milik blog pelanggan individu.
Saat pelanggan datang dan pergi, dan beberapa blog pelanggan memiliki aktivitas bervolume tinggi sementara yang lain basi, penyeimbangan ulang melalui beberapa server menjadi pekerjaan pemeliharaan yang bahkan lebih kompleks. Memantau ukuran dan aktivitas per database individual juga lebih mudah.
Demikian juga melakukan mencadangkan atau memulihkan basis data dari satu database yang berisi terrabyte data, versus backup database individu dan pemulihan beberapa megabyte masing-masing, merupakan faktor penting. Pertimbangkan:seorang pelanggan menelepon dan mengatakan bahwa data mereka terkena SNAFU karena beberapa entri data yang buruk, dan dapatkah Anda memulihkan data dari cadangan kemarin? Bagaimana Anda memulihkan satu data pelanggan jika semua pelanggan Anda berbagi satu database?
Akhirnya mereka memutuskan bahwa memisahkan menjadi database terpisah per pelanggan , meskipun rumit untuk dikelola, menawarkan fleksibilitas yang lebih besar kepada mereka dan mereka merancang ulang layanan hosting mereka ke model ini.
Jadi, sementara dari pemodelan data perspektif sepertinya hal yang benar untuk dilakukan untuk menyimpan semuanya dalam satu database, beberapa administrasi database tugas menjadi lebih mudah saat Anda melewati breakpoint volume data tertentu.