Notre produit est basé sur Microsoft SQL Server. Actuellement, nous utilisons trois bases de données et les avons toujours déployées sur une seule instance SQL Server.
Les trois bases de données sont OLTP, OLAP et audit. La base de données OLAP contient des données entrantes massives sur EOD provenant à la fois d'OLTP et d'audit, à l'aide de requêtes de bases de données croisées.
Des questions
Si nous devions déployer ces trois bases de données sur trois instances Standard Edition distinctes à l' intérieur d'un même serveur physique, et les lier ensemble à l'aide de la fonction de serveur lié de SQL Server:
- Quelle sera la transparence du code d'application? À quel changement dois-je m'attendre?
- Les données entrantes vers OLAP représentaient 50 à 100 000 lignes, 200 à 500 Mo de charge utile par EOD. Quelle baisse de performances dois-je attendre?
- À quelles autres grandes limitations dois-je m'attendre?
Contexte
Actuellement, nous présentons notre premier client potentiel avec plus de 500 utilisateurs simultanés.
Nous rédigeons une spécification de serveur, qui comprend 64 cœurs et 256 Go de RAM. Pour que SQL Server utilise toutes ces ressources abondantes, le client devrait acheter Enterprise Edition, qui pour SQL Server 2016 n'est disponible qu'en licence par cœur.
Nous craignons que le coût des licences à lui seul (64 x 7400 $) les fasse baisser. Je pense donc à diviser la base de données en trois instances de l'édition Standard et à les relier ensemble, en espérant que la fonction de liaison sera transparente à partir du code de l'application.