アプリケーション開発の最良事例 > アセットのモデリング > 正しいデータストアオプションの決定
正しいデータストアオプションの決定
データストアオプションの決定はアプリケーションごとに行います。アプリケーションに選択するデータストアオプションのプロセスとコストについて考慮する必要があります。複数のデータストアオプションから選択できます。
ThingWorx が使用する内部データベース (PostgreSQL、MS SQL、SAP HANA など)。通常、概算で最大 500 GB のデータストレージでは PostgreSQL が優れたパフォーマンスを発揮します。
* 
H2 は大量のデータをサポートしないので、非運用インスタンスでのみサポートされます。
DataStax Enterprise (DSE) は、1 秒あたりの書き込み回数が、ThingWorx が使用する内部データベースの上限を超える場合に使用します。 ThingWorx サイジング計算機能を参照してください。ThingWorx サーバーのサイジングが完了している場合、 ここでレビューできます。
* 
ThingWorx Platform バージョン 8.5.0 より、DSE は販売されなくなり、今後のリリースでサポートされません。詳細については、 販売終了に関するアーティクルを参照してください。
JDBC コネクタを提供する任意のデータストレージサーバーを使用します。ThingWorx プラットフォームは JDBC ドライバーを使用して Oracle などのリレーショナルデータベースに接続できます。
* 
永続化プロバイダは、データストアへの接続を可能にし、そのデータに対して CRUD 操作を実行できるようにします。永続化プロバイダは ThingWorx におけるエンティティタイプです。永続化プロバイダの詳細については、 ThingWorx モデルとデータの最良事例ガイドを参照してください。
以下のテーブルに、アプリケーションでのデータのタイプに応じて使用するデータストアに関する推奨事項を示します。
データストアのオプション
データのタイプ
リレーショナルデータベース
結合、カーソル、一時テーブルなどの複雑な SQL を使用するデータ。
データベースサーバー上で使用および実行する必要があるデータ間の関連が緩い非時系列データから成る大きなデータセット用。
ThingWorx プラットフォームのデータストレージ (PostgreSQL、MS SQL、SAP HANA など)
単純な履歴データ、時系列データ、または複合計算や再帰的計算を必要としないデータ。
DataStax Enterprise
* 
ThingWorx Platform バージョン 8.5.0 より、DSE は販売されなくなり、今後のリリースでサポートされません。詳細については、 販売終了に関するアーティクルを参照してください。
順次データを含み、データベースサーバー上でデータを実行する必要がない、非時系列データから成る大きなデータセット用。
データストアオプションを選択する際の最良事例
データストアオプションを選択する際には、以下の最良事例を使用します。
以下のいずれかのタスクを実行しなければならない場合、外部データストアのオプションを使用します。
ストリームまたは値ストリームに対して大量のデータをクエリーする
クエリーの結果として数百万行が返される
データベースレベルのカスタムロジックおよび計算を実装する (ストアドプロシージャ、トリガー、結合、リレーショナルデータクエリーなど)。
データレイクとして ThingWorx を使用する
サードパーティのアナリティクスツールやレポートツールと統合する
追加のインデックスおよびデータベースインフラストラクチャを追加する
* 
頻繁にアクセスしない履歴データはアーカイブすることをお勧めします。
保管する必要があるデータの量を決定します。データを小さなデータセット (レコード数が約 100,000 件以下) に保管可能な場合、ThingWorx プラットフォームのストレージを使用します。
アプリケーションのデータの種類を決定します。
データをクエリーする頻度はアプリケーションのパフォーマンスに影響します。データをクエリーする頻度に応じて、以下のいずれかのオプションを使用することをお勧めします。
データを頻繁にクエリーする場合、JDBC コネクタを使用してデータベースをクエリーします。この JDBC コネクタは PostgreSQL または DataStax Enterprise で使用できます。
* 
ThingWorx Platform バージョン 8.5.0 より、DSE は販売されなくなり、今後のリリースでサポートされません。詳細については、 販売終了に関するアーティクルを参照してください。
履歴データをあまり頻繁に取得する必要がない場合、すべてのデータを (データテーブルまたはストリーム内の) 別個の ThingWorx インスタンスまたはデータベースサーバーに移動できます。