AnalyticDB for MySQLは、オープンソースの列型データベースClickHouseの機能と互換性のある幅広いテーブルエンジンを提供します。 このトピックでは、ワイドテーブルエンジンの機能、ワイドテーブルエンジン機能を有効にする方法、およびワイドテーブルエンジンの使用方法について説明します。
ワイドテーブルエンジン機能は招待プレビューにあります。 機能を有効にするには、 チケットを起票します。
ワイドテーブルエンジンとは何ですか?
ワイドテーブルエンジンは、オープンソースの列型データベースClickHouseの機能と構文と完全に互換性があり、大量の列型データを処理できます。 ワイドテーブルエンジンは、テーブルに多数のフィールドが含まれる集計クエリおよび分析シナリオに適しています。
ワイドテーブルエンジンは、次の機能を提供します。
ワイドテーブルエンジンは、対話型リソースグループの常駐コンピューティングリソースを使用してSQLジョブを実行します。
ワイドテーブルエンジンは、ReplicatedMergeTreeエンジン、ディスクキャッシュ、およびObject storage Service (OSS) に基づくストレージとコンピューティングの分離アーキテクチャを提供します。
データベースやレプリカを指定することなく、ワイドテーブルエンジンを簡単に統合および管理できます。
ワイドテーブルエンジンは、高可用性と高性能の分散クエリを提供します。
ClickHouseの詳細については、「ClickHouseとは」をご参照ください。
前提条件
AnalyticDB for MySQLクラスターのワイドテーブルエンジン機能を有効にする前に、次の要件が満たされていることを確認してください。
AnalyticDB for MySQLクラスターはData Lakehouse Editionです。
AnalyticDB for MySQLクラスターのマイナーバージョンは3.2.1.0以降です。
説明AnalyticDB For MySQLクラスターのマイナーバージョンを表示する方法については、クラスターのマイナーバージョンを表示するにはどうすればよいですか。 クラスターのマイナーバージョンを更新するには、テクニカルサポートにお問い合わせください。
マルチクラスター機能は、AnalyticDB for MySQLクラスター内の対話型リソースグループに対して無効になっています。
説明[リソース管理] ページの [リソースグループ] タブで、[操作] 列の [変更] をクリックして、[マルチクラスターの有効化] がオフになっているかどうかを確認します。 マルチクラスターの有効化がオフになっている場合、対話型リソースグループのマルチクラスター機能は無効になります。
AnalyticDB for MySQLクラスターには、予約済みコンピューティングリソースのAnalyticDBコンピューティングユニット (ACU) が0を超える対話型リソースグループが存在します。
使用上の注意
ワイドテーブルエンジン機能を有効にすると、その機能を無効にすることはできません。
ワイドテーブルエンジン機能を有効にすると、特定のノードが再起動します。 その結果、特定のSQL文が失敗します。 オフピーク時には、ワイドテーブルエンジン機能を有効にすることを推奨します。
ワイドテーブルエンジン機能を有効にすると、マルチクラスター機能が有効になっているリソースグループを作成したり、予約済みコンピューティングリソースを0 ACUにスケールダウンしたりすることはできません。
ワイドテーブルエンジンによって保存されたデータをバックアップまたは復元することはできません。
ワイドテーブルエンジンを使用する前に、ワイドテーブルエンジンのアカウントを作成する必要があります。 AnalyticDB for MySQLクラスターのワイドテーブルエンジンアカウントとデータベースアカウントは、異なるアカウントシステムに属します。 ワイドテーブルエンジンアカウントを使用してAnalyticDB for MySQLクラスターのテーブルにアクセスしたり、クラスターのデータベースアカウントを使用してワイドテーブルエンジンにアクセスしたりすることはできません。
課金ルール
ワイドテーブルエンジン機能を有効にすると、ディスクキャッシュが自動的に利用可能になり、ディスクキャッシュ料金が請求されます。 詳細については、「Data Lakehouse Editionの料金」をご参照ください。
ワイドテーブルエンジンを使用する場合、AnalyticDB for MySQL data Lakehouse Editionクラスターのコールドデータストレージの単価に基づいてデータストレージ料金が請求されます。 詳細については、「Data Lakehouse Editionの料金」をご参照ください。
ワイドテーブルエンジン機能の有効化
AnalyticDB for MySQL コンソールにログインします。 ホームページの左上でリージョンを選択します。 左側のナビゲーションウィンドウで、クラスターリスト をクリックします。 [Data Lakehouse Edition] タブで、管理するクラスターを見つけ、クラスターIDをクリックします。
左側のナビゲーションウィンドウで、
を選択します。[設定情報] タブで、[ワイドテーブルエンジンの有効化] をオンにします。 ワイドテーブルエンジン機能を有効にすると、ディスクキャッシュが自動的に使用可能になります。
(オプション) スライダーを調整するか、プラス記号をクリックして [ディスクキャッシュ設定] パラメーターの値を大きくします。
ワイドテーブルエンジンアカウントの作成
AnalyticDB for MySQLのワイドテーブルエンジンは、特権アカウントと標準アカウントをサポートします。次のセクションでは、特権アカウントと標準アカウントの違い、およびアカウントの作成方法について説明します。
AnalyticDB for MySQL コンソールにログインします。 ホームページの左上でリージョンを選択します。 左側のナビゲーションウィンドウで、クラスターリスト をクリックします。 [Data Lakehouse Edition] タブで、管理するクラスターを見つけ、クラスターIDをクリックします。
左側のナビゲーションウィンドウで、
を選択します。[アカウント] タブをクリックします。 [アカウント] タブで、[アカウントの作成] をクリックします。
[アカウントの作成] パネルで、特権アカウントまたは標準アカウントを作成します。
パラメーター
説明
データベースアカウント
ワイドテーブルエンジンアカウントの名前。 画面上の要件を満たす名前を入力します。
アカウントタイプ
[特権アカウント] または [標準アカウント] を選択します。
新しいパスワード
ワイドテーブルエンジンアカウントのパスワード。 画面上の要件を満たすパスワードを入力します。
パスワードの確認
パスワードを再度入力します。
説明 (オプション)
その後のアカウント管理を容易にするワイドテーブルエンジンアカウントの説明。
ワイドテーブルエンジンに接続して使用する
AnalyticDB for MySQL Data Lakehouse Editionでは、HTTP、HTTPS、TCP、またはMySQLプロトコルを使用して、内部またはパブリック環境でワイドテーブルエンジンに接続できます。 この例では、MySQLクライアントを使用してワイドテーブルエンジンに接続します。
ステップ1: ワイドテーブルエンジンに接続
内部ネットワーク経由でワイドテーブルエンジンに接続
インターネット経由でワイドテーブルエンジンに接続
SSL接続でワイドテーブルエンジンに接続
ステップ2: ワイドテーブルエンジンを使用する
adb_demo
という名前のデータベースを作成します。CREATE DATABASE adb_demo ON CLUSTER default [ENGINE = Replicated];
説明データベースを作成するときは、
ON CLUSTER
句を含め、デフォルトのパラメーターを指定する必要があります。 このようにして、データベースは各ノードに自動的に作成されます。データベースを作成するときは、ENGINEパラメーターを
Replicated
に設定する必要があります。ENGINE
パラメーターの後に、zoo_path
、shard_name
、またはreplica_name
パラメーターを指定することはできません。 ENGINEパラメーターを指定しないと、レプリケートされたエンジンが自動的に使用されます。データベースの作成方法については、「create database」をご参照ください。
test
という名前のテーブルを作成します。CREATE TABLE test ( id Int, name String, age Int, likes String, PRIMARY KEY(id) ) ENGINE = ReplicatedMergeTree;
説明テーブルを作成するときは、ENGINEパラメーターを
ReplicatedMergeTree
に設定する必要があります。ENGINE
パラメーターの後に、zoo_path
、shard_name
、またはreplica_name
パラメーターを指定することはできません。 システムは自動的に必要なパラメータを追加します。テーブルの作成方法については、「create table」をご参照ください。
test
テーブルにデータを挿入します。INSERT INTO test(id,name,age,likes)VALUES('1','Lili','10','Football'); INSERT INTO test(id,name,age,likes)VALUES('2','Tom','15','Basketball'); INSERT INTO test(id,name,age,likes)VALUES('3','Jack','20','Volleyball'); INSERT INTO test(id,name,age,likes)VALUES('4','Lucy','25','Badminton');
テストテーブルからデータを照会します。
SELECT * FROM test;
次の情報が返されます。
+-----------+-----------+-----------+-----------+ | id | name | age | likes | +-----------+-----------+-----------+-----------+ | 1 | Lili | 10 | Football | +-----------+-----------+-----------+-----------+ | 2 | Tom | 15 | Basketball | +-----------+-----------+-----------+-----------+ | 3 | Jack | 20 | Volleyball | +-----------+-----------+-----------+-----------+ | 4 | Lucy | 25 | Badminton | +-----------+-----------+-----------+-----------+