Studio
VeloDB Cloud Studio(「Studio」)は、データ開発シナリオ向けのデータ開発プラットフォームです。VeloDBが提供するクラウド上のデータ開発プラットフォームであり、ユーザーがデータを管理・探索することを支援し、Navicatの代替として利用できます。
主な機能
- Warehouse Login:Studioで異なるデータベースユーザーを使用してwarehouseにログインします。
- データクエリ:
- SQL Editor :クエリ実行、自動SQL保存、クエリプロファイル、履歴クエリ記録などをサポートする使いやすいSQLクエリエディタ。
- ログ Analytics :ログシナリオ向けのユーザーフレンドリーな分析ツールで、SQLフィルタリング、検索、その他の機能をサポートします。
- Session Management:実行中のSQLクエリを管理し、SQLクエリの表示と終了を可能にします。
- Query Audit:スロークエリをフィルタリングし、その実行を表示できるワンストップ履歴クエリ監査ツール。
- Workload Management :Workload Groupの迅速な作成、編集、表示をサポートします。
- Data Management:データベース内のデータを表示・管理します。現在は表示をサポートしています。
- Privilege Management:データベース内のユーザーとロールを管理し、それらに権限を付与・取り消しします。
- データ統合:クラウド上のオブジェクトストレージ内のデータへの簡単な接続、データレークへの接続、サンプルデータのインポートを行います。
- Import: インポートタスクの表示とインポートタスクに対する操作をサポートします。
登録とログイン
Studioサービスの使用
VeloDB Cloud Manager(「Manager」)では、各warehouseに対応するStudioサービスがあります。Managerの「Connection」モジュールでは、プライベートネットワークまたはパブリックネットワーク経由でStudioへの入り口を見つけることができます。
また、直接アクセスするためにStudioのエントリアドレスを保存することもできます。

Studioへのログイン

ログインページでwarehouseのUsernameとPasswordを入力する必要があります。Managerからリンクをクリックしてログインした場合、warehouse名が事前入力されているはずです。
ログインアカウントとパスワードは記録されませんが、ブラウザに付属の記録機能を使用できます。
Data
「data」モジュールはStudioでデータベースを管理する基本機能であり、主に2つの機能があります:
-
データベースTable構造、データサイズ、Table作成文、Tableフィールド情報、データプレビューなど、データとその組織形態を確認する。
-
新規作成、削除、データベースオブジェクトの名前変更を含む、データベースオブジェクトの追加、削除、変更を行う。
データモジュールは、データベース内のデータの組織形態に従って表示され、カタログ -Database -Table /Viewに分かれています。
カタログ
カタログはデータベースのコレクションです。
カタログは内部catalogと外部catalogに分かれています。内部catalogにはVeloDB独自のデータベースが含まれ、外部ディレクトリはVeloDBがデータレーク機能をサポートしているため、Hive、Iceberg、Hudiなどに接続できます。VeloDB Studioはカタログオブジェクトの直接削除をサポートしています。

Database
データベースはTable、ビュー、マテリアライズドビュー、関数のコレクションです。データベースはディレクトリに属します。ディレクトリが選択されると、ディレクトリ下のデータベースとデータベースのサイズを表示できます。同時に、ページ下でデータベースの作成、削除、名前変更を行うことができます。

Table
TableはVeloDBデータウェアハウスの基本単位であり、Tableはデータベースに属します。
データベースが選択されると、データベース下のTable、およびTableのサイズ、作成・変更時刻を表示できます。

Tableをクリックすると、Tableの詳細管理ページに入り、TableのDDL定義、フィールド、インデックスなどの情報を表示できます。

Data PreviewページはTableのデータを迅速にプレビューするために使用され、デフォルトでインターフェースからTableの最初の100件のデータをプレビューします。「Total x data」はメタデータサービスから取得されるため、遅延が生じる可能性があります。

View
ビューはSQL文の結果セットに基づく視覚的なTableです。ビューページはTableページとほぼ同様です。ビューが持たない属性(インデックス、詳細など)は表示されません。ビューもデータプレビュー機能(最初の100件のデータ)をサポートしています。
Materialized View
Materialized Viewは、クエリ結果を事前計算して保存するTableで、クエリパフォーマンスを加速し、リアルタイム計算の圧迫を軽減するために使用できます。Studioデータベースページでは、データベース下のマテリアライズドビュー情報をリストできます。
ファンクション
Studioデータベースページでは、データベース下の関数情報をリストでき、関数タイプ、戻り値タイプ、作成文などの情報の表示をサポートしています。
SQL Editor
クエリ結果は編集ボックス下に返され、クエリによって返されるエラーまたは成功ステータスと情報もクエリ結果に表示されます。
同時に、**Run (LIMIT 1000)**の右側のドロップダウンボタンをクリックし、Run and Downloadに切り替えてクエリ結果をダウンロードできます。

