データストレージ
データテーブル
データテーブルは標準的なリレーショナルデータベーステーブルとよく似ていますが、そのパフォーマンスは大きく異なります。一般的には、データが 100,000 行より小さい場合にデータテーブルを使用します。これより大きいデータセットには、リレーショナルデータベースを使用し、データベース Thing Template を介して接続する必要があります。データテーブルの列とフィールドはデータシェイプによって定義されます。
* 
データテーブルの詳細については、 モデルとデータの最良事例を参照してください。
データテーブルの用途としては、サイトやクルー向けのメンテナンス作業指示や、製造ライン向けの製造指示があります。このようなデータをデータテーブルに保存することで、データコンシューマ用のカスタムマッシュアップを簡単に作成できます。
データテーブルには以下の定義済みフィールドがあります。
タイムスタンプ: エントリが作成された時刻。データテーブルエントリを追加したときのタイムスタンプを提供することもできます。
* 
各データテーブル Thing サービスには DATETIME 型のタイムスタンプ共通プロパティが事前に定義されています。タイプが異なるタイムスタンプフィールドを定義するカスタムデータシェイプがデータテーブルで使用されている場合、クエリーサービスの実行時にエラーが発生します。
タグ: データテーブルの各エントリにタグを付けることができます。データタグを使用して、特定のランタイムデータをサーチして消費できます。
ソース: データテーブルエントリのソース。これは通常、データテーブルに書き込みを行う Thing の名前、または外部システムの識別子です。
ソースタイプ: ソースのエンティティタイプ (Thing やユーザーなど)。
場所: データテーブルエントリのソースの場所。
データテーブルのテンプレート
名前
説明
ContentCrawler
コンテンツクローラ Thing を使用して、データのインフォテーブルを返すサービスを別のエンティティに対して呼び出します。返されたデータはコンテンツクローラ Thing のデータテーブルに格納されます。詳細については、 コンテンツクローラを参照してください。
DataTable
非時系列データが格納されます。詳細については、以下を参照してください。
RemoteDataTable
別の ThingWorx サーバー上で実行してデータを永続化するデータテーブル Thing へのローカルプロキシオブジェクトを作成します。詳細については、 Remote Thingを参照してください。
インデックス設定のコンフィギュレーション
データテーブルのコンフィギュレーションによって、追加のテーブルインデックスを定義できます。これはリレーショナルデータベースとほぼ同じであり、プライマリキーに加え (プライマリキーはデータシェイプで定義します)、その他のフィールドに基づいてテーブルをクエリーする必要があります。一般的に使用するフィルタ基準のセットごとにインデックスを作成する必要があります。これはクエリーのパフォーマンスに大きな影響を与えます。
* 
1 つまたは複数の新しいインデックスを追加する際には、新しい定義に従ってデータがインデックシングされるようにするため、データテーブルに対して Reindex サービスを実行する必要があります。大きなデータテーブルではこれに数分かかることがあります。
販売注文の例について見てみましょう。SalesOrderID (primary key) CustomerName CustomerRegion OrderAmount SalesRep DueDate のような販売注文データテーブルがあるとします。
データシェイプを作成してプライマリキーを定義すると、SalesOrderID のテーブルインデックスが自動的に作成されます。しかし、実際には、プライマリキー以外の列によってテーブルをクエリーすることがあります。
* 
複合インデックスは、セミコロンで区切った 2 つのフィールド名から成ります。これは必須のフォーマットであり、スペースが含まれていてはなりません。
以下のような 2 つの一般的なクエリーがあります。
1. CustomerName = 'Some Customer Name' であるテーブルデータを取得
2. SalesRep = 'rep name' AND CustomerRegion = 'Northeast Region' であるテーブルデータを取得
この例では、2 つのインデックス (一般的なクエリーそれぞれに 1 つずつ) を作成します。インデックス名は任意です。これはセマンティック名であり、クエリーの実行では使用されません。このため、インデックスは次のようになります: Index Name Index Field Names Customer CustomerName RepRegion SalesRep;CustomerRegion
永続化プロバイダのカスタム設定のコンフィギュレーション
名前
デフォルト値
データテーブルのバケット数
3
関連リンク