Наш продукт основан на Microsoft SQL Server. В настоящее время мы используем три базы данных и всегда разворачиваем их на одном экземпляре SQL Server.
Три базы данных - это OLTP, OLAP и аудит. База данных OLAP содержит массивные входящие данные о EOD как из OLTP, так и из аудита, используя перекрестные запросы к базе данных.
Вопросов
Если бы мы развернули эти три базы данных на трех отдельных экземплярах Standard Edition на одном физическом сервере и связали их вместе с помощью функции связанного сервера SQL Server:
- Насколько прозрачным это будет для кода приложения? Сколько изменений я должен ожидать?
- Входящие данные в OLAP составляли строки 50–100 тыс., Полезная нагрузка 200–500 МБ на EOD. Какое падение производительности следует ожидать?
- Какие еще большие ограничения мне следует ожидать?
Фон
В настоящее время мы представляем наш потенциально первый клиент с более чем 500 одновременными пользователями.
Мы разрабатываем спецификацию сервера, которая включает 64 ядра и 256 ГБ оперативной памяти. Чтобы SQL Server использовал все эти обильные ресурсы, клиент должен будет купить Enterprise Edition, который для SQL Server 2016 доступен только для лицензирования на уровне ядра.
Мы опасаемся, что только стоимость лицензирования (64 x 7400 долларов США) приведет к их снижению. Поэтому я подумываю разделить базу данных на три экземпляра Standard Edition и связать их вместе, надеясь, что функция связывания будет прозрачна для кода приложения.