DataV プロダクトは、主に動的かつリアルタイムなデータ表示シナリオで使用されます。これらのシナリオでは、高頻度のリアルタイムデータクエリが要求され、データアクセスパフォーマンスにも一定の要件があります。ご利用のデータソースへのアクセスが頻繁にタイムアウトする場合、データアーキテクチャ全体を最適化する必要があります。このトピックでは、DataV がデータソースを読み取る際にタイムアウトする一般的な原因と、その解決策について説明します。
SQL を使用してクエリするビジネスデータテーブルが多すぎることによるクエリのタイムアウト
- クエリ条件で使用されるフィールドにインデックスを追加して、スキャン行数を削減します。
- データベースに定期タスクを追加して、必要なビジネスメトリックを計算し、結果テーブルを更新します。DataV コンポーネントは結果テーブルのデータを直接クエリします。これにより、コンポーネントがデータを取得するたびに SQL クエリを再実行する必要がなくなります。
API インターフェイスの内部サービス呼び出しリンクが長いことによるクエリのタイムアウト
- API サービスにキャッシュ領域を設計して、頻繁に使用されるデータを効率的にキャッシュし、複数回の呼び出しによるデータ読み取りの所要時間を短縮します。
- 呼び出しリンクを最適化し、並列で呼び出し可能なプロセスを並列化して、インターフェイスの合計時間を短縮します。
- データ中間レイヤーを追加して、複数のインターフェイス呼び出しの中間リンクを再利用し、システムの消費を削減します。
一般的に、データソースの読み取りが DataV のタイムアウト期間を超えた場合、データクエリメソッドが複雑であることが原因であり、クエリ時間を最適化することで対処できます。具体的な最適化スキームは、クエリ自体の技術的特性、ビジネスデータの論理的関係、および関連する技術フレームワークを組み合わせて検討・設計する必要があります。