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