パフォーマンスの考慮事項

プラットフォームがパフォーマンスに影響を与える可能性があるため、プラットフォームを使用する場合は考慮する必要があります。特に:

  • エンティティごとに多数の属性がパフォーマンスに影響を与える可能性があります。典型的なユースケースには、エンティティごとに数十の属性があります(たとえば10-20)。アプリケーションがより大きな数(エンティティごとに100以上の属性など)を使用する場合は、恐らくそれを避けるためにコンテキスト・モデルを再設計する方法を検討する必要があります。
  • クエリ(サブスクリプションフィルタの一部として、GET /v2/entitiesのような同期または非同期の両方)にパターン(正規表現)とジオロケーションを使用すると、単一クエリよりも多くのコストがかかることに注意してください 。したがって、その不要な使用を避けてください。たとえば、1つのエンティティを取得する GET /v2/entities?idPattern=Room1 は動作しますが、後で同じ結果を達成し、計算上の面ではるかに安価であるため、GET /v2/entities?id=Room1 が有利です。
  • コンテキストのエンティティは、アプリケーション・ドメイン(建物、車、人など)に存在するもの(物理的または論理的なもの)をモデリングする必要がありますが、過渡状態(アラーム、通知、チケットなど)のモデル化には使用しないでください。Context Broker APIはこの種の使用法をサポートしていますが、プラットフォームにいくつかの操作上の問題がある可能性があります(ユーザが一時的なエンティティを適切に管理しない場合)。このトピックの詳細については、このドキュメントで説明します。