すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:広いテーブルエンジン

最終更新日:Nov 25, 2024

AnalyticDB for MySQLは、オープンソースの列型データベースClickHouseの機能と互換性のある幅広いテーブルエンジンを提供します。 このトピックでは、ワイドテーブルエンジンの機能、ワイドテーブルエンジン機能を有効にする方法、およびワイドテーブルエンジンの使用方法について説明します。

重要

ワイドテーブルエンジン機能は招待プレビューにあります。 機能を有効にするには、

チケットを起票します。

ワイドテーブルエンジンとは何ですか?

ワイドテーブルエンジンは、オープンソースの列型データベースClickHouseの機能と構文と完全に互換性があり、大量の列型データを処理できます。 ワイドテーブルエンジンは、テーブルに多数のフィールドが含まれる集計クエリおよび分析シナリオに適しています。

ワイドテーブルエンジンは、次の機能を提供します。

  • ワイドテーブルエンジンは、対話型リソースグループの常駐コンピューティングリソースを使用してSQLジョブを実行します。

  • ワイドテーブルエンジンは、ReplicatedMergeTreeエンジン、ディスクキャッシュ、およびObject storage Service (OSS) に基づくストレージとコンピューティングの分離アーキテクチャを提供します。

  • データベースやレプリカを指定することなく、ワイドテーブルエンジンを簡単に統合および管理できます。

  • ワイドテーブルエンジンは、高可用性と高性能の分散クエリを提供します。

image

ClickHouseの詳細については、「ClickHouseとは」をご参照ください。

前提条件

AnalyticDB for MySQLクラスターのワイドテーブルエンジン機能を有効にする前に、次の要件が満たされていることを確認してください。

  • AnalyticDB for MySQLクラスターはData Lakehouse Editionです。

  • AnalyticDB for MySQLクラスターのマイナーバージョンは3.2.1.0以降です。

    説明

    AnalyticDB for MySQL Data Lakehouse Editionクラスターのマイナーバージョンを照会するには、SELECT adb_version(); ステートメントを実行します。 クラスターのマイナーバージョンを更新するには、テクニカルサポートにお問い合わせください。

  • マルチクラスター機能は、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の料金」をご参照ください。

ワイドテーブルエンジン機能の有効化

  1. AnalyticDB for MySQL コンソールにログインします。 ホームページの左上でリージョンを選択します。 左側のナビゲーションウィンドウで、クラスターリスト をクリックします。 クラスターリスト ページで、エディションタブをクリックします。 管理するクラスターを確認し、クラスター ID をクリックします。

  2. 左側のナビゲーションウィンドウで、[クラスター管理] > [ワイドテーブルエンジン] を選択します。

  3. [設定情報] タブで、[ワイドテーブルエンジンの有効化] をオンにします。 ワイドテーブルエンジン機能を有効にすると、ディスクキャッシュが自動的に使用可能になります。

  4. (オプション) スライダーを調整するか、プラス記号をクリックして [ディスクキャッシュ設定] パラメーターの値を大きくします。

ワイドテーブルエンジンアカウントの作成

AnalyticDB for MySQLのワイドテーブルエンジンは、特権アカウントと標準アカウントをサポートします。次のセクションでは、特権アカウントと標準アカウントの違い、およびアカウントの作成方法について説明します。

特権アカウントと標準アカウントの違い

アカウントタイプ

説明

特権アカウント

  • 特権アカウントはコンソールでのみ作成および管理できます。

  • クラスターごとに作成できる特権アカウントは1つだけです。 特権アカウントは、クラスターのすべての標準アカウントとデータベースを管理するために使用できます。

  • 特権アカウントを使用すると、ビジネス要件に合わせてきめ細かい権限制御を実装できます。 たとえば、特定のテーブルをクエリする権限を各標準アカウントに付与できます。

