Composer での ThingWorx モデルの定義 > データストレージ > 永続化プロバイダ > 永続化プロバイダとしての Microsoft SQL Server の使用
永続化プロバイダとしての Microsoft SQL Server の使用
概要
SQL Server は Microsoft によって開発されたリレーショナルデータベース管理システムです。これはデータベースサーバーなので、ほかのソフトウェアアプリケーションによってリクエストされたデータを保存および取得することが主な機能であるソフトウェア製品であり、同じコンピュータ上またはネットワーク (インターネットを含む) を介して別のコンピュータ上で動作できます。SQL Server は DBA によって定義されている通常のデータベース管理手順を使用して管理する必要があります。
* 
サポートされている MSSQL のバージョンについては、「ThingWorx システムの要件」を参照してください。
このセクションには以下のトピックが含まれています。
SQL Server のエディションの比較
SQL Server には Enterprise、Standard、Express という複数のエディションがあり、ご自分のデータソリューションに最適なエディションを選択できます。以下の表で、MS SQL Server の 3 つのエディションを比較しています。
一般的に、SQL Standard Edition では必要なほとんどの機能がサポートされるので、本番環境にはこれが適しています。
本番環境で AlwaysOn などの高可用性機能やインメモリ OLTP、テーブルとインデックスのパーティション分割などのその他の機能を必要とする場合、SQL Enterprise Edition が推奨されます。
機能
Enterprise Edition
Standard Edition
Express Edition
リレーショナルデータベースの最大サイズ
524 PB
524 PB
10 GB
使用される最大メモリ (SQL Server データベースエンジンのインスタンスあたり)
オペレーティングシステムの最大
128 GB
1 GB
AlwaysOn 可用性グループ
はい
いいえ
いいえ
バックアップ圧縮
はい
はい
いいえ
データベース監視
はい
はい
監視のみ
ログ配布
はい
はい
いいえ
マルチインスタンスのサポート
50
50
50
暗号化されたバックアップ
はい
はい
いいえ
テーブルとインデックスのパーティション分割
はい
いいえ
いいえ
パーティション分割されたテーブルおよびインデックスに対する並列クエリー処理
はい
いいえ
いいえ
SQL Server の各種エディションでサポートされる機能の詳細については、以下を参照してください。
MSSQL Server の要件
ハードウェアとソフトウェアの要件
MS SQL Server Express Edition の最小要件は以下に記載されています。
運用のための SQL Server のリソースのサイジングについては、容量計画のセクションを参照してください。
オペレーティングシステムの要件
Microsoft Windows は MSSQL Server がサポートされている唯一のオペレーティングシステムです。Linux が将来的にサポートされる可能性がありますが、どのオペレーティングシステムを選択しても ThingWorx には影響がありません。詳細については、上記のリンクに従って、使用している MS SQL Server のバージョンの Microsoft ハードウェアとソフトウェアの要件ページを参照してください。
MSSQL Server への ThingWorx の接続性
ThingWorx は SQL JDBC ドライバーを使用して MSSQL データベースに接続します。JDBC 接続プロパティの詳細については、次の https://docs.microsoft.com/en-us/sql/database-engine/install-windows/installation-for-sql-server?view=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 コンポーネントをインストールするための単一の機能ツリーが提供されるので、各機能を個別にインストールする必要がありません。
詳細については、https://msdn.microsoft.com/en-us/library/ms143219(v=sql.120).aspx を参照してください。
Hardware Virtual Machine (HVM) は、従来の実装と比較して I/O パフォーマンスが高く CPU 利用率が低い新規ネットワーク仮想化スタックを使用します。拡張ネットワーキングを利用するためには、HVM AMI を VPC で起動し、適切なドライバーをインストールしなければなりません。
SSD エフェメラルストレージ (EBS ボリュームは推奨されません)。SSD ベースのインスタンスストレージは非常に高いランダム I/O パフォーマンスを得るために最適化されています。
Amazon Simple Storage Service (Amazon S3) https://console.aws.amazon.com/s3/home?region=us-east-1#
* 
Amazon アカウントにログインしていない場合、このリンクをクリックするとログインするよう求められます。
SQL Server AlwaysOn 可用性グループの設定
詳細については、http://docs.aws.amazon.com/quickstart/latest/sql/part3.html を参照してください。
Microsoft Azure -
Microsoft Azure SQL データベースはアプリケーション開発者のための管理されたクラウドデータベースであり、アプリケーションの構築と管理をより簡単かつ生産的に行えます。
SQL Azure を使用することで、組織はリレーショナルデータをクラウドに保存し、ビジネスニーズの変化に従ってデータベースのサイズを速やかに増減できます。データは Microsoft データセンターでホスト、管理、およびプロビジョニングされます。
組織はアプリケーションをオンプレミスで構築して SQL Azure に移動することも、Windows Azure 上で構築してデータをクラウドに保管することもできます。SQL Azure は SQL Server の Transact-SQL (T-SQL) クエリー言語をサポートし、高可用性およびフォールトトレランスの組み込みサポートを提供し、オンプレミス SQL Server データベースとクラウドデータベースとの間でデータの同期化を可能にします。
その他の詳細については、以下を参照してください。
容量計画
MSSQL Server がご自分のデータに適したソリューションであるかどうかを判断するには、以下の 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 の動作に直接影響が生じることがあります。SQL Server では通常は RAID レベル 0、1、および 5 が使用されます。
SQL Server のエディション別の計算能力の上限
計算能力の上限については、以下を参照してください。
SQL Server の最大容量の仕様
容量の上限については、以下を参照してください。
展開前の I/O に関する最良事例
SQL Server の最良事例については、以下のアーティクルを参照してください。
MSSQL の制限事項
MSSQL では、CONCAT 関数に 2 個以上、254 個未満の引数が必要です。
ThingWorx は、CONCAT 関数を使用して、データテーブルエントリの追加や更新などのインスタンスに対して MSSQL クエリーを実行します。CONCAT 関数に渡されるデータシェイプに 254 個以上のフィールドがある場合、次のエラーが発生します。
com.microsoft.sqlserver.jdbc.SQLServerException: The concat function requires 2 to 254 arguments.
CONCAT 関数の詳細については、「CONCAT (Transact-SQL) - SQL Server」を参照してください。
これは役に立ちましたか?