Saya sedang menyiapkan sistem SaaS, di mana kami berencana untuk memberikan masing-masing pelanggan database mereka sendiri. Sistem sudah diatur sehingga kami dapat dengan mudah mengubah skala ke server tambahan jika bebannya terlalu besar; kami berharap memiliki ribuan, atau bahkan puluhan ribu pelanggan.
Pertanyaan
- Apakah ada batasan praktis pada jumlah micro-database yang dapat / harus Anda miliki pada satu SQL Server?
- Bisakah itu mempengaruhi kinerja server?
- Apakah lebih baik memiliki 10.000 basis data masing-masing 100 MB, atau satu basis data 1 TB?
Informasi tambahan
Ketika saya mengatakan "micro-databases", saya tidak benar-benar bermaksud "micro"; Maksud saya, kami menargetkan ribuan pelanggan, sehingga setiap basis data individual hanya akan menjadi seperseribu atau kurang dari total penyimpanan data. Pada kenyataannya, setiap basis data akan berada di sekitar tanda 100MB, tergantung pada seberapa banyak penggunaannya.
Alasan utama untuk menggunakan 10.000 basis data adalah untuk skalabilitas. Faktanya adalah, V1 dari sistem memiliki satu basis data, dan kami memiliki beberapa momen yang tidak nyaman ketika DB berusaha keras.
Itu menegangkan CPU, memori, I / O - semua hal di atas. Meskipun kami memperbaiki masalah itu, mereka membuat kami menyadari bahwa pada titik tertentu, bahkan dengan pengindeksan terbaik di dunia, jika kami sesukses yang kami harapkan, kami tidak dapat menempatkan semua data kami dalam satu tanda besar. 'database. Jadi untuk V2 kami sangat sibuk, sehingga kami dapat membagi beban antara beberapa server DB.
Saya telah menghabiskan tahun terakhir mengembangkan solusi ini. Ini satu lisensi per server, tetapi bagaimanapun juga sudah diurus karena kami menggunakan VM di Azure. Alasan pertanyaan yang muncul sekarang adalah karena sebelumnya kami hanya menawarkan ke lembaga besar dan mendirikan masing-masing sendiri. Pesanan bisnis kami berikutnya adalah model layanan mandiri di mana siapa pun yang memiliki browser dapat mendaftar dan membuat database sendiri. Database mereka akan jauh lebih kecil dan lebih banyak daripada institusi besar.
Kami mencoba Azure SQL Database Elastic Pools . Kinerja sangat mengecewakan, jadi kami kembali ke VM biasa.