標準アカウント

  • AnalyticDB for MySQLコンソールで、またはSQLステートメントを実行して、標準アカウントを作成できます。 SQLステートメントを実行して標準アカウントを作成する方法については、「create USER」をご参照ください。

  • クラスターに最大256の標準アカウントを作成できます。

  • 標準アカウントに特定のデータベースに対する権限を手動で付与する必要があります。 詳細については、「GRANT」をご参照ください。

  1. AnalyticDB for MySQL コンソールにログインします。 ホームページの左上でリージョンを選択します。 左側のナビゲーションウィンドウで、クラスターリスト をクリックします。 クラスターリスト ページで、エディションタブをクリックします。 管理するクラスターを確認し、クラスター ID をクリックします。

  2. 左側のナビゲーションウィンドウで、[クラスター管理] > [ワイドテーブルエンジン] を選択します。

  3. [アカウント] タブをクリックします。 [アカウント] タブで、[アカウントの作成] をクリックします。

  4. [アカウントの作成] パネルで、特権アカウントまたは標準アカウントを作成します。

    パラメーター

    説明

    データベースアカウント

    ワイドテーブルエンジンアカウントの名前。 画面上の要件を満たす名前を入力します。

    アカウントタイプ

    [特権アカウント] または [標準アカウント] を選択します。

    新しいパスワード

    ワイドテーブルエンジンアカウントのパスワード。 画面上の要件を満たすパスワードを入力します。

    パスワードの確認

    パスワードを再度入力します。

    説明 (オプション)

    その後のアカウント管理を容易にするワイドテーブルエンジンアカウントの説明。

ワイドテーブルエンジンに接続して使用する

AnalyticDB for MySQL Data Lakehouse Editionでは、HTTP、HTTPS、TCP、またはMySQLプロトコルを使用して、内部またはパブリック環境でワイドテーブルエンジンに接続できます。 この例では、MySQLクライアントを使用してワイドテーブルエンジンに接続します。

ステップ1: ワイドテーブルエンジンに接続

内部ネットワーク経由でワイドテーブルエンジンに接続

前提条件
  • MySQLクライアントは、AnalyticDB for MySQL Data Lakehouse Editionクラスターと同じ仮想プライベートクラウド (VPC) にあります。

  • 広いテーブルエンジンアカウントが作成されます。 詳細については、このトピックの「ワイドテーブルエンジンアカウントの作成」を参照してください。

  • MySQLクライアントのIPアドレスがAnalyticDB for MySQL Data Lakehouse Editionクラスターのホワイトリストに追加されます。 詳細については、「IPアドレスのホワイトリスト」をご参照ください。

使用上の注意
  • AllocateClusterPublicConnection操作を呼び出してワイドテーブルエンジンのパブリックエンドポイントを申請すると、内部ネットワークで一時的な接続が発生する可能性があります。 アプリケーションがAnalyticDB for MySQLクラスターに再接続するように設定されていることを確認します。

  • AnalyticDB for MySQLクラスターのVPCとvSwitchを変更した後も、ワイドテーブルエンジンが接続されているVPCとvSwitchは変更されません。

手順
  1. ワイドテーブルエンジンの内部エンドポイントとポート番号を取得します。

    1. AnalyticDB for MySQL コンソールにログインします。 ホームページの左上でリージョンを選択します。 左側のナビゲーションウィンドウで、クラスターリスト をクリックします。 クラスターリスト ページで、エディションタブをクリックします。 管理するクラスターを確認し、クラスター ID をクリックします。

    2. 左側のナビゲーションウィンドウで、[クラスター管理] > [ワイドテーブルエンジン] を選択します。

    3. [設定情報] タブで、[VPCエンドポイント] および [VPC MySQLポート番号] パラメーターの値を取得します。

  2. ワイドテーブルエンジンに接続します。

    mysql -hurl -Pport -uuser -ppassword

    パラメーター:

    • url: VPC Endpointパラメーターの値。

    • port: VPC MySQL Port Numberパラメーターの値。9004に固定されています。

    • user: ワイドテーブルエンジンアカウントの名前。

    • password: ワイドテーブルエンジンアカウントのパスワード。

    例:

    mysql -hamv-bp1s7butid48s4mw62****.ads.aliyuncs.com -P9004 -utest -p1Ws****    

インターネット経由でワイドテーブルエンジンに接続

前提条件

MySQLクライアントのIPアドレスがAnalyticDB for MySQL Data Lakehouse Editionクラスターのホワイトリストに追加されます。 詳細については、「IPアドレスのホワイトリスト」をご参照ください。

