このトピックでは、AnalyticDB for MySQL で XUANWU_V2 エンジンと コンパクションサービスを使用する方法について説明します。
前提条件
AnalyticDB for MySQL Enterprise Edition、Basic Edition、または Data Lakehouse Edition クラスタが作成されている。
クラスタのマイナーバージョンが 3.2.2.0 以降である。
説明AnalyticDB for MySQL クラスタのマイナーバージョンを表示および更新するには、AnalyticDB for MySQL コンソールにログインし、構成情報 セクションの クラスター情報 ページに移動します。
概要
AnalyticDB for MySQL は、XUANWU 分析ストレージエンジンを使用して、リアルタイムで高スループットの書き込みと高パフォーマンスのクエリを実行します。次世代ストレージエンジンである XUANWU_V2 は、次の機能を提供します。
すべてのデータを Object Storage Service(OSS)に保存し、クラウドディスクをキャッシュとして使用します。これにより、ストレージコストが削減され、クエリパフォーマンスが確保され、より高速なスケールアウト機能とより高いスケーリング効率が提供されます。
次世代の列指向ストレージを提供します。新しいストレージ形式は、メモリ使用量とディスク I/O をより細かく制御し、高度な同時 I/O 操作をサポートし、より少ないメモリリソースを使用します。これにより、クエリのパフォーマンスが向上し、GC(ガベージコレクション)がビジネスに与える影響が軽減されます。
独立したコンパクションサービスを使用して、大量のリソースを消費するコンパクション操作を実行します。これにより、クエリと書き込みの安定性が向上し、より高いコンパクションスループットとより柔軟なリソーススケジューリング機能が提供されます。
制限事項
XUANWU_V2 エンジンは、XUANWU エンジンで使用可能なすべての機能を完全にサポートしているわけではありません。次の表に、2 つのエンジンの比較結果を示します。
比較項目
XUANWU
XUANWU_V2
標準インデックス
デフォルトでは、
INDEX_ALL='Y'を使用して全カラムインデックスが作成されます。デフォルトでは、
INDEX_ALL='N'を使用してプライマリキーのインデックスのみが作成されます。説明全カラムインデックスを作成および変更する方法は次のとおりです。
テーブルを作成する前に、クラスタレベルで
SET ADB_CONFIG XUANWUV2_DEFAULT_INDEX_ALL=true文を実行して、既存のテーブルと新しいテーブルの全カラムインデックスを作成します。テーブルを作成するときに、CREATE TABLE 文に
INDEX_ALL='Y'を指定して、既存のテーブルの全カラムインデックスを作成します。テーブルを作成した後に、ALTER TABLE 文を実行して、既存のテーブルの全カラムインデックスを変更します。
サポートされています
サポートされていません
サポートされています
サポートされていません
サポートされています
サポートされていません
XUANWU エンジンと XUANWU_V2 エンジンを相互に切り替えることはできません。テーブルのテーブルエンジンを変更する場合は、新しいテーブルを作成し、ソーステーブルから新しいテーブルにデータを移行する必要があります。
たとえば、テストテーブルのテーブルエンジンが XUANWU_V2 の場合、XUANWU に変更することはできません。テーブルエンジンが XUANWU のテーブルを作成し、テストテーブルから新しいテーブルにデータを移行することはできます。
課金ルール
デフォルトでは、XUANWU_V2 テーブルのデータはホットデータと見なされ、ホットデータストレージに基づいて課金されます。 XUANWU_V2 テーブルに対してホットデータとコールドデータの階層型ストレージを指定した場合、XUANWU_V2 テーブルのデータはホットデータストレージとコールドデータストレージに基づいて課金されます。 詳細については、「Enterprise Edition および Basic Edition の料金」と「Data Lakehouse Edition の料金」をご参照ください。
AnalyticDB for MySQL コンソールにログインし、[ストレージの概要] ページに移動して、テーブルエンジンが XUANWU_V2 であるテーブルのデータサイズを表示できます。
テーブルエンジンの指定
V3.2.2.0 以降の AnalyticDB for MySQL クラスタの場合、デフォルトのテーブルエンジンは XUANWU_V2 です。テーブルエンジンは、クラスタレベルまたはテーブルレベルで変更できます。
クラスタレベルの構成
クラスタレベルでテーブルエンジンを指定するには、次の文を実行します。
SET ADB_CONFIG RC_DDL_ENGINE_REWRITE_XUANWUV2=false|true;有効な値:
true(デフォルト):既存のテーブルのテーブルエンジンは変更せずに、新しいテーブルのテーブルエンジンを XUANWU_V2 に設定します。テーブルの作成時に
ENGINE=XUANWUを指定した場合でも、テーブルのテーブルエンジンは自動的に XUANWU_V2 に変更されます。説明テーブルエンジンが XUANWU のテーブルを作成する場合は、CREATE TABLE 文に
/* RC_DDL_ENGINE_REWRITE_XUANWUV2=false */ヒントを追加できます。false:既存のテーブルのテーブルエンジンは変更せずに、新しいテーブルのテーブルエンジンを XUANWU に設定します。テーブルエンジンが XUANWU_V2 のテーブルを作成する場合は、
ENGINE=XUANWU_V2を指定するか、CREATE TABLE 文に/* RC_DDL_ENGINE_REWRITE_XUANWUV2=true */ヒントを追加できます。
クラスタレベルでテーブルエンジンをクエリするには、次の文を実行します。
SHOW ADB_CONFIG KEY=RC_DDL_ENGINE_REWRITE_XUANWUV2;テーブルレベルの構成
V3.2.3.1 と V3.2.3.2 を除く V3.2.2.12 以降の AnalyticDB for MySQL クラスタのみが、テーブルレベルの構成をサポートしています。
テーブルレベルの構成は、現在の CREATE TABLE 文にのみ適用され、クラスタレベルの構成よりも優先されます。
/* RC_DDL_ENGINE_REWRITE_XUANWUV2=false|true */有効な値:
true(デフォルト):既存のテーブルのテーブルエンジンは変更せずに、現在実行されている SQL 文によって作成されたテーブルのテーブルエンジンを XUANWU_V2 に設定します。テーブルの作成時に
ENGINE=XUANWUを指定した場合でも、テーブルのテーブルエンジンは自動的に XUANWU_V2 に変更されます。false:既存のテーブルのテーブルエンジンは変更せずに、現在実行されている SQL 文によって作成されたテーブルのテーブルエンジンを XUANWU に設定します。テーブルエンジンが XUANWU_V2 のテーブルを作成する場合は、
ENGINE=XUANWU_V2を指定する必要があります。
ディスクキャッシュ機能を有効にする
ディスクキャッシュ機能を有効にすると、クラスタは自動的に再起動します。この場合、一時的な切断が発生する可能性があります。オフピーク時にディスクキャッシュ機能を有効にし、アプリケーションがクラスタに自動的に再接続するように構成されていることを確認することをお勧めします。
XUANWU_V2 テーブルのコールドデータは OSS に保存されます。ディスクキャッシュ機能を有効にすると、指定されたキャッシュを使用して、XUANWU_V2 テーブルのランダムコールドデータ読み取りパフォーマンスを向上させることができます。指定されたキャッシュサイズに基づいて課金されます。
深刻なパフォーマンス低下を防ぐため、ディスクキャッシュ機能を無効にしないことをお勧めします。
AnalyticDB for MySQL コンソールにログインします。コンソールの左上隅で、リージョンを選択します。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。管理するクラスタを見つけ、クラスタ ID をクリックします。
クラスター情報 ページの 構成情報 セクションで、クラスタークエリの高速化設定 パラメータの横にある 設定 をクリックします。
クラスタクエリ高速化設定注: ダイアログボックスで、[ディスクキャッシュ] タブをクリックします。
をオンにして、キャッシュサイズを指定します。
ディスクキャッシュ機能を有効にした後、上記の手順を実行することで、指定されたキャッシュサイズを表示できます。
コンパクションサービスを有効にする
コンパクションサービスは、独立したリソースプールを使用して、独立したプロセスでローカルコンパクション操作を実行します。これにより、リソース使用量が削減され、サービスの安定性が向上します。デフォルトでは、コンパクションサービスは無効になっています。コンパクションサービスを有効にすると、従量課金制でコンパクションサービスの料金が発生します。ビジネス要件に基づいて、コンパクションサービスを無効にすることができます。 詳細については、「Enterprise Edition および Basic Edition の料金」と「Data Lakehouse Edition の料金」をご参照ください。
次の条件を満たすシナリオでは、コンパクションサービスを有効にすることをお勧めします。
CPU 使用率とメモリ使用率が高い。
サービスのパフォーマンスが、スケジュールされたコンパクション操作によって著しく影響を受ける。
手順
AnalyticDB for MySQL コンソールにログインします。コンソールの左上隅で、リージョンを選択します。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。管理するクラスタを見つけ、クラスタ ID をクリックします。
クラスター情報 ページの 構成情報 セクションで、クラスタークエリの高速化設定 パラメータの横にある 設定 をクリックします。
クラスタークエリの高速化設定 ダイアログボックスの [リモートビルド] タブで、
をオンにして圧縮サービスを有効にします。