データ処理
取得とビジュアリゼーションの間に、ThingWorx Platform はアプリケーションのビジネスロジックとデータ変換のニーズを実行するための十分なシステムリソースも必要とします。
このセクションでは、データ処理の要件に影響を与える可能性がある、さらに重要な領域の概念について説明します。データ処理は個々のビジネスユースケースによってまったく異なるので、標準化された計算はあまり役立ちません。
取得とビジュアリゼーションの見積りを行った後、アプリケーションの負荷/ストレステストを実施することは、本番環境に移行する前の重要なステップであり、アプリケーションが複雑なビジネスロジックやイベント/アラート処理のためにより多くのリソースを必要とする場合に、ベースラインとは異なるサイズのシステムを選択できるようになります。
購読とイベント
タイマーイベントとプロパティ変更イベントの購読は、多くの場合、ThingWorx アプリケーションにおけるビジネスロジックの大部分を構成します。これらの購読は、取得とデバイス接続に使用されないシステムであるイベント処理サブシステムのメモリを使用します。
安定した取得とデバイス接続のためにシステムをサイジングした後、ビジネスロジックによる負荷テストを実施することは、本番環境での使用をサポートするためにシステムを適切にサイジングするための重要なステップです。
ファイルの転送と管理
Edge デバイスとの間のファイルの転送は、ThingWorx アプリケーションのユースケースに共通の要件です。
ソフトウェアアップデートをデプロイする
ログファイルにアクセスする/トラブルシューティングする
画像や PDF などのファイルを受信して機能とパフォーマンスをチェックする
多数のファイルの同時転送や大きなファイルの転送が想定される場合、この負荷を処理するために追加のプラットフォームメモリが必要になることがあります。
ThingWorx の高可用性要件
高可用性構成でデプロイされている場合 (ThingWorx 高可用性のセクションを参照)、高可用性リレーショナルデータベース構成が使用されることがよくあります。
この構成ではシステム障害によるダウンタイムが防止されますが、書き込みパフォーマンスが若干低下する可能性もあります。
これに対処するには、データ取得計算から予想される WPS が必要な構成のしきい値に近い場合、次のサイズのシステム構成を検討してください。
トンネルおよびサードパーティツール
多くのビジネスユースケースでは Edge デバイスへのトンネリングセッションが利用されるので、WebSocket 接続を開いてセッション全体で維持する必要があります。
同様に、サードパーティツール (SCADA、ERP、その他の統合バックオフィスアプリケーションなど) でもプラットフォームへの WebSocket 接続が使用される場合があります。
これらのツールが REST API 呼び出しを使用して ThingWorx にアクセスしている場合、データビジュアリゼーション用に計算した 1 秒当りの HTTP リクエストの数が増えます。
各 WebSocket 接続ではプラットフォーム上にメモリが必要なので、多数の同時トンネリングセッションや REST API リクエストが見込まれる場合には、プラットフォームへの総メモリ割当量 (または選択する VM のサイズ/クラス) を増やすことを検討してください。
データの保持、集約、アーカイブ
ほとんどの場合、履歴データはデータ処理 (ビジネスロジックがどこまで遡って処理するか) とデータビジュアリゼーション (ユーザーがどこまで遡って閲覧するか) の両方で必要となります。
プラットフォームに保存される履歴データの量は、データベースとプラットフォームシステムの両方のサイジングに影響します。大規模なデータソース (ストリーム、データテーブル、値ストリーム) では、データベースからのクエリーに必要なトランザクションが長くなります。こうした長いトランザクションによって、ストリームや値ストリームのキューがいっぱいになって追加のメモリが使用されることもあります。
1 つのデータソースに含まれるエントリが多くなりすぎないようにデータを集約することを強くお勧めします (詳細についてはこの最良事例ガイドを参照してください)。大量の履歴データが必要な場合や、大量の取得データを長期間保持する必要がある場合には、より堅牢なデータベースソリューションを検討してください。以下のデータベースオプションの詳細を参照してください。
H2 - 小規模なインメモリデータベース。開発システムと小規模システムに最も適しています。中規模以上の実装には適しません。
* 
H2 は本番環境の ThingWorx システムには推奨されていません。
Microsoft SQL Server - 開発システムまたは生産システムでの ThingWorx データモデル、ストリーム、値ストリームの管理に使用可能な、堅牢で成熟したリレーショナルデータベース。これは小規模、中規模、および大規模実装すべてに対応できます。
PostgreSQL - SQL Server と同様に、PostgreSQL はすべてのサイズの本番環境で使用可能なリレーショナルデータベースです。SQL Server と PostgreSQL のどちらを選択するかは、一般に、データベースまたはオペレーティングシステムでのこれまでの IT の経験によって決まります。
InfluxDB - 開発システムと生産システムでの ThingWorx ストリームと値ストリームの大量取得に最適な時系列データベース。ThingWorx データモデルはリレーショナルデータベース (Microsoft SQL Server または PostgreSQL) で管理されます。
* 
ThingWorx はオープンソースの単一サーバーバージョンの InfluxDB とともに使用することも、InfluxDB Enterprise クラスタとともに使用して高可用性を実現し、パフォーマンスを向上させることもできます。このガイドのテストではオープンソースバージョンが使用されています。
これは役に立ちましたか?