手順

  1. ワイドテーブルエンジンのパブリックエンドポイントとポート番号を取得します。

    1. AnalyticDB for MySQL コンソールにログインします。 ホームページの左上でリージョンを選択します。 左側のナビゲーションウィンドウで、クラスターリスト をクリックします。 クラスターリスト ページで、エディションタブをクリックします。 管理するクラスターを確認し、クラスター ID をクリックします。

    2. 左側のナビゲーションウィンドウで、[クラスター管理] > [ワイドテーブルエンジン] を選択します。

    3. [設定情報] タブで、[パブリックエンドポイントの申請] をクリックします。

    4. [設定情報] タブで、[パブリックエンドポイント] および [パブリックMySQLポート番号] パラメーターの値を取得します。

  2. ワイドテーブルエンジンに接続します。

    mysql -hurl -Pport -uuser -ppassword

    パラメーター:

    • url: Public Endpointパラメーターの値。

    • port: Public MySQL Port Numberパラメーターの値。9004に固定されています。

    • user: ワイドテーブルエンジンアカウントの名前。

    • password: ワイドテーブルエンジンアカウントのパスワード。

SSL接続でワイドテーブルエンジンに接続

  1. CA証明書をダウンロードします。

    1. AnalyticDB for MySQL コンソールにログインします。 ホームページの左上でリージョンを選択します。 左側のナビゲーションウィンドウで、クラスターリスト をクリックします。 クラスターリスト ページで、エディションタブをクリックします。 管理するクラスターを確認し、クラスター ID をクリックします。

    2. 左側のナビゲーションウィンドウで、[クラスター管理] > [ワイドテーブルエンジン] を選択します。

    3. [設定情報] タブで、[VPC HTTPSポート番号] パラメーターの値を取得し、[CA証明書のダウンロード] をクリックします。

  2. ワイドテーブルエンジンに接続します。

    curl --cacert file https://url:port

    パラメーター:

    • file: CA証明書のパス。

    • url: ワイドテーブルエンジンのエンドポイント。

      • 内部ネットワーク経由でワイドテーブルエンジンに接続する場合は、VPCエンドポイントを指定します。

      • インターネット経由でワイドテーブルエンジンに接続する場合は、パブリックエンドポイントを申請して指定します。

    • port: VPC HTTPS Port Numberパラメーターの値。8443に固定されています。

    例:

    curl --cacert ca.pem https://amv-bp1s7butid48s4mw62****.ads.aliyuncs.com:8443

ステップ2: ワイドテーブルエンジンを使用する

  1. adb_demoという名前のデータベースを作成します。

    CREATE DATABASE adb_demo ON CLUSTER default [ENGINE = Replicated];
    説明
    • データベースを作成するときは、ON CLUSTER句を含め、デフォルトのパラメーターを指定する必要があります。 このようにして、データベースは各ノードに自動的に作成されます。

    • データベースを作成するときは、ENGINEパラメーターをReplicatedに設定する必要があります。 ENGINEパラメーターの後に、zoo_pathshard_name、またはreplica_nameパラメーターを指定することはできません。 ENGINEパラメーターを指定しないと、レプリケートされたエンジンが自動的に使用されます。

    • データベースの作成方法については、「create database」をご参照ください。

  2. testという名前のテーブルを作成します。

    CREATE TABLE test (
      id Int,
      name String,
      age Int,
      likes String,
      PRIMARY KEY(id)
    ) 
    ENGINE = ReplicatedMergeTree;
    説明
    • テーブルを作成するときは、ENGINEパラメーターをReplicatedMergeTreeに設定する必要があります。 ENGINEパラメーターの後に、zoo_pathshard_name、またはreplica_nameパラメーターを指定することはできません。 システムは自動的に必要なパラメータを追加します。

    • テーブルの作成方法については、「create table」をご参照ください。

  3. 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');
  4. テストテーブルからデータを照会します。

    SELECT * FROM test;

    次の情報が返されます。

    +-----------+-----------+-----------+-----------+
    |    id     |   name    |    age    |   likes   |
    +-----------+-----------+-----------+-----------+
    |    1      |   Lili    |    10     |    Football   |
    +-----------+-----------+-----------+-----------+  
    |    2      |   Tom     |    15     |    Basketball   |
    +-----------+-----------+-----------+-----------+ 
    |    3      |   Jack    |    20     |    Volleyball   |
    +-----------+-----------+-----------+-----------+ 
    |    4      |   Lucy    |    25     |   Badminton  |
    +-----------+-----------+-----------+-----------+