とにかくシンプルなデータカタログが欲しい人におすすめな「Select Star」のご紹介

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

本記事では、界隈で注目を集めてきているSelect Starというデータカタログの紹介とデモを実施していきます。

そもそも、「データカタログって何?」という方のために軽く説明しておきますと、データカタログとはざっくり、 データベース・データレイク内のデータに対して、概要や特徴量、関連性などをまとめて一覧化しておくサービス です。え、それだけ?と思われるかもしれませんが、現代のデータ基盤はデータソースの数も増加してますし、BIなどから参照する分析用のデータ(データマート)の数も増加していることから、「とりあえずどんなデータがあるのか、ざっくり知りたいんだよね〜。」といったニーズが増えつつあります。

Select Starについて

Select Starは2020年にサンフランシスコで創業されたデータカタログのスタートアップです。シード期にて$2.5Mの資金調達に成功しており、その勢いのまま群雄割拠のデータカタログ市場に切り込んでいこうとしています。

Select Star raises seed to automatically document datasets for data scientists | TechCrunch

Select Starのデータカタログの特徴は、誰でも理解しやすい機能のシンプルさと、それを支えるメタデータ生成の自動化ロジックです。これまでのデータカタログは、良くも悪くも付与できるメタデータの種類が多かったため、データエンジニアやアナリスト以外のユーザーにとっては敷居の高いプロダクトでしたが、Select Starは30分あれば大体の機能を理解できるほどに取捨選択されています。

減らした分のユーザーの負担を何が肩代わりするかと言えば、裏側で走るメタデータ生成の自動化ロジックでしょう。機械学習が必要とされるハイコンテキストなメタデータを、今の段階でどれくらい自動生成できるかははっきりとはわかりませんが、上のTechCrunchの記事によれば注力していく領域の一つとのことです。

Select Starでは30日間の無料トライアルが用意されています。さっそく試していきましょう!

Redshiftと接続する

公式HPよりStart your 30 day Free Trialをクリックします。

Googleアカウントでサインアップを進めて行きます。

サインアップが完了すると、Select Starの初期設定画面に入ります。所属する組織情報を入力します。

データソースやツールを選択します。今回はパブリックに配置したRedshiftクラスタに対してコネクションを作成していきます。

Select Starでは、AWSやRedshift側でも下準備が必要みたいです。以降、Redshift - Select Starの手順に沿ってセットアップを進めて行きます。

まず、Select StarではRedshiftの監査ログとロギングを使用するようなので、監査ログとロギングの有効化とS3バケットの設定を行います。その後、Redshift内でユーザーを作成、各種権限を付与していきます。

-- Required for basic metadata & query history access
create user selectstar with password disable;
alter user selectstar syslog access unrestricted;
grant select on SVV_TABLE_INFO to selectstar;
grant select on SVV_TABLES to selectstar;
grant select on SVV_COLUMNS to selectstar;
grant select on STL_QUERYTEXT to selectstar;
grant select on STL_DDLTEXT to selectstar;
grant select on STL_QUERY to selectstar;

続いてSelect Starがアクセスに使用するIAM Userを作成してきます。アクセスキー - プログラムによるアクセスは有効化しておきます。

Redshift JSON Policy - Select Starで定義されているIAM Policyを作成し、アタッチします。<redshift-audit-log-bucket-name>はRedshiftクラスタが出力する監査ログのS3バケット名に置き換えてください。

IAM Userを作成後、画面を閉じる前に.csvのダウンロードをクリックしてシークレットキーを保存しておきます。

Select Starの設定画面に戻り、Redshiftクラスタのエンドポイントや認証情報を入力していきます。Connectをクリックすると接続確認が入ります。

その後、取り込むデータベースやスキーマを指定していきます。

完全なロードに最大24時間かかるようです。クラスタ内のデータ量は処理時間に影響していないようで、サンプルテーブルのみの状態でも18時間くらいかかりました。

ロード完了後、通知メールのリンクをクリックするとホーム画面にランディングします。次節より画面構成と機能を紐解いていきます。

画面構成と機能

こちらがSelect Starのホーム画面です。ホーム画面では、新規追加されたテーブルやアクセスが集中しているテーブルが一覧化されています。salesをクリックしてテーブル情報を見てみます。

salesテーブルの情報です。テーブル自体に付与するメタデータが上段、カラムごとのメタデータが下段に配置されています。赤矢印で指している箇所はTagDescriptionOwnerの追加・編集ができるボタンですが、少し深掘りして見ていきます。

Tagはリソース横断で付与できる共通のメタデータで、Select StarではCategoryStatusという2種類のTagが用意されています。各Tagはアイコンと名前とOwnerを設定可能です。Ownerはチーム単位でも指定可能です。

Descriptionは、画面上でそのまま編集ができるようになっています。

OwnerはBusiness OwnerTechnical Ownerの2種類用意されているので、コンテキスト別に管理者を分けておけそうですね。

下段のカラムごとのメタデータに移りまして、まずは微妙な空白に出現する+をクリックします。

こちらは主キーや外部キーを設定できる項目でした。外部キーではSelect Starに登録されている別テーブルのカラムと紐づけることができます。

カラムにもTagを付与することができますが、カラムに対してはStatusというTagのみ対応しています。

Lineageのタブは、今の段階では情報が少なくて描画されなかったので飛ばします。Queries & Joinsのタブではそのテーブルに対して実行されてSQLがログとして記録されるようになっています。

Top Usersのタブでは、Redshift内のユーザーのアクセス頻度を集計しています。後述しますが、Select Starのユーザーとデータベースユーザーを紐付けすることによって、ここの表記はSelect Starのユーザー情報としてフォーマットすることもできます。

Discussionのタブでは、スレッド形式で他のユーザーと対話が可能です。

Select StarではRedshiftのスキーマやデータベース層に対するメタデータはなく、階層構造を維持するためのリソースとしてのみ機能しているみたいです。

続いて、Tagについて見ていきます。先ほど付与したタグは、左メニューのTagsでも管理されるようになっています。

CategoryStatusも、どちらもリスト形式で並ぶようになっています。

最後に、検索機能についてです。検索バーはヘッダーについており、インタラクティブにリソースの検索が可能です。

キーワードを入力してエンターを押すと、検索結果の項目がずらっと並び、右側のパネルで詳細に絞り込みができるようになります。

普段ユーザーが使用する機能はSearchTagDataだけという、めちゃめちゃシンプルな作りになっています。これだけシンプルだと、どんな人でもスムーズにオンボーディングできそう。

管理系の機能

画面右上のユーザーアイコンをクリックし、Settingsをクリックすると管理系の設定が行えます。自身のアカウントに対しては、メール通知の設定やAPIキーの発行などが可能です。

AdminのRoleを持つユーザーは、Admin内の項目へもアクセス可能です。まずDataには、連携中のサービスの情報が掲載されます。Redshiftの中には、Redshift側のユーザー情報が登録されており、これらをSelect Starのユーザー情報と紐づけることができるようになっています。

Usersでは文字通りユーザーの管理画面です。ユーザーの招待や、招待中のユーザーが表示されます。

ユーザー招待時にRoleを付与する仕様になっています。

Teamsという括りの画面もありますが、スキーマやデータベースみたいに、TeamsもUsersを束ねるための階層構造としてのみ使われており、それ自体に特にメタデータは付与されません。

SSOやSlack連携もボタンを押してガイドに沿っておけば可能です。

Data Managerの項目へは、Data ManagerのRoleを持つユーザーがアクセス可能です。他のユーザー同士のDiscussionをまとめて確認したり、メタデータをCSVでアップロードしたりできます。

ご紹介は以上です!かなりシンプルな仕様だったので、ほとんどの機能は網羅できたのではないでしょうか。

所感

Select Starは意図的に機能を絞って、誰でも理解しやすいようUI/UX設計されている印象を受けました。シンプルな分、利用者の工夫も要求されるので、どのようにタグを作成してどう運用していくか、事前に方針を定めておく必要もありそうですね。

Redshift連携に関して言えば、監査ログを使ってユーザー行動やクエリ履歴を集計しているみたいなので、例えばawsuserしかクラスタ内にユーザーがおらず、メンバー全員がそれを使い回していたりすると、アクティビティが追いづらくなりそうに感じました。そのため、ある程度整っているデータ基盤だったり、構築したばかりのデータ基盤に対しては導入がしやすい製品かなと思います。

本アドベントカレンダーでは、今話題のデータ関連SaaSを取り上げていきますので、引き続き乞うご期待ください!