Я встановлюю систему SaaS, де ми плануємо надати кожному клієнту свою базу даних. Система вже налаштована так, що ми можемо легко масштабувати додаткові сервери, якщо навантаження стане надто великою; ми сподіваємось мати тисячі, а то й десятки тисяч клієнтів.
Запитання
- Чи є якісь практичні обмеження щодо кількості мікробаз, які ви можете / повинні мати на одному SQL сервері?
- Чи може це вплинути на продуктивність сервера?
- Чи краще мати 10 000 баз даних по 100 МБ у кожній або одну базу даних по 1 ТБ?
Додаткова інформація
Коли я кажу "мікробази даних", я не означаю "мікро"; Я просто маю на увазі, що ми націлені на тисячі клієнтів, тому кожна окрема база даних складе лише тисячу чи менше від загального обсягу зберігання даних. Насправді кожна база даних складе близько позначки 100 МБ, залежно від обсягу використання.
Основна причина використання 10 000 баз даних полягає в масштабованості. Факт полягає в тому, що V1 системи має одну базу даних, і у нас були деякі незручні моменти, коли БД напружувалася під навантаженням.
Це напружувало процесор, пам'ять, введення / виведення - все вищезазначене. Незважаючи на те, що ми вирішили ці проблеми, вони дали нам зрозуміти, що в якийсь момент, навіть при найкращому індексуванні в світі, якщо ми настільки ж успішні, як ми сподіваємось, ми просто не можемо скласти всі наші дані в один великий гонкін 'база даних. Отже, для V2 ми посилюємо, тому ми можемо розділити навантаження між декількома серверами БД.
Я провів останній рік, розробляючи це осколкове рішення. Це одна ліцензія на один сервер, але все одно, про це ми подбаємо, оскільки ми використовуємо VM на Azure. Причина, що зараз виникає питання, полягає в тому, що раніше ми пропонували лише великим установам і створювали кожну самостійно. Наступне наше замовлення - це модель самообслуговування, де кожен, хто має браузер, може зареєструватися та створити власну базу даних. Їх бази даних будуть набагато меншими та значно чисельнішими, ніж великі установи.
Ми спробували еластичні пули бази даних Azure SQL . Продуктивність була дуже невтішною, тому ми перейшли до звичайних VM.