セッションレコードは、SQL EditorでTabを開いた履歴です。レコード内のSQL文をクリックしてSQL Editorにコピーし、実行できます。

クエリ履歴は、SQL editorで実行したSQL文の履歴です。レコード内のSQL文をクリックして文のProfile情報を表示できます。
注記 非クエリ文や失敗した文にはQuery IDがありません。

デフォルトでは、Studioで開始されたクエリに対してクエリプランが有効になっており、単一クエリのパフォーマンスには影響しません。「Query Statement」をクリックして実行プランページに入ります。
ダウンロードボタンでは、純粋なTEXT形式のProfile情報と視覚的なProfile画像を含むProfile情報をダウンロードできます。
Import ProfileボタンではTEXT形式のProfile情報をインポートでき、インポート後に視覚的にProfileを表示できます。これにより、他のクライアントから開始されたクエリを視覚的に分析できます。

Studioには一部のテストデータセット用のサンプルクエリ文が組み込まれており、簡単なパフォーマンステストに役立ちます。

結果パネルでは、クエリ結果、実行時間、行数などを含むSQL文の実行結果を表示できます。検索ボックスを通じて結果を検索したり、Tableヘッダーをクリックして結果をソートしたりすることもできます。

Session Management
セッション管理により、管理者ユーザーはリソースの使用を管理し、重要なクエリを優先してシステムパフォーマンスを向上させることができ、実行時間、クエリを開始したユーザー、使用されているリソースなど、各セッションの詳細情報を提供します。
現在実行中のすべてのSQLクエリを表示し、問題を引き起こしたり実行時間が期待を超えるクエリを終了できます。

Tableをチェックして、スキャンサイズ、スキャン行数、返却行数など、実行中のSQLクエリに関するより多くの情報を表示できます。

セッションのQuery IDをクリックして、実行ユーザー、セッションを受信したFEノード、SQLの実行プラン(Profile)を含むセッションの完全な情報をさらに表示できます。

Query Audit
クエリ監査は、システムで実行されたクエリ履歴を監査・分析するために使用されます。パフォーマンスの悪いクエリをフィルタリングして特定し、データベースのパフォーマンスを最適化できます。
このツールには、各クエリの実行プランとリソース使用量に関する洞察を得るための分析が含まれています。クエリパフォーマンスの追跡、トレンドの発見、問題の診断のためのワンストップソリューションとして機能します。
履歴クエリをフィルタリングでき、List Selectionでは、分析を支援するためにより多くの次元を選択できます。
「Query ID」をクリックしてクエリ詳細ページに入ります。より多くのQuery情報を表示できます。Profileが有効になっている場合、このページでクエリプロファイルを表示できます。

Search Analysis
検索分析はVeloDB Studioによってローンチされました。これはログ分析シナリオ向けのクエリツールで、ログの検索、クエリ、カウントを簡単に行えます。
インタラクティブな検索分析インターフェースはKibana Discoverページに類似しており、ログ検索のための詳細な体験を最適化し、4つのエリアに分かれています:
-
上部の入力エリア:クラスタ、Table、時間フィールド、クエリ期間を選択します。メイン入力ボックスは、キーワード検索とSQLの2つのモードをサポートしています。
-
左側のフィールド表示・選択エリア:現在のTable内のすべてのフィールドを表示します。右側の詳細表示エリアに表示するフィールドを選択できます。フィールド上にホバーすると、このフィールドの5つの値と出現割合が表示されます。値によってさらにフィルタリングできます。フィルタリング条件は入力エリアのフィルタリング部分に反映されます。
-
中央のトレンドチャート表示・インタラクションエリア:一定の時間間隔で条件を満たすログの数を表示します。ユーザーはトレンドチャート上のボックスで期間を選択してクエリ期間を調整できます。
-
下部の詳細データ表示・インタラクションエリア:ログの詳細を表示し、クリックして特定のログの詳細を表示できます。TableとJSONの2つの形式をサポートしています。Table形式はフィルター条件のインタラクティブ作成もサポートしています。
Query > Search Analysisをクリックし、Tableをinternal_schema > audit_logとして選択すると、Studioは自動的にTable内のフィールドをクエリし、最初の時間フィールドを選択します。

左側のstateフィールドにホバーすると、最高頻度のstate値EOF、OK、ERRが表示され、割合も表示できます。さらに、プラス(+)またはマイナス(—)ボタンをクリックしてフィルター条件を作成することもできます。例えば、ERRの右のマイナス(—)ボタンをクリックすることで、ERRの右のマイナス(—)ボタンをクリックしてstate != ERRがフィルター条件に表示されます。

メイン入力ボックスでは、検索とSQLモードを使用してキーワードをクエリします。検索モードは転置インデックスを持つTableでのみサポートされています。
検索ボックス下でSearchを選択し、右側にGETを入力してQueryをクリックします。検索モードでは、キーワードGETを含むログを検索します。詳細のGETがハイライトされ、トレンドチャートのデータストリップ数も相応に変化します。

注記 任意のキーワードにマッチするMATCH_ANY文の検索は、ログ内の任意のフィールドにマッチできます。検索結果のハイライトはすべての検索キーワードに可能な限りマッチしますが、一部の特殊文字により、常に検索キーワードと正確にマッチするとは限りません。
検索では、"GET /api/v1/user"のように二重引用符でフレーズを囲むことができます。フレーズ全体にマッチします。フレーズはMATCH_PHRASEを使用してフレーズにマッチします。
より正確なマッチが必要な場合は、SQLパターンを使用できます。
検索ボックス下でSQLを選択し、SQLモードでSQL WHERE条件を入力してQueryをクリックします。

ログの詳細を展開し、TableまたはJSON形式を選択できます。Table形式はフィルターのインタラクティブ作成をサポートしています。

右側のコンテキスト検索をクリックして、このログの前後10件のログを表示します。コンテキスト検索でフィルター条件を追加し続けることができます。

新しいデータタイプVARIANTが導入されました。これは半構造化JSONデータを保存できます。VARIANTタイプは、いつでも変更される可能性のある複雑なネスト構造を処理するのに特に適しています。
StudioはVARIANTデータタイプを認識し、そのデータタイプの階層を自動的に展開し、特別なフィルタリング方法を提供します。
github_eventsTableを例に、VARIANTデータタイプのフィールドをフィルタリングする方法を示します。
フィルタリング条件では、VARIANTデータタイプのフィールドを選択し、その中のサブフィールドを選択してフィルタリングできます。

Workload Group Management
注記 Workload Group ManagementはVeloDB Cloud 4.0.0以上をサポートしています。
Workload Group ManagementはWorkload Groupの迅速な作成、編集、表示をサポートしています。Workload Groupを使用して、クラスタでのクエリとインポート負荷が使用するCPU/メモリ/IOリソース使用量を管理し、クラスタでのクエリの最大同時実行数を制御できます。

Workload Groupリスト上のTableフィルターでより多くの項目を表示できます。

新しいWorkload Groupインターフェースでは、パラメータのクエスチョンマークをクリックでき、パラメータの説明が表示されます。

Integrations
IntegrationsはVeloDB Cloudとwarehouse外部のデータを接続するポータルです。
現在、Stage統合(オブジェクトストレージ)とサンプルデータの2つの新しい統合を作成できます。

Object Storage
新しいオブジェクトストレージ統合を作成することで、オブジェクトストレージ内のデータとのConnectionを確立できます。Integrate + Copy Intoコマンドを通じて、オブジェクトストレージ内のデータをwarehouseにImportできます。
新しいオブジェクトストレージ統合を作成する際は、以下を入力する必要があります:
- 統合 Name:データベースオブジェクト命名規則と一致、最大64文字、文字、数字、アンダースコアが使用可能です。
- コメントs:統合コメント。
- バケット:統合する必要があるバケット。
- Default file path:バケット内でアクセスするファイルパス。VeloDBは記入したパス下のファイルのみアクセスします。記入しない場合、デフォルトはバケット全体のデータがアクセス可能です。
- Access Authorization:VeloDBがバケットにアクセスすることを許可する方法。Access keyとクロスアカウント認証に分かれています。セキュリティ向上のためクロスアカウント認証の使用を推奨します。クロスアカウント認証のガイドラインについては、IAM Cross-Account Access Guideを参照してください。統合を正常に作成するには権限チェックを通過する必要があります。
- Advanced 構成:詳細は以下をご覧ください。

File タイプとImport 構成に分かれています。これらは統合データをインポートする際に使用する可能性があるパラメータです。ここで設定するか、インポート時に指定できます。設定または指定しない場合、システムはデフォルト設定で統合のインポートタスクを実行します。

