Definición del modelo de ThingWorx en Composer > Almacenamiento de datos > Proveedores de persistencia > Utilización de Microsoft SQL Server como proveedor de persistencia
Utilización de Microsoft SQL Server como proveedor de persistencia
Resumen
SQL Server es un sistema de gestión de bases de datos relacionales desarrollado por Microsoft. Como servidor de base de datos, es un producto de software con la función principal de almacenar y recuperar datos según las solicitudes de otras aplicaciones de software, que pueden ejecutarse en el mismo ordenador o en otro, a través de una red (incluida Internet).
* 
Consulte el documento Requisitos del sistema ThingWorx Requisitos del sistema 8.5 para ver las versiones soportadas de MSSQL.
* 
Se han realizado optimizaciones del rendimiento de la escritura en ThingWorx 8.4.0. Como resultado, algunas API pueden tener un rendimiento reducido en MSSQL. Para obtener más información, consulte Notas de la versión 8.4.0.
En esta sección se incluyen los siguientes temas:
Comparación de las ediciones de SQL Server
Existen varias ediciones de SQL Server entre las que se puede elegir la que se adapte mejor a la solución de datos: Enterprise, Standard o Express. En la siguiente tabla se comparan las tres opciones de ediciones de MS SQL Server.
Por lo general, SQL Standard Edition es apta para entornos de producción, ya que soporta la mayoría de las funciones necesarias.
Si el entorno de producción requiere funciones de alta disponibilidad, tales como AlwaysOn y otras funciones, como OLTP en memoria, partición de tablas e índices, se recomienda SQL Enterprise Edition.
Función
Enterprise Edition
Standard Edition
Express Edition
Tamaño máximo de base de datos relacional
524t PB
524t PB
10 GB
Memoria máxima utilizada (por instancia de Motor de base de datos de Microsoft SQL Server)
Sistema operativo máximo
128 GB
1GB
Grupos de disponibilidad de AlwaysOn
No
No
Compresión de copia de seguridad
No
Creación de copia simétrica de base de datos
Solo auxiliar
Envío de registros
No
Soporte de varias instancias
50
50
50
Copia de seguridad cifrada
No
Partición de tabla e índice
No
No
Procesamiento de consultas paralelas en tablas e índices particionados
No
No
Para obtener descripciones detalladas sobre las funciones que soportan las distintas ediciones de SQL Server, consulte lo siguiente:
2014 (soportado en versiones anteriores a ThingWorx 8.4): https://msdn.microsoft.com/en-us/library/ms144275(v=sql.120).aspx
Requisitos de MSSQL Server
Requisitos de hardware y software
Los requisitos mínimos para MS SQL Server Express Edition se encuentran en las siguientes ubicaciones:
Para obtener los recursos de tamaño de SQL Server para la producción, consulte la sección Planificación de capacidad.
Requisitos del sistema operativo
Microsoft Windows es el único sistema operativo soportado para MSSQL Server. Puede que Linux se soporte en el futuro, aunque la elección del sistema operativo no afecta a ThingWorx. Para obtener más información, pulse en el enlace de la lista anterior a la página de requisitos de software y hardware de Microsoft para la versión de Microsoft SQL Server que se está utilizando.
Conectividad de ThingWorx con MSSQL Server
ThingWorx se conecta a la base de datos de MSSQL mediante un controlador JDBC de SQL. Para obtener más información sobre las propiedades de conexión de JDBC, consulte lo siguiente: https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms378988(v=sql.105) para la versión 2014 de MS SQL Server o https://docs.microsoft.com/en-us/sql/database-engine/install-windows/installation-for-sql-server?view=sql-server-2017 para la versión 2017 de MS SQL Server.
Estas propiedades de conexión se pueden configurar en el fichero platform-settings.json que está disponible en el software descargado de ThingWorx. En el fichero platform_settings.json se incluyen las siguientes propiedades de conexión:
jdbcUrl: jdbc:sqlserver://localhost:1433;databaseName=thingworx;applicationName=Thingworx;"
Propiedades de conexión:
ServerName: el ordenador que ejecuta SQL Server (localhost).
PortNumber: el puerto en el que SQL Server escucha (1433).
DatabaseName: el nombre de la base de datos a la que se debe conectar (ThingWorx).
applicationName: el nombre de la aplicación (Thingworx).
Planificación de la instalación de MSSQL
La instalación de MSSQL se puede realizar en los siguientes entornos:
Localmente
en el Asistente para la instalación de SQL Server se proporciona un único árbol de funciones para la instalación de todos los componentes de SQL Server de modo que no sea necesario instalarlos individualmente.
Amazon EC2 (SQL Server en Amazon EC2):
Amazon Web Services ofrece la flexibilidad de ejecutar Microsoft SQL Server durante todo el tiempo que sea necesario. Se puede seleccionar entre varias versiones y ediciones, así como elegir entre la ejecución en Amazon Elastic Compute Cloud (Amazon EC2) o Amazon Relational Database Service (Amazon RDS).
El uso de SQL Server en Amazon EC2 permite controlar completamente toda la configuración, de manera similar a cuando está instalado localmente.
Especificaciones del entorno de Amazon EC2
Utilice las siguientes instalaciones de Amazon EC2 para entornos de producción:
Hardware dedicado
La latencia de red de zonas de disponibilidad cruzada puede ser seis veces superior a la latencia de red intrazona. Por lo tanto, todos los ordenadores de la "Zona A: centro de datos" deben residir en una sola zona de disponibilidad.
Diferentes zonas de disponibilidad o una región para la "Zona B: centro de datos" para la recuperación ante desastres. Cada región es un área geográfica independiente y tiene varias ubicaciones aisladas, conocidas como zonas de disponibilidad. Para obtener más información, consulte http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html.
Amazon EC2 VPC. Implementación de ordenadores en una red privada virtual para obtener el control completo sobre el entorno de red virtual, incluida una selección de un rango de direcciones IP propio, la creación de subredes y la configuración de las tablas de rutas y gateways de red. Para obtener más información, consulte http://aws.amazon.com/vpc/.
Un grupo de colocación es una agrupación lógica de instancias de Amazon EC2 dentro de una única zona de disponibilidad. El uso de grupos de colocación permite a las aplicaciones participar en una red de baja latencia de 10 Gbps. Para obtener más información, consulte https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html.
Las instancias que se inician en un grupo de colocación de clúster común se colocan en un clúster lógico que proporciona una red de ancho de banda alto y de baja latencia entre todas las instancias del clúster. Las instancias C4, C3, I2, CR1, G2 y HS1 soportan redes de clúster, pero las instancias M3 no. Consulte https://aws.amazon.com/ec2/instance-types/.
Varias interfaces de red elásticas (ENI) con varias direcciones IP en la misma VPC que el servidor ThingWorx Platform. Consulte https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html.
La máquina virtual de hardware (HVM) utiliza una nueva pila de virtualización de red que proporciona un rendimiento de E/S mayor y un uso menor de la CPU en comparación con las implementaciones tradicionales. Para aprovechar las ventajas de la mejora de la red, se debe iniciar una HVM AMI en una VPC e instalar el controlador adecuado.
Almacenamiento efímero SSD (no se recomienda el uso de volúmenes EBS). El almacenamiento de instancias con copia de seguridad en SSD se ha optimizado para un rendimiento muy alto de E/S aleatoria.
S3 Simple Storage Service para copias de seguridad https://console.aws.amazon.com/s3/home?region=us-east-1#
* 
Si no se ha iniciado sesión en la cuenta de Amazon, al seguir este enlace se le pedirá al usuario que inicie sesión.
Una guía para implementar MS SQL Server en AWS: https://aws.amazon.com/windows/products/sql/
Configuración de un grupo de disponibilidad AlwaysOn de SQL Server
Consulte lo siguiente para obtener más información: http://docs.aws.amazon.com/quickstart/latest/sql/part3.html
Amazon EC2 (Microsoft SQL Server en Amazon RDS):
Microsoft Azure:
Microsoft Azure SQL Database es una base de datos de nube gestionada para desarrolladores de aplicaciones, que hace que la creación y el mantenimiento de las aplicaciones resulte más fácil y productivo.
SQL Azure permite a las organizaciones almacenar datos relacionales en la nube y escalar rápidamente el tamaño de sus bases de datos a medida que cambian las necesidades del negocio. Los datos se alojan, gestionan y aprovisionan en los centros de datos de Microsoft.
Las organizaciones pueden crear aplicaciones locales y moverlas a SQL Azure o crearlas en Windows Azure y conservar los datos en la nube. SQL Azure soporta el lenguaje de consultas Transact-SQL (T-SQL) de SQL Server, ofrece soporte integrado para alta disponibilidad y tolerancia a fallos, y permite que los datos se sincronicen entre las bases de datos de SQL Server local y de nube.
Consulte lo siguiente para obtener más información:
Planificación de capacidad
Para determinar si MSSQL Server es la solución correcta para los datos, consulte las secciones de tamaño y planificación de la siguiente documentación de Microsoft:
Requisitos de hardware y software:
Información sobre SQL Server y IOPS
Al configurar un servidor nuevo para SQL Server o al añadir o modificar la configuración de disco de un sistema existente, se recomienda determinar la capacidad del subsistema de E/S antes de implementar SQL Server.
Antes de instalar SQL, se recomienda crear una referencia comparativa del subsistema de E/S con la herramienta de referencia comparativa de subsistema de disco SQLIO.
Para obtener información sobre cómo utilizar la utilidad SQLIOSim y SQLIO para las pruebas de estrés, consulte el vídeo de TechNet Stress testing using SQLIOSIM and SQLIO.
Elegir los tipos de disco
Los tipos de disco que se utilizan en el sistema pueden afectar a la fiabilidad y el rendimiento.
Utilice unidades de estado sólido (SSD) para el almacenamiento en SQL Server.
Elegir los tipos de RAID
Aunque RAID no forma parte de SQL Server, la implementación de RAID puede afectar directamente al funcionamiento de SQL Server. Los niveles 0, 1 y 5 de RAID se utilizan normalmente con SQL Server.
Calcular los límites de capacidad por edición de SQL Server
Para obtener más información sobre el cálculo de los límites de capacidad, consulte lo siguiente:
Especificaciones de capacidad máxima para SQL Server
Para obtener más información sobre los límites máximos de capacidad, consulte lo siguiente:
Prácticas recomendadas de E/S anteriores a la implementación
Para obtener las prácticas recomendadas de SQL Server, consulte el siguiente artículo: