共有データインスタンスは、OLAP 多次元分析やデータウェアハウスアプリケーションなど、ストレージコストに敏感で、クエリパフォーマンス要件が低いワークロードに最適です。このインスタンスタイプは、Object Storage Service (OSS)、OSS-HDFS、HDFS などのプラットフォームを横断して、Apache Hive、Apache Iceberg、Apache Hudi、Apache Paimon などのさまざまなデータレイクに保存されたデータをクエリするのにも適しています。このインスタンスを使用すると、データを移行することなくデータレイクを迅速にクエリおよび分析でき、Presto の 3〜5 倍のパフォーマンスを実現します。このインスタンスタイプは、ストレージコンピューティング分離アーキテクチャを使用し、データを Alibaba Cloud OSS に保存します。
前提条件
-
Alibaba Cloud アカウントを登録し、本人確認を完了していること。
-
RAM ユーザーとして、AliyunEMRStarRocksFullAccess システムポリシーが必要です。詳細については、「RAM ユーザーへの権限付与」をご参照ください。
説明AliyunEMRStarRocksFullAccess システムポリシーは、StarRocks インスタンスの作成と管理に必要です。
注意事項
コードの実行環境の管理と設定は、お客様の責任となります。
操作手順
ステップ 1:共有データ StarRocks インスタンスの作成
-
E-MapReduce Serverless StarRocks インスタンスリストページに移動します。
-
E-MapReduce コンソールにログインします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
トップメニューバーで、目的のリージョンを選択します。
-
-
Instances ページで、Create Instance をクリックします。
-
E-MapReduce Serverless StarRocks ページで、インスタンスを設定します。
パラメーター
例
説明
プロダクトタイプ
従量課金
Pay-as-you-go を選択します。課金の詳細については、「従量課金」をご参照ください。
Region
中国 (北京)
インスタンスの物理的な場所。
重要インスタンス作成後にリージョンを変更することはできません。リージョンは慎重に選択してください。
ネットワークおよびゾーン
-
vpc_Hangzhou/vpc-bp1f4epmkvncimpgs****
-
ゾーン I
-
vsw_i/vsw-bp1e2f5fhaplp0g6p****
Virtual Private Cloud (VPC)、ゾーン、および対応する vSwitch を選択します。
-
VPC:Alibaba Cloud で定義する分離されたネットワーク環境。
既存の VPC を選択するか、VPC の作成 をクリックして VPC コンソールに移動し、VPC を作成します。詳細については、「VPC の作成と管理」をご参照ください。
説明-
VPC を作成する際には、RFC 1918 で定義されている以下の 3 つのプライベートネットワーク範囲のいずれかから IPv4 CIDR ブロックを選択する必要があります。
-
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 機能を有効にすることができます。詳細については、「インターネット NAT ゲートウェイの SNAT 機能を使用したインターネットアクセス」をご参照ください。
-
-
ゾーン:インスタンスが配置されるゾーン。
-
vSwitch:vSwitch は、異なるクラウドリソースを接続する VPC の基本的なネットワークモジュールです。
既存の vSwitch を選択するか、. Create vSwitch をクリックして VPC コンソールに移動し、vSwitch を作成します。詳細については、「vSwitch の作成と管理」をご参照ください。
インスタンスタイプ
共有データ
OLAP 多次元分析、データレイク分析、外部テーブルに対するフェデレーションクエリ、リアルタイム分析、データウェアハウスなど、クエリパフォーマンス要件が低いシナリオに適しています。
Instance Edition
Standard Edition
Basic Edition と Standard Edition をサポートしています。詳細については、「インスタンスエディションの概要」をご参照ください。
説明Basic Edition は、中国 (北京)、中国 (上海)、中国 (深セン)、中国 (杭州) リージョンでのみ利用可能です。
カーネルバージョン
3.3
StarRocks コミュニティのバージョン番号。
FE 仕様
-
仕様タイプ:標準仕様
-
計算ユニット (CU):8 CU
-
データディスク:ESSD PL1
-
高可用性:デフォルトで有効
-
ノード数:3
-
負荷分散:組み込み PrivateZone
-
仕様タイプ:FE ノードの仕様タイプは、StarRocks の Instance Edition によって異なります。
-
Basic Edition:標準仕様 をサポートします。
-
Standard Edition:標準仕様 と メモリエンハンスドタイプ をサポートします。
-
-
CU の計算:計算ユニット (CU) の数を選択します。
必要に応じて適切な CU 仕様を選択してください。CU 料金の詳細については、「課金項目」をご参照ください。
-
データディスク:PL1 ESSD のみがサポートされています。データディスクのサイズは 100 GB から 65000 GB の範囲で、ステップサイズは 100 です。
クラウドディスクの詳細については、「エンタープライズ SSD」をご参照ください。
-
HA:デフォルトで有効になっています。Standard Edition は高可用性をサポートしています。高可用性を有効にすると、StarRocks FE ノードの数が 1 から 3 に増加し、障害のリスクを低減します。
重要本番環境では高可用性を有効にすることを強く推奨します。
-
ノード数:FE ノードの数。値は 1 から 11 までの奇数です。
-
負荷分散:以下のメソッドをサポートしています。
-
組み込み Private Zone:追加費用なしで PrivateZone のドメイン名解決を通じてトラフィックを分散します。軽量またはコストに敏感なシナリオに適しています。
非本番環境や負荷分散要件が低いサービスに推奨されます。
-
SLB:SLB サービスを通じて高性能な負荷分散を提供します。高いパフォーマンスと信頼性が要求される本番環境に推奨されます。
FE リーダーをクエリトラフィックから除外する機能は、SLB を有効にした後にのみ利用可能です。
SLB サービスを有効にする必要があり、追加料金が発生します。詳細については、「CLB の課金概要」をご参照ください。
-
CN 仕様
-
仕様タイプ:標準仕様
-
計算ユニット (CU):8 CU
-
データディスク:ESSD PL1、200 GB、1 ディスク
-
ノード数:3
-
仕様タイプ:CN ノードの仕様タイプは、StarRocks の Instance Edition によって異なります。
-
Basic Edition:標準仕様 をサポートします。
-
Standard Edition:以下の仕様をサポートします。
標準仕様:デフォルトで推奨されるオプションです。1 CU = 1 CPU コア + 4 GiB メモリ。この仕様は StarRocks ストレージに 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 料金の詳細については、「課金項目」をご参照ください。
-
データディスク:拡張 SSD PL0 クラウドディスク、拡張 SSD PL1 クラウドディスク (推奨)、拡張 SSD PL2 クラウドディスク、拡張 SSD PL3 クラウドディスク、エラスティック一時ディスク (Standard Edition)、および エラスティック一時ディスク (Advanced Edition) をサポートしています。クラウドディスクとエラスティック一時ディスクの料金詳細については、「課金項目」をご参照ください。
詳細については、「エンタープライズ SSD」および「エラスティック一時ディスク」をご参照ください。
説明-
必要なストレージ容量を入力すると、システムが自動的に構成を推奨します。選択した容量が推奨しきい値を超えると、最適なパフォーマンスに調整するためのプロンプトが表示されます。
-
標準仕様、メモリエンハンスドタイプ、および コンピューティング拡張型 仕様のみがエラスティック一時ディスクをサポートします。エラスティック一時ディスクにはリージョンとゾーンに関する制限があります。
-
-
ノード数:CN ノードの数。値は 1 から 100 の範囲です。
Instance Name
カスタムのインスタンス名を入力します。
インスタンス名は 1〜64 文字で、漢字、英字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。
Administrator
admin
StarRocks を管理するための管理者アカウント。デフォルトの admin ユーザー名は変更できません。
Password と Confirm Password
カスタムのパスワードを入力します。
StarRocks インスタンスの組み込み管理者アカウント admin のパスワード。このパスワードは後で使用するために記録しておいてください。パスワードを忘れた場合はリセットできます。詳細については、「インスタンスのパスワードをリセットするにはどうすればよいですか?」をご参照ください。
インスタンスのパラメーターの詳細については、「インスタンスの作成」をご参照ください。
-
-
サービス規約を選択し、Create Instance をクリックし、プロンプトに従って支払いを完了します。
支払い後、インスタンス管理ページに戻ります。インスタンスの Status が Running に変わると、インスタンスは正常に作成されています。
ステップ 2:StarRocks インスタンスへの接続
-
インスタンスのリスト ページで、ターゲットインスタンスを見つけ、操作 列の インスタンスの接続 をクリックします。
他の方法で StarRocks インスタンスに接続することもできます。
-
StarRocks インスタンスに接続します。
-
New Connection タブで、以下のパラメーターを設定します。
設定完了後、[ネットワーク接続のテスト] をクリックして接続を検証し、[OK] をクリックして作成します。
パラメーター
例
説明
Region
中国 (杭州)
作成した StarRocks インスタンスの物理的な場所を選択します。
インスタンス
StarRocks_Serverless
作成した StarRocks インスタンスの名前を選択します。
Name
Connection_Serverless
カスタムの接続名を入力します。
名前は 1〜64 文字で、漢字、英字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。
ユーザー名
実際のニーズに基づいて値を入力します。
デフォルトの初期ユーザー名は admin です。このユーザー名を使用して接続するか、必要に応じて他のユーザーを作成できます。ユーザーの作成方法の詳細については、「ユーザーとデータ認可の管理」をご参照ください。
Password
要件に基づいて値を入力します。
StarRocks インスタンスで作成されたユーザー名に対応するパスワード。
-
Test Connectivity をクリックします。
-
接続テストが成功した後、OK をクリックします。
[SQL エディタ] ページにリダイレクトされ、SQL クエリを実行できます。詳細については、「EMR StarRocks Manager を使用して StarRocks インスタンスに接続する」をご参照ください。
-
ステップ 3:SQL クエリの実行
-
[SQL エディタ] の Queries ページで、
アイコンをクリックします。 -
New ダイアログボックスで、Confirm をクリックします。
-
新しいファイルに次のコマンドを入力します。すべてのコマンドを選択し、実行 をクリックします。
/**データベースの作成**/ 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 バケット内でそれらのディレクトリを見つけることもできます。
SHOW CREATE TABLE load_test.insert_wiki_edit; コマンドを実行します。返された結果には datacache.enable プロパティが含まれており、ストレージコンピューティング分離が有効であることを確認できます。以下のコードは、主要な PROPERTIES セクションの例です。
DISTRIBUTED BY HASH(user) BUCKETS 10 PROPERTIES ("replication_num" = "1", "datacache.enable" = "true", "storage_volume" = "builtin_storage_volume", "enable_async_write_back" = "false", "enable_persistent_index" = "false", "compression" = "LZ4");
ステップ 4:テーブル情報の表示
-
新しいファイルで、次のコマンドを実行してデータベースを表示します。
SHOW PROC '/dbs';結果には 5 つのデータベースがリストされます:
information_schema(DbId=1, TableNum=46)、sys(DbId=100, TableNum=6)、_starrocks_audit_db_(DbId=10004, TableNum=1)、_statistics_(DbId=10023, TableNum=8)、およびload_test(DbId=10120, TableNum=1)。各々の Quota は 8,388,608.000 TB で、LastConsistencyCheckTime 列は空です。 -
次のコマンドを実行して、詳細なテーブル情報を表示します。
SHOW PROC '/dbs/10120';結果には、TableId、TableName、IndexNum、PartitionColumnName、PartitionNum、State、Type、ReplicaCount、PartitionType、StoragePath などの列が含まれます。
ストレージコンピューティング分離モードでは、
CLOUD_NATIVEの Type は共有データテーブルを識別します。StoragePathは、テーブルのデータが保存されている場所を示します。
ステップ 5:キャッシュ機能のデモ
-
左側のナビゲーションウィンドウで、 を選択します。
-
クエリを見つけて、クエリ ID をクリックします。
-
[実行詳細] タブをクリックします。
プロファイルの実行ツリーで、関連するノードを見つけ、右側に次のメトリックを見つけることができます:CompressedBytesReadLocalDisk (ローカルキャッシュから読み取り) と CompressedBytesReadRemote (リモート OSS から読み取り)。
この例では、insert_wiki_edit_cache テーブルでローカルキャッシュが有効になっています。メトリック値を観察することで、クエリが完全にローカルキャッシュにヒットしたことを確認できます。
CONNECTOR_SCAN ノードのメトリックパネルでは、CompressedBytesReadLocalDisk の値は 729.52 MB で、CompressedBytesReadRemote の値は 0.00 です。
insert_wiki_edit_nocache テーブルのメトリックは、クエリがローカルキャッシュにヒットせず、すべてのデータがリモート OSS から読み取られたことを示しています。
insert_wiki_edit_nocache テーブルに対応する CONNECTOR_SCAN ノードでは、CompressedBytesReadLocalDisk は
0.00で、CompressedBytesReadRemote は804.63 MBです。これは、すべてのデータがリモート OSS から読み取られ、ローカルキャッシュにヒットしなかったことを示しています。
ステップ 6:パフォーマンステストの実行
この例では、ストレージコンピューティング分離 (ローカルキャッシュあり) とストレージコンピューティング統合のクエリパフォーマンスを比較します。より詳細なパフォーマンス比較のために SSB テストセットを使用できます。詳細については、「SSB パフォーマンステストの手順」をご参照ください。
-
データ環境の準備
-
クラスターリソース構成:1 FE (8 CU) + 3 CN (コンピューティング:16 CU | ストレージ:1,000 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.529s |
(オプション) ステップ 7:インスタンスのリリース
この操作を行うと、インスタンスとそのすべてのリソースが削除されます。この操作は元に戻すことができません。操作は慎重に行ってください。
追加料金が発生しないように、不要になったインスタンスはリリースしてください。
-
Instances ページで、インスタンスの [操作] 列にある Release をクリックします。
-
表示されるダイアログボックスで、決定 をクリックします。
関連ドキュメント
お問い合わせ
ご不明な点がございましたら、DingTalk グループ ID 24010016636 を検索して、サポートグループにご参加ください。