Untuk aplikasi SAAS besar (didukung oleh PostgreSql 9.4), dengan lebih dari 300.000 akun (dan terus bertambah), apa pro dan kontra menggunakan skema per akun untuk mempartisi data vs menempatkan semua data dalam satu skema dan menggunakan kunci asing untuk mempartisi dalam kueri?
Saya tahu di masa lalu pg_dump sangat lambat ketika bekerja dengan banyak skema tetapi tidak yakin apakah itu yang terjadi hari ini. Saya juga menyadari bahwa setiap perubahan dalam struktur database harus dilakukan pada semua skema. Dan saya tahu bahwa di sisi positifnya, memindahkan skema dari satu server fisik ke server fisik lainnya itu mudah, serta memulihkan skema dari cadangan, belum lagi masuk akal untuk mem-partisi data seperti itu.
Jadi apa pro dan kontra yang saya lewatkan?
Jawaban:
Jelas, Anda berhadapan dengan tabel yang sama di setiap skema pengguna. Sudahkah Anda mempertimbangkan warisan untuk ini? Ini dapat memberi Anda yang terbaik dari kedua dunia untuk beberapa kasus penggunaan. Ada juga beberapa batasan . Anda dapat memiliki skema terpisah untuk setiap pengguna dan masih mencari semua tabel pengguna sekaligus dengan sangat mudah.
Terkait:
Selain itu, setidaknya pemberian / pencabutan hak istimewa harus disebutkan, yang jauh lebih sederhana dengan skema terpisah.
sumber