Mengembangkan aplikasi multi-pelanggan kami berencana untuk menggunakan database yang berbeda untuk setiap pelanggan. Tetapi bisa jadi lebih dari 1000 pelanggan (aplikasi).
Akankah PostgreSQL menanganinya tanpa masalah?
Adakah yang mencoba sesuatu yang serupa?
Catatan: 35 tabel untuk masing-masing, dengan hingga 3000 catatan sebagai rata-rata, untuk setiap database.
sumber
Kedengarannya seperti berantakan dari sudut pandang manajemen. Hanya bagaimana Anda berencana untuk membuat cadangan banyak database? dengan script yang masing-masing loop?
Kecuali Anda memiliki alasan yang sangat bagus, mengapa tidak hanya memiliki satu basis data di mana strukturnya dirancang sehingga semua data akan ditautkan kembali ke ID pelanggan. Tambahkan Indeks / Kunci Asing / Kunci Utama berdasarkan bidang ini yang akan memastikan integritas data.
Maka Anda hanya perlu memiliki klausa di mana dalam semua pertanyaan Anda untuk mengakses hanya satu ID pelanggan. Ini akan jauh lebih mudah untuk dipelihara dan sama mudah untuk dikembangkan (karena dalam kasus apa pun Anda perlu untuk memungkinkan identifikasi pelanggan)
sumber
search_path
melakukannya untuk Anda.Ada orang yang melakukan ini, terutama untuk hosting server bersama.
Memikirkan masalah di sini tidak ada makan siang gratis. Anda mungkin dapat melakukannya dengan skema dengan cara yang transparan. Namun kemudian Anda mendapatkan ribuan skema dan puluhan ribu tabel, yang akan menimbulkan masalah tambahan.
Saya pikir secara keseluruhan, pendekatan multiple db paling bagus diberikan komentar Anda.
Manajemen (seperti cadangan) akan menjadi menarik. Juga saya akan berpikir bahwa pada titik tertentu koneksi ke db akan mulai memakan waktu lebih lama. Jika Anda menggunakan pg_hba.conf untuk membatasi akses (yang harus Anda lakukan) yang akan menjadi sakit kepala juga dan Anda mungkin ingin membangun solusi untuk menghasilkan file itu untuk Anda .....
sumber
Saya harap tautan ini lebih baik dibaca: 10.000 basis data pada kluster PostgreSQL oleh Jon Jensen, 2008.
Satu kutipan:
sumber