Définition du modèle ThingWorx dans Composer > Stockage des données > Fournisseurs de persistance > Utilisation de Microsoft SQL Server en tant que fournisseur de persistance
Utilisation de Microsoft SQL Server en tant que fournisseur de persistance
Vue d'ensemble
SQL Server est un système de gestion de base de données relationnelle développé par Microsoft. En tant que serveur de base de données, il s'agit d'un logiciel principalement dédié au stockage et à la récupération de données d'autres applications logicielles exécutées sur le même ordinateur ou sur un autre ordinateur via un réseau (y compris Internet).
* 
Consultez la rubrique Configuration requise pour ThingWorx pour plus d'informations sur les versions prises en charge de MSSQL.
* 
Des optimisations ont été apportées à la vitesse d'écriture dans ThingWorx 8.4.0. Par conséquent, vous constaterez peut-être une baisse de performances de certaines API dans MSSQL. Pour plus d'informations, reportez-vous aux Notes de mise à jour de la version 8.4.0.
Les rubriques suivantes sont incluses dans cette section :
Comparaison des éditions de SQL Server
Il existe plusieurs éditions de SQL Server (Entreprise, Standard ou Express), ce qui vous permet de choisir la version la plus adaptée à votre solution de données. La table ci-dessous compare les trois éditions de MSSQL Server.
En général, l'édition Standard de SQL Server est adaptée aux environnements de production, car elle prend en charge la plupart des fonctionnalités requises.
Si votre environnement de production requiert des fonctionnalités de haute disponibilité telles que AlwaysOn et d'autres fonctionnalités comme OLTP en mémoire ou le partitionnement de tables et d'index, l'édition Entreprise de SQL Server est recommandée.
Fonctionnalité
Edition Entreprise
Edition Standard
Edition Express
Taille maximale de base de données relationnelle
524 Po
524 Po
10 Go
Mémoire maximale utilisée (par instance du moteur de base de données de SQL Server)
Système d'exploitation max.
128 Go
1 Go
Groupes de disponibilité AlwaysOn
Oui
Non
Non
Compression de sauvegarde
Oui
Oui
Non
Mise en miroir de bases de données
Oui
Oui
Témoin uniquement
Envoi de journaux
Oui
Oui
Non
Prise en charge de plusieurs instances
50
50
50
Sauvegarde chiffrée
Oui
Oui
Non
Partitionnement de tables et d'index
Oui
Non
Non
Traitement des requêtes parallèles sur les tables et index partitionnés
Oui
Non
Non
Pour obtenir des descriptions détaillées des fonctionnalités prises en charge par les différentes éditions de SQL Server, rendez-vous sur la page suivante :
2014 (pris en charge par les versions antérieures à ThingWorx 8.4) : https://msdn.microsoft.com/en-us/library/ms144275(v=sql.120).aspx
Configuration requise de MSSQL Server
Configuration matérielle et logicielle requise
La configuration minimale requise pour l'édition Express de MSSQL Server peut être consultée sur les pages suivantes :
Pour en savoir plus sur les ressources de dimensionnement de SQL Server, consultez la section Planification de capacité.
Configuration requise du système d'exploitation
Microsoft Windows est le seul système d'exploitation pris en charge pour MS SQL Server. Il est possible que Linux soit pris en charge ultérieurement, bien que le choix du système d'exploitation n'affecte pas ThingWorx. Pour plus d'informations, suivez le lien de la liste ci-dessus vers la page sur la configuration matérielle et logicielle requise pour la version de MS SQL Server que vous utilisez.
Connectivité de ThingWorx à MSSQL Server
ThingWorx se connecte à la base de données MSSQL à l'aide d'un pilote JDBC SQL. Pour plus d'informations sur les propriétés de connexion JDBC, reportez-vous aux pages Web suivantes : https://docs.microsoft.com/fr-fr/previous-versions/sql/sql-server-2008-r2/ms378988(v=sql.105) pour la version 2014 de MS SQL Server, ou https://docs.microsoft.com/fr-fr/sql/database-engine/install-windows/installation-for-sql-server?view=sql-server-2017 pour la version 2017 de MS SQL Server.
Ces propriétés de connexion peuvent être configurées dans le fichier platform-settings.json disponible dans le téléchargement de ThingWorx. Le fichier platform_settings.json contient les propriétés de connexion suivantes :
jdbcUrl : jdbc:sqlserver://localhost:1433;databaseName=thingworx;applicationName=Thingworx;"
Propriétés de connexion :
ServerName : ordinateur exécutant SQL Server (localhost).
PortNumber : port d'écoute utilisé par SQL Server (1433).
DatabaseName : nom de la base de données à laquelle se connecter (ThingWorx).
applicationName : nom de l'application (Thingworx).
Planification de l'installation de MSSQL
MSSQL peut être installé dans les environnements suivants :
Sur site
L'Assistant d'installation de SQL Server fournit une seule arborescence de fonctionnalités pour l'installation de tous les composants de SQL Server, ce qui vous évite d'avoir à les installer individuellement.
Pour plus d'informations, consultez la page https://msdn.microsoft.com/en-us/library/ms143219(v=sql.120).aspx.
Amazon EC2 (SQL Server in Amazon EC2)-
Avec Amazon Web Services, vous pouvez exécuter Microsoft SQL Server autant de temps que nécessaire. Vous avez le choix entre plusieurs versions et éditions, ou encore choisir de l'exécuter sur Amazon Elastic Compute Cloud (Amazon EC2) ou Amazon Relational Database Service (Amazon RDS).
En exécutant SQL Server sur Amazon EC2, vous avez un contrôle complet de ses paramètres, de la même manière qu'une installation sur site.
Informations concernant l'environnement Amazon EC2
Utilisez les infrastructures suivantes dans Amazon EC2 pour les environnements de production :
Matériel dédié
La latence réseau dans une répartition en plusieurs zones de disponibilité croisées peut être six fois supérieure à la latence du réseau dans la configuration Intra-zone. Par conséquent, toutes les machines de la "Zone A - Data Center" doivent résider dans une même zone de disponibilité.
Une région et/ou des zones de disponibilité différentes peuvent être utilisées pour la "Zone B - Data Center" dédiée à la récupération d'urgence. Chaque région est une zone géographique séparée et se compose de plusieurs emplacements isolés appelés zones de disponibilité. Pour plus d'informations, reportez-vous à la page Web http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html.
Amazon EC2 VPC. Déploiement de machines dans un réseau privé virtuel pour obtenir un contrôle total de l'environnement de réseau virtuel, y compris pour la sélection de votre propre plage d'adresses IP, la création de sous-réseaux et la configuration de tables de routage et de passerelles réseau. Pour plus d'informations, reportez-vous à la page Web http://aws.amazon.com/vpc/.
Un groupe de placement est un regroupement logique d'instances Amazon EC2 au sein d'une même zone de disponibilité. L'utilisation de groupes de placement permet aux applications de participer à un réseau 10 Gbits/s à faible latence. Pour plus d'informations, reportez-vous à la page Web https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html.
Les instances lancées dans un groupe de placement du cluster commun sont placées dans un cluster logique qui fournit une mise en réseau à bande passante élevée et à faible latence entre toutes les instances du cluster. Les instances C4, C3, I2, CR1, G2 et HS1 prennent en charge la mise en réseau des clusters, mais pas les instances M3. Reportez-vous à la page Web https://aws.amazon.com/ec2/instance-types/.
Plusieurs interfaces réseau Elastic (ENI) avec plusieurs adresses IP dans le même VPC que le serveur ThingWorx Platform. Reportez-vous à la page Web https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html.
Une machine virtuelle matérielle (HVM) utilise une nouvelle pile de virtualisation réseau qui fournit des performances d'E/S supérieures et sollicite moins le processeur par rapport à des implémentations traditionnelles. Pour tirer parti de la mise en réseau améliorée, un AMI HVM doit être lancé dans un VPC et le pilote approprié doit être installé.
Le stockage éphémère des disques SSD (les volumes EBS ne sont pas recommandés). Les volumes de stockage d'instance qui utilisent les disques SSD sont optimisés pour fournir des performances d'E/S aléatoires très élevées.
Amazon S3 (Simple Storage Service) pour les sauvegardes https://console.aws.amazon.com/s3/home?region=us-east-1#
* 
Si vous n'êtes pas connecté à votre compte Amazon, le suivi de ce lien vous permet d'effectuer une demande de connexion.
Guide de déploiement de MSSQL Server sur AWS : https://aws.amazon.com/windows/products/sql/
Configuration d'un groupe de disponibilité AlwaysOn SQL Server
Pour plus d'informations, consultez la page http://docs.aws.amazon.com/quickstart/latest/sql/part3.html
Amazon EC2 (Microsoft SQL Server on Amazon RDS)-
Microsoft Azure-
Microsoft Azure SQL Database est un service de base de données Cloud géré pour les développeurs d'applications, qui accélère et facilite le développement et la maintenance d'applications.
SQL Azure permet aux organisations de stocker des données relationnelles Cloud et d'adapter la taille de leurs bases de données en fonction des besoins de l'entreprise. Les données sont hébergées, gérées et provisionnés dans les data centers Microsoft.
Les organisations peuvent développer des applications sur site et les déplacer sur SQL Azure ou les concevoir sur Windows Azure et les stocker dans le Cloud. SQL Azure prend en charge le langage de requête Transact-SQL (T-SQL) de SQL Server, offre une prise en charge intégrée de la haute disponibilité et de la tolérance de panne et permet la synchronisation des données entre les bases de données Cloud et SQL Server sur site.
Pour plus d'informations, consultez la page suivante :
Planification de capacité
Pour déterminer si MSSQL Server est la solution la plus adaptée pour vos données, reportez-vous aux sections relatives au dimensionnement et à la planification de la documentation Microsoft suivante :
Configuration matérielle et logicielle requise :
Comprendre SQL Server et les opérations d'E/S par seconde (IOPS)
Lors de la configuration d'un nouveau serveur pour SQL Server ou lors de l'ajout ou de la modification de la configuration du disque d'un système existant, il est recommandé de déterminer la capacité du sous-système d'E/S avant de déployer SQL Server.
Avant d'installer SQL, nous vous recommandons d'effectuer un test d'évaluation du sous-système d'E/S à l'aide de l'outil d'évaluation du sous-système de disque SQLIO.
Pour plus d'informations sur l'utilisation de l'utilitaire SQLIOSim et de SQLIO pour les tests de contrainte, visionnez la vidéo TechNet relative aux tests de contrainte à l'aide de SQLIOSim et SQLIO.
Choisir les types de disques
Les types de disques que vous utilisez dans le système peuvent affecter la fiabilité et les performances.
Utilisez des disques SSD pour le stockage dans SQL Server.
Choisir les types de RAID
Bien que le système RAID ne fasse pas partie de SQL Server, sa mise en oeuvre peut affecter directement les performances de SQL Server. Les niveaux RAID 0, 1 et 5 sont généralement utilisés avec SQL Server.
Limites de capacité de calcul par édition de SQL Server
Pour en savoir plus sur les limites de capacité de calcul, consultez la page suivante :
Spécifications de capacité maximale pour SQL Server
Pour en savoir plus sur les spécifications de capacité maximale, consultez la page suivante :
Bonnes pratiques en matière d'E/S de pré-déploiement
Pour obtenir des bonnes pratiques relatives à SQL Server, consultez la page suivante :