- File type:統合ストレージファイルのデフォルトタイプ。現在
csv、json、orc、parquetをサポートしています。デフォルトはシステムがファイル名サフィックスから推測します。 - Compression method:統合ストレージファイルのデフォルト圧縮タイプ。現在
gz、bz2、lz4、lzo、deflateをサポートしています。デフォルトはシステムがファイル名サフィックスから推測します。 - Column separator:統合ストレージファイルのデフォルト列区切り文字。デフォルト
\t。 - Line separator:統合ストレージファイルのデフォルト行区切り文字。デフォルト
\n。 - File size:この統合下のファイルをインポートする際のデフォルトインポートサイズ制限。デフォルトは無制限です。
- On Error:この統合下のファイルをインポートする際、データ品質が不適格な場合のデフォルトエラー処理方法。インポート継続、インポート停止、エラーデータの割合が一定値を超えない場合のインポート継続の3種類があります。
- Strict Mode:インポートプロセス中の列タイプ変換を厳密にフィルタリングします。デフォルトはオフです。
サンプル Data
新しいサンプルデータ統合の作成では、オブジェクトストレージ統合の作成を基にしてデータベースにサンプルデータをインポートします。そのため、作成を完了するにはクラスタを選択する必要があります。 TPCH、Github Event、SSB-FLATテストデータサイズには、sf1(1GB)、sf10(10GB)、sf100(100GB)の選択肢があり、ドロップダウンメニューで選択し、テストwarehouseはsf1(1GB)のみ選択できます。
ClickbenchにはSF100(100GB)の選択肢のみがあり、Clickbenchサンプルデータをインポートするためにはより大きなクラスタの使用を推奨します。

サンプルデータの詳細でインポート進捗を表示できます。

Permissions
User
VeloDBリポジトリ内のユーザーを表示します。なお、rootユーザーはここに表示されません。
Admin権限を持つユーザーのみが他のユーザーを追加・変更できます。

このページで新しいユーザーを作成できます。ユーザー名以外のコンテンツはオプションです。ただし、セキュリティ強化のためユーザーにパスワードを追加し、ホストへのアクセスを制限することを強く推奨します。

Role
ここでVeloDB内のロールを管理し、ロールに対する認証操作も実行できます。
Admin権限を持つユーザーのみが他のロールを追加・変更できます。
VeloDBは現在、ロールを通じたロール下のユーザー管理をサポートしていません。これは、ユーザーを作成または変更する際にロールを指定する必要があることを意味します。


Authorize
ユーザーまたはロールの詳細ページで、特定のユーザーまたはロール名をクリックして権限設定ページに入り、認証/取り消し操作を実行できます。認証/取り消しを実行するには、対応するレベルでAdminまたはGrant権限を持つ必要があります。
VeloDBでは、権限は以下のカテゴリに分かれています:
- Global:グローバル権限はデータベース全体レベルでの権限で、グローバル権限があれば、データベース内のすべての対応するオブジェクトに対して自動的に対応する権限を持ちます。
- Data:データリソースの権限を指します。レベルに従って認証でき、親レベルで権限を持てば、その子コンテンツの対応する権限を自動的に持ちます。
- Workload Group:Usage権限のみ。
- Resource:Resourceの権限で、GrantとUsageを含みます。
- Compute Group:メモリ分離クラスタはVeloDB 3.0に存在し、異なる計算グループのUsage権限を制御します。
- Cluster:VeloDB Cloud接続に存在し、異なるクラスタのUsage権限を制御します。

Import
VeloDB StudioはStream Load、Routine Load、Broker Load、Insert Into などの接続での読み込みタスクの管理をサポートし、現在以下の操作をサポートしています:
- 読み込みタスクの情報クエリ
- Routine Load、Broker Load、Insert Intoの停止
- Routine Loadの一時停止/編集/復旧
まずデータベースを選択し、次にそのデータベース下のすべての読み込みタスクを読み込みタスクリストで表示します。

読み込みタスク名をクリックして読み込みタスクの詳細情報を表示します。

IAM Role Setup Guide (AWS)
AWSコンソールでロールを作成し権限を追加するには、以下の手順を使用してください:
- IAMサービスにアクセスし、メニューからRolesを選択します。Create roleボタンをクリックします。

- Select trusted entityセクションでCustom trust policyを選択します。
以下の信頼ポリシー内の<velodb_role_arn>を実際のVeloDB warehouseのIAM Role ARNに置き換えてください。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "<velodb_role_arn>"
},
"Action": "sts:AssumeRole"
}
]
}
- ロールにアタッチしたい権限ポリシーを選択します。Nextボタンをクリックします。

- Role nameを設定し、Create roleボタンをクリックして完了します。

- ロール一覧でロール名をクリックします。要約セクションからARNの値をコピーして、VeloDB Cloudで値を提供します。
