PERF03-BP04 データストアのクエリパフォーマンスを向上させるための戦略を実装する
データを最適化し、データクエリを改善する戦略を実装して、ワークロードのスケーラビリティとパフォーマンスを向上させます。
一般的なアンチパターン:
-
データストア内のデータをパーティション化しない。
-
データストアへのデータの格納に 1 つのファイル形式のみを使用する。
-
データストアでインデックスを使用しない。
このベストプラクティスを活用するメリット: データとクエリのパフォーマンスを最適化することで、効率性の向上、コストの削減、ユーザーエクスペリエンスの改善につながります。
このベストプラクティスを活用しない場合のリスクレベル: 中
実装のガイダンス
データ最適化とクエリチューニングはデータストアのパフォーマンス効率の重要な側面であり、クラウドワークロード全体のパフォーマンスと応答性に影響を与えます。クエリが最適化されていないと、リソースの使用量が増え、ボトルネックが発生し、データストアの全体的な効率が低下する可能性があります。
データ最適化には、効率的なデータストレージとアクセスを確保する手法がいくつかあります。これは、データストアでのクエリパフォーマンスの向上にも役立ちます。主な戦略には、データのパーティション化、データ圧縮、データ非正規化などがあり、ストレージとアクセスの両方でデータを最適化するのに役立ちます。
実装手順
-
データストアで実行される重要なデータクエリを把握して分析します。
-
データストア内で処理速度の遅いクエリを特定し、クエリプランを使用して現在の状態を把握します。
-
クエリのパフォーマンスを向上させるための戦略を実装します。主な戦略には次のものがあります。
-
列ファイル形式 (Parquet や ORC など) を使用します。
-
データストア内のデータを圧縮して、ストレージ容量と I/O 操作を削減する。
-
データのパーティション化によりデータを細かく分割し、データスキャン時間を短縮する。
-
クエリでよく使用される列にデータインデックスを作成する。
-
頻繁に実行するクエリにはマテリアライズドビューを使用する。
-
クエリに適した結合操作を選択する。2 つのテーブルを結合する場合、結合の左側に大きい方のテーブルを指定し、結合の右側に小さい方のテーブルを指定します。
-
分散キャッシュソリューションでレイテンシーを改善し、データベースの I/O 操作の数を減らす。
-
-
非運用環境で実験し、戦略をテストする。
リソース
関連ドキュメント:
関連動画:
関連する例: