Composer 中的 ThingWorx 模型定义 > 数据存储 > 持久化方案提供工具 > 使用 Microsoft SQL Server 持久化方案提供工具
使用 Microsoft SQL Server 持久化方案提供工具
概述
SQL Server 是由 Microsoft 开发的关系数据库管理系统。作为数据库服务器,这一款软件产品的主要功能是按照其他软件应用程序的请求对数据进行存储和检索,其他应用程序可以在同一台计算机上运行或在网络 (包括 Internet) 中的另一台计算机上运行。
* 
有关受支持的 MSSQL 版本,请参阅 ThingWorx 系统要求文档。
* 
在 ThingWorx 8.4.0 中进行了写入性能优化。因此,某些 API 的性能在 MSSQL 中可能会降低。有关详细信息,请参阅 版本 8.4.0 发行说明
本部分包括以下主题:
SQL Server 版本比较
您可以从多个 SQL Server 版本中进行选择,以使其最适合您的数据解决方案:Enterprise、Standard 或 Express。下表对 MS SQL Server 的三个版本进行了比较。
SQL Standard Edition 通常适用于生产环境,原因在于它支持所需要的大部分功能。
如果生产环境需要高可用性功能 (例如 AlwaysOn) 以及其他功能 (例如内存 OLTP、表和索引分区等),则建议您使用 SQL Enterprise Edition。
功能
Enterprise Edition
Standard Edition
Express Edition
最大关系数据库大小
524 PB
524 PB
10 GB
使用的最大内存 (SQL Server 数据库引擎的每个实例)
操作系统最大内存
128 GB
1GB
AlwaysOn 可用性组
备份压缩
数据库镜像
仅见证服务器
日志传送
多实例支持
50
50
50
加密备份
表和索引分区
对已分区的表和索引进行并行查询处理
有关不同版本 SQL Server 所支持功能的详细说明,请参阅以下内容:
2014 (支持 ThingWorx 8.4 之前的版本): https://msdn.microsoft.com/en-us/library/ms144275(v=sql.120).aspx
MSSQL 服务器要求
硬件和软件要求
MS SQL Server Express Edition 最低要求位于:
有关用于生产的 SQL Server 大小调整资源,请参阅 容量计划部分。
操作系统要求
Microsoft Windows 是 MSSQL 服务器唯一支持的操作系统。尽管操作系统的选择对 ThingWorx 没有影响,但未来也可能会支持 Linux。有关详细信息,请通过 以上列表中的链接,访问正在使用的 MS SQL Server 版本的 Microsoft 硬件和软件要求页面。
ThingWorx 与 MSSQL 服务器的连接
ThingWorx 使用 SQL JDBC 驱动程序连接到 MSSQL 数据库。有关 JDBC 连接属性的详细信息,请参阅以下内容: https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms378988(v=sql.105) (MS SQL Server 2014 版本),或 https://docs.microsoft.com/en-us/sql/database-engine/install-windows/installation-for-sql-server?view=sql-server-2017 (MS SQL Server 2017 版本)。
这些连接属性可在 ThingWorx 软件下载中提供的 platform-settings.json 文件内进行配置。platform-settings.json 文件包含以下连接属性:
jdbcUrl: jdbc:sqlserver://localhost:1433;databaseName=thingworx;applicationName=Thingworx;"
连接属性:
ServerName - 运行 SQL Server 的计算机 - localhost
PortNumber - SQL Server 正在监听的端口 - 1433
DatabaseName - 要连接的数据库的名称 – Thingworx
applicationName - 应用程序名称 - Thingworx
MSSQL 安装计划
MSSQL 安装可安装在以下环境中:
本地
SQL Server 安装向导可提供用于安装所有 SQL Server 组件的单一功能树,因此可不必单独进行安装。
Amazon EC2 (Amazon EC2 中的 SQL Server)-
借助 Amazon Web 服务,您可以根据所需花费时间长短来灵活地运行 Microsoft SQL Server。可以从多个版本中进行选择,也可以选择在 Amazon Elastic Compute Cloud (Amazon EC2) 或 Amazon Relational Database Service (Amazon RDS) 上运行它。
借助 Amazon EC2 上的 SQL Server,您可以完全控制每个设置,这与本地安装类似。
Amazon EC2 环境详细信息
对于生产环境,使用 Amazon EC2 中的以下功能:
专用硬件
交叉可用区网络延迟是区域内网络延迟的六倍。因此,“区域 A - 数据中心”中的所有计算机都应驻留在单一可用区中。
用于灾难恢复的“区域 B - 数据中心”的不同可用区和/或区域。每个区域都是一个单独的地理区域,具有多个被称为可用区的独立位置。有关详细信息,请参阅 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html
Amazon EC2 VPC。将计算机部署到 Virtual Private Network 中,可获得对虚拟网络环境的完全控制,其中包括选择自己的 IP 地址范围、创建子网以及配置路由表和网络网关。有关详细信息,请参考 http://aws.amazon.com/vpc/
置放群组是 Amazon EC2 实例在单一可用区内的逻辑分组。使用置放群组可使应用程序连接到低延迟的 10 Gbps 网络。有关详细信息,请参阅 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html
归入公用集群置放群组中的实例将被放置到逻辑集群中,从而在集群中的所有实例之间提供高带宽、低延迟的网络连接。C4、C3、I2、CR1、G2 和 HS1 实例支持群集网络,但 M3 实例则不支持。参考 https://aws.amazon.com/ec2/instance-types/
具有多个 IP 地址的多个弹性网络接口 (ENI) 与 ThingWorx Platform 服务器在同一 VPC 中。参考 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html
硬件虚拟机 (HVM) 使用新的网络虚拟化堆栈,与传统实施相比,它可提供更高的 I/O 性能而 CPU 利用率更低。要利用增强联网,应在 VPC 中启动 HVM AMI,并安装相应的驱动程序。
SSD 临时存储 (不推荐使用 EBS 卷)。SSD 支持的实例存储已针对 I/O 性能随机性非常高这一问题进行了优化。
适用于备份的 S3 (Simple Storage Service) https://console.aws.amazon.com/s3/home?region=us-east-1#
* 
如果您未登录到 Amazon 帐户,则在此链接后会要求您进行登录。
在 AWS 上部署 MS SQL Server 的指南: https://aws.amazon.com/windows/products/sql/
配置 SQL Server AlwaysOn 可用性组
有关详细信息,请参阅以下内容: http://docs.aws.amazon.com/quickstart/latest/sql/part3.html
Amazon EC2 (Amazon RDS 上的 Microsoft SQL Server)-
Microsoft Azure-
Microsoft Azure SQL 数据库是适用于应用程序开发人员的托管云数据库,可使得应用程序的构建和维护工作变得更轻松、更高效。
SQL Azure 让组织能够在云中存储关系数据,并在业务需求发生变更时快速调整其数据库的大小。数据将在 Microsoft 数据中心中进行托管、管理和提供。
组织可以在本地构建应用程序,并将其移动到 SQL Azure,也可以在 Windows Azure 上构建应用程序并将数据保存在云中。SQL Azure 支持 SQL Server 的 Transact-SQL (T-SQL) 查询语言、提供高可用性和容错的内置支持,并允许数据在本地 SQL Server 和云数据库之间同步。
有关其他详细信息,请参阅以下内容:
容量计划
要确定 MSSQL 服务器是否为正确的数据解决方案,请参阅以下 Microsoft 文档中的大小和计划部分:
硬件和软件要求:
了解 SQL Server 和 IOPS
为 SQL Server 配置新服务器时,或者,添加或修改现有系统的磁盘配置时,最好在部署 SQL Server 之前确定 I/O 子系统的容量。
在安装 SQL 之前,建议您使用 SQLIO 磁盘子系统基准工具对 I/O 子系统进行基准测试。
有关如何使用 SQLIOSim 实用程序和 SQLIO 进行应力测试的信息,请参阅 TechNet 视频 使用 SQLIOSIM 和 SQLIO 进行应力测试
选择磁盘类型
系统中使用的磁盘类型会影响其可靠性和性能。
在 SQL Server 中使用固态驱动器 (SSD) 进行存储。
选择 RAID 类型
尽管 RAID 不是 SQL Server 的一部分,但实施 RAID 可直接影响 SQL Server 的执行方式。通常,RAID 级别 0、1 和 5 会与 SQL Server 配合使用。
按 SQL Server 版本计算容量限制
如需了解有关计算容量限制的详细信息,请参阅以下内容:
SQL Server 的最大容量规范
如需了解有关最大容量限制的详细信息,请参阅以下内容:
部署前 I/O 最佳做法
有关 SQL Server 的最佳做法,请参阅以下文章: