ストレージとコンピューティングリソースが分離されたインスタンスは、オンライン分析処理 (OLAP) の多次元分析やデータウェアハウスアプリケーションなど、ストレージコストに敏感でクエリ効率の要件が低いビジネスシナリオに最適です。これらのインスタンスは、Apache Hive、Apache Iceberg、Apache Hudi、Apache Paimon などのデータレイク内のデータをクエリするのにも適しています。サポートされているプラットフォームには、Object Storage Service (OSS)、OSS-HDFS、Hadoop 分散ファイルシステム (HDFS) があります。これらのインスタンスを使用すると、データを移行することなく、データレイク内のデータを迅速にクエリおよび分析できます。パフォーマンスは Presto の 3〜5 倍です。このインスタンスタイプは、ストレージ/コンピューティング分離アーキテクチャを使用し、データを Alibaba Cloud OSS に保存します。
前提条件
Alibaba Cloud アカウントを登録し、本人確認を完了していること。
Resource Access Management (RAM) ユーザーの場合、AliyunEMRStarRocksFullAccess システムポリシーが付与されていること。詳細については、「RAM ユーザーへの権限付与」をご参照ください。
説明AliyunEMRStarRocksFullAccess システムポリシーは、StarRocks インスタンスの作成と管理に必要です。
注意事項
コードのランタイム環境は、環境のオーナーによって管理および構成されます。
手順
ステップ 1: ストレージとコンピューティングリソースが分離された StarRocks インスタンスを作成する
EMR Serverless StarRocks インスタンスリストページに移動します。
E-MapReduce コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
トップメニューバーで、目的のリージョンを選択します。
[インスタンスリスト] ページで、[インスタンスの作成] をクリックします。
[E-MapReduce Serverless StarRocks] ページで、インスタンスのパラメーターを設定します。
設定項目
例
説明
製品タイプ
従量課金
[従量課金] を選択します。課金の詳細については、「従量課金」をご参照ください。
リージョン
中国 (北京)
インスタンスの物理的な場所。
重要インスタンス作成後にリージョンを変更することはできません。リージョンは慎重に選択してください。
ネットワークとゾーン
vpc_Hangzhou/vpc-bp1f4epmkvncimpgs****
ゾーン I
vsw_i/vsw-bp1e2f5fhaplp0g6p****
VPC、ゾーン、および対応する vSwitch 情報を選択します。
VPC (Virtual Private Cloud): VPC は、Alibaba Cloud で定義する分離されたネットワーク環境です。VPC を完全に制御できます。
既存の VPC を選択するか、[VPC の作成] をクリックして VPC コンソールに移動し、VPC を作成します。詳細については、「VPC の作成と管理」をご参照ください。
説明VPC を作成する際、IPv4 CIDR ブロックは RFC 1918 で定義されている次の 3 つのプライベートネットワーク範囲のいずれかから選択する必要があります。
10.0.0.0/8(10.0.0.0 から 10.255.255.255)172.16.0.0/12(172.16.0.0 から 172.31.255.255)192.168.0.0/16(192.168.0.0 から 192.168.255.255)
Serverless StarRocks インスタンスが、データのインポートや外部テーブルのクエリなどでインターネットにアクセスする必要がある場合は、その VPC がインターネットにアクセスできることを確認してください。VPC にインターネット NAT ゲートウェイを展開し、SNAT 機能を有効にすることができます。これにより、Serverless StarRocks インスタンスはゲートウェイを介してインターネットリソースにアクセスできます。詳細については、「インターネット NAT ゲートウェイの SNAT 機能を使用してインターネットにアクセスする」をご参照ください。
ゾーン: インスタンスが配置されるゾーン。
vSwitch: vSwitch は、異なるクラウドリソースを接続するために使用される VPC の基本的なネットワークモジュールです。
既存の vSwitch を選択するか、[VSwitch の作成] をクリックして VPC コンソールに移動し、vSwitch を作成します。詳細については、「vSwitch の作成と管理」をご参照ください。
インスタンスタイプ
ストレージ/コンピューティング分離
OLAP 多次元分析、データレイク分析、外部テーブルのフェデレーションクエリ、リアルタイムデータ分析、データウェアハウスなど、クエリ効率の要件が比較的低いシナリオに適しています。
インスタンスシリーズ
Standard Edition
[Starter Edition] と [Standard Edition] をサポートします。詳細については、「インスタンスシリーズ」をご参照ください。
説明Starter Edition は、中国 (北京)、中国 (上海)、中国 (深圳)、中国 (杭州) リージョンでのみ利用可能です。
StarRocks バージョン
3.3
StarRocks のコミュニティバージョン番号。
FE 仕様
仕様タイプ: 標準
コンピュート CU: 8 CU
データディスク: PL1 ESSD,
高可用性: デフォルトで有効。
ノード数: 3
ロードバランシング: 組み込み PrivateZone
仕様タイプ: FE ノードの仕様タイプは、StarRocks の [インスタンスシリーズ] によって異なります。
Starter Edition: 標準 をサポートします。
Standard Edition: 標準 および メモリ拡張型 仕様をサポートします。
コンピュート CU: コンピュートユニット (CU) の数を選択します。
必要に応じて適切な CU 仕様を選択します。CU 料金の詳細については、「課金項目」をご参照ください。
データディスク: PL1 ESSD のみがサポートされています。データディスクサイズは 100 GB から 65,000 GB の範囲で、ステップサイズは 100 です。
クラウドディスクの詳細については、「ESSD」をご参照ください。
高可用性: デフォルトで有効です。Standard Edition は高可用性 (HA) をサポートします。HA を有効にすると、StarRocks FE ノードの数が 1 から 3 に増加し、障害のリスクを軽減します。
重要本番環境では高可用性を有効にしてください。
ノード数: FE ノードの数。値は 1 から 11 までの奇数です。
ロードバランシング: 次のメソッドがサポートされています。
組み込み PrivateZone: PrivateZone の名前解決を使用して、トラフィックを自動的に分散します。追加料金はかかりません。これは、軽量なシナリオやコストに敏感な環境に適しています。
非本番環境や、ロードバランシングのパフォーマンス要件が低いサービスに適しています。
Server Load Balancer (SLB): SLB サービスを使用して、高性能なロードバランシングを実現します。これは、特に高いパフォーマンスと信頼性要件を持つサービスの本番環境に推奨されます。
FE リーダーをクエリトラフィックから削除する機能は、SLB を有効にした後にのみ利用可能です。
SLB サービスを有効にする必要があり、追加料金が発生します。詳細については、「CLB 課金の概要」をご参照ください。
CN 仕様
仕様タイプ: 標準
コンピュート CU: 8 CU
データディスク: PL1 ESSD、200 GB、1
ノード数: 3
仕様タイプ: CN ノードの仕様タイプは、StarRocks の [インスタンスシリーズ] によって異なります。
Starter Edition: 標準 をサポートします。
Standard Edition: 次の仕様をサポートします。
標準: デフォルトで推奨される仕様です。1 CU = 1 CPU コア + 4 GiB メモリ。この構成では、StarRocks のストレージソリューションとしてエンタープライズ SSD (ESSD) を使用します。
メモリ拡張型: 1 RCU = 1 CPU コア + 8 GiB メモリ。このタイプは、複雑なクエリが多い、または同時リクエストが高いなど、メモリ集中型のシナリオに適しています。StarRocks のストレージソリューションとして ESSD が使用されます。
ネットワーク拡張型: 1 NCU = 1 CPU コア + 4 GiB メモリ。ネットワーク帯域幅は標準仕様の 2 倍以上です。このタイプは、外部テーブルで大量のデータをスキャンするシナリオに適しています。StarRocks のストレージには ESSD が使用されます。
パフォーマンス専有型ストレージ: 必要に応じて詳細な仕様を選択します。この仕様タイプでは、StarRocks のストレージのデータディスクとしてローカル SSD を使用します。ストレージの I/O パフォーマンス要件が厳しいシナリオに適しています。
大容量ストレージ: 必要に応じて詳細な仕様を選択します。この仕様タイプでは、StarRocks のストレージのデータディスクとしてローカル HDD を使用します。データ量が非常に大きいシナリオに適しています。このタイプは、全体のストレージコストを効果的に削減できますが、ストレージの I/O パフォーマンス要件は比較的低くなります。
コンピュート CU: コンピュートユニット (CU) の数を選択します。
必要に応じて適切な CU 仕様を選択します。CU 料金の詳細については、「課金項目」をご参照ください。
データディスク: [PL0 ESSD]、[PL1 ESSD (推奨)]、[PL2 ESSD]、[PL3 ESSD]、[エラスティックエフェメラルディスク (Standard Edition)]、および [エラスティックエフェメラルディスク (Premium Edition)] をサポートします。クラウドディスクとエラスティックエフェメラルディスクの料金の詳細については、「課金項目」をご参照ください。
詳細については、「ESSD」および「エラスティックエフェメラルディスク」をご参照ください。
説明必要なストレージ容量を入力すると、システムが自動的にデフォルトの推奨構成を提供します。選択したクラウドディスク容量が推奨しきい値を超えると、システムは最適なパフォーマンスを確保するために適切な調整を行うのに役立つプロンプトを表示します。
[標準]、[メモリ拡張型]、および [コンピューティング拡張型] 仕様のみがエラスティックエフェメラルディスクをサポートします。エラスティックエフェメラルディスクには、リージョンとゾーンに関する制限があります。
ノード数: CN ノードの数。値は 1 から 100 の範囲です。
インスタンス名
カスタムインスタンス名。
インスタンスの名前。名前は 1〜64 文字の長さで、漢字、英字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。
管理者
admin
StarRocks を管理するために使用される管理者。デフォルト値は admin で、変更できません。
ログインパスワードとパスワードの確認
カスタムパスワード。
StarRocks インスタンスの組み込み管理者 `admin` のパスワード。このパスワードを記録してください。StarRocks インスタンスを管理および使用するために必要です。パスワードを忘れた場合は、リセットできます。詳細については、「インスタンスのパスワードをリセットするにはどうすればよいですか?」をご参照ください。
インスタンスパラメーターの詳細については、「インスタンスの作成」をご参照ください。
利用規約を読んで同意し、[インスタンスの作成] をクリックし、プロンプトに従って支払いを完了します。
支払いが完了したら、インスタンス管理ページに戻り、新しいインスタンスを表示します。インスタンスの [ステータス] が [実行中] に変わると、インスタンスが作成されます。
ステップ 2: StarRocks インスタンスに接続する
[インスタンスリスト] ページで、[アクション] 列の [インスタンスへの接続] をクリックします。
他の方法で StarRocks インスタンスに接続する こともできます。
StarRocks インスタンスに接続します。
[新しい接続] タブで、次のパラメーターを設定します。

パラメーター
例
説明
リージョン
中国 (杭州)
作成した StarRocks インスタンスの物理的な場所を選択します。
インスタンス
StarRocks_Serverless
作成した StarRocks インスタンスの名前を選択します。
接続名
Connection_Serverless
カスタム接続名を入力します。
名前は 1〜64 文字の長さで、漢字、英字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。
ユーザー名
実際のニーズに基づいて値を入力します。
デフォルトの初期ユーザー名は admin です。このユーザー名を使用して接続するか、必要に応じて他のユーザーを作成できます。ユーザーの作成方法の詳細については、「ユーザーとデータ認証の管理」をご参照ください。
パスワード
要件に基づいて値を入力します。
StarRocks インスタンスで作成されたユーザー名に対応するパスワード。
[接続テスト] をクリックします。
接続テストが成功したら、[OK] をクリックします。
[SQL エディター] ページで、SQL 文を実行できます。詳細については、「EMR StarRocks Manager を使用して StarRocks インスタンスに接続する」をご参照ください。
ステップ 3: SQL クエリを実行する
[SQL エディター] の [クエリリスト] ページで、
アイコンをクリックします。[新しいファイル] ダイアログボックスで、[OK] をクリックします。
新しいファイルに次のコマンドを入力します。すべてのコマンドを選択し、[実行] をクリックします。
/**データベースの作成**/ CREATE DATABASE IF NOT EXISTS load_test; /**データベースの使用**/ USE load_test; /**テーブルの作成**/ CREATE TABLE insert_wiki_edit ( event_time DATETIME, channel VARCHAR(32) DEFAULT '', user VARCHAR(128) DEFAULT '', is_anonymous TINYINT DEFAULT '0', is_minor TINYINT DEFAULT '0', is_new TINYINT DEFAULT '0', is_robot TINYINT DEFAULT '0', is_unpatrolled TINYINT DEFAULT '0', delta INT SUM DEFAULT '0', added INT SUM DEFAULT '0', deleted INT SUM DEFAULT '0' ) AGGREGATE KEY(event_time, channel, user, is_anonymous, is_minor, is_new, is_robot, is_unpatrolled) PARTITION BY RANGE(event_time) ( PARTITION p06 VALUES LESS THAN ('2015-09-12 06:00:00'), PARTITION p12 VALUES LESS THAN ('2015-09-12 12:00:00'), PARTITION p18 VALUES LESS THAN ('2015-09-12 18:00:00'), PARTITION p24 VALUES LESS THAN ('2015-09-13 00:00:00') ) DISTRIBUTED BY HASH(user) BUCKETS 10 PROPERTIES("replication_num" = "1"); /**データの挿入**/ INSERT INTO insert_wiki_edit VALUES("2015-09-12 00:00:00","#en.wikipedia","GELongstreet",0,0,0,0,0,36,36,0),("2015-09-12 00:00:00","#ca.wikipedia","PereBot",0,1,0,1,0,17,17,0); /**データのクエリ**/ select * from insert_wiki_edit;
次の情報が返されます。

SHOW CREATE TABLE load_test.insert_wiki_edit; コマンドを実行し、結果の datacache.enable プロパティを確認することで、ストレージ/コンピューティング分離インスタンスが正しく動作していることを確認できます。ストレージ/コンピューティング分離アーキテクチャ用のデータベースとテーブルが作成された後、OSS バケット内で新しいデータベースとテーブルのディレクトリを見つけることもできます。

ステップ 4: テーブル情報を表示する
新しいファイルに、データベースを表示するための次のコマンドを入力します。
SHOW PROC '/dbs';次の結果が返されます。

次のコマンドを入力して、テーブルの詳細を表示します。
SHOW PROC '/dbs/10120';次の結果が返されます。

ストレージ/コンピューティング分離モードでは、
CLOUD_NATIVEはテーブルタイプフィールドの識別子です。StoragePathは OSS 内のテーブルのパスです。このパスを使用して、テーブルのデータストレージの場所を見つけることができます。
ステップ 5: キャッシュ機能を実証する
左側のナビゲーションウィンドウで、 を選択します。
ターゲットクエリを見つけて、クエリ ID をクリックします。
[実行の詳細] タブをクリックします。
プロファイルの実行ツリーを表示することで、関連するノードを見つけ、右側の 2 つのメトリックに注目できます: CompressedBytesReadLocalDisk (ローカルキャッシュから読み取られたデータ) と CompressedBytesReadRemote (リモート OSS から読み取られたデータ)。
この例では、`insert_wiki_edit_cache` テーブルでローカルキャッシュ機能が有効になっています。メトリック値を観察することで、クエリが完全にローカルキャッシュにヒットしたと判断できます。

`insert_wiki_edit_nocache` テーブルではローカルキャッシュ機能が有効になっていません。対応するメトリック値を分析することで、このテーブルに対するクエリがローカルキャッシュにヒットしなかったと判断できます。すべてのデータはリモート OSS から読み取られました。

ステップ 6: パフォーマンステストを実行する
この例では、ストレージ/コンピューティング分離モード (ローカルキャッシュあり) とストレージ/コンピューティング統合モードのクエリパフォーマンスを比較します。より詳細なパフォーマンス比較のために、SSB テストデータセットを使用できます。詳細については、「SSB パフォーマンステスト」をご参照ください。
データ環境を準備します。
クラスターリソース構成: 1 FE (8 CU) + 3 CN (計算能力: 16 CU | ストレージ: 1000 GB)。
クラスターパラメーター: デフォルト設定を使用します。ストレージ/コンピューティング分離クラスターでローカルキャッシュを有効にします。
データ量: 500 GB (sf=500)
テスト結果。
ストレージ/コンピューティング統合の合計時間: 21.586 秒。
ストレージ/コンピューティング分離の合計時間 (2 回目の実行でローカルキャッシュを有効化): 27.364 秒。
ローカルキャッシュなしのストレージ/コンピューティング分離の合計時間: 117.529 秒。
sh ssb_query.sh ssb スクリプトを実行して SSB テストを実行すると、ローカルキャッシュが有効な場合、ストレージ/コンピューティング分離モードのクエリパフォーマンスは、ストレージ/コンピューティング統合モードとほぼ同じであることが結果からわかります。どちらも、ローカルキャッシュのないクラスターのパフォーマンスよりも大幅に優れています。
SQL | ストレージ/コンピューティング統合 | データキャッシュが有効なストレージ/コンピューティング分離 | データキャッシュが無効なストレージ/コンピューティング分離 |
Q1.1 | 0m0.373s | 0m0.380s | 0m2.080s |
Q1.2 | 0m0.303s | 0m0.292s | 0m2.141s |
Q1.3 | 0m0.101s | 0m0.097s | 0m0.144s |
Q2.1 | 0m2.461s | 0m2.821s | 0m14.401s |
Q2.2 | 0m2.272s | 0m2.735s | 0m13.048s |
Q2.3 | 0m2.168s | 0m2.588s | 0m13.957s |
Q3.1 | 0m4.536s | 0m4.864s | 0m14.810s |
Q3.2 | 0m2.371s | 0m2.682s | 0m11.292s |
Q3.3 | 0m2.082s | 0m2.648s | 0m13.651s |
Q3.4 | 0m0.195s | 0m0.212s | 0m0.572s |
Q4.1 | 0m5.122s | 0m5.847s | 0m29.576s |
Q4.2 | 0m1.141s | 0m1.369s | 0m1.465s |
Q4.3 | 0m0.661s | 0m0.829s | 0m0.792s |
合計 | 21.586s | 27.364s | 117.529 s |
(オプション) ステップ 7: インスタンスを解放する
この操作はインスタンスとそのすべてのリソースを削除します。この操作は元に戻せません。注意して進めてください。
インスタンスが不要になった場合は、解放して追加料金が発生しないようにすることができます。
[インスタンスリスト] ページで、解放したいインスタンスの [アクション] 列にある [解放] をクリックします。
表示されるダイアログボックスで、[OK] をクリックします。
参考
お問い合わせ
ご不明な点がございましたら、DingTalk グループ ID 24010016636 を検索してグループに参加し、ご質問ください。