Knowledge Catalog のインサイトを表示する
Firestore リソースを検索して管理するには、Knowledge Catalog を使用できます。これは、メタデータを保存、管理、アクセスするためのプラットフォームです。Knowledge Catalog を使用すると、Firestore メタデータを分析して、次のようなタスクを支援できます。
- 分析(依存関係やユースケースへの適合性など)
- チェンジ マネジメント
- スキーマ進化
Knowledge Catalog は、新規および既存の Firestore データベースでデフォルトで有効になっており、次のメタデータを自動的に取得します。
| リソース | タイプ | フィールド |
|---|---|---|
| データベース | コントロール プレーン |
|
| データベース スキーマ | データプレーン |
|
始める前に
Firestore で Knowledge Catalog インサイトを使用するには、まず Firestore データベースが必要です。詳細については、 データベースの作成と管理をご覧ください。
検索結果にアクセスするために必要なロール
Knowledge Catalog で Firestore メタデータを検索して表示するには、プリンシパルに dataplex.projects.search 権限など、Firestore リソースを表示する権限が必要です。
プリンシパル(ユーザー、
グループ、サービス アカウントなど)にこれらの権限を付与するには、Firestore
リソースを含むプロジェクトに対する
Cloud Datastore 閲覧者(roles/datastore.viewer)
IAM ロールを割り当てます。
| Knowledge Catalog オペレーション | Firestore リソース | 必要なロールまたは権限 |
|---|---|---|
| Firestore リソースを検索する | データベース | datastore.databases.getMetadata |
| データベース スキーマ | datastore.schemas.get |
ロールの付与の詳細については、 アクセス権の管理をご覧ください。 Firestore IAM ロールの詳細については、 Firestore のロールと権限をご覧ください。
エントリの検索に必要なロール
エントリを検索するには、検索に使用するプロジェクトに対する次の IAM ロールが 1 つ以上必要です。
- Dataplex Catalog 管理者(
roles/dataplex.catalogAdmin) - Dataplex Catalog 編集者(
roles/dataplex.catalogEditor) - Dataplex Catalog 閲覧者(
roles/dataplex.catalogViewer)
検索結果に対する権限は、選択したプロジェクトにかかわらずチェックされます。詳細については、 Knowledge Catalog でデータアセットを検索するをご覧ください。
メタデータ検出の種類
Knowledge Catalog メタデータ検出は、接続されたデータソース(Firestore など)をスキャンして、データアセット(コレクションやデータベースなど)を特定し、そのテクニカル メタデータ(スキーマ、説明、ロケーションなど)を Knowledge Catalog カタログに抽出する自動プロセスです。このプロセスは定期的に実行され、カタログとソースシステムの同期を維持します。
キーワード検索と自然言語検索
Knowledge Catalog では、キーワード検索と自然言語検索をサポートしています。
- キーワード検索では、特定のキーワード、フィルタ、定義された構文を使用してリソースを検索できます。たとえば、「
system=Firestore AND type=Database」と入力すると、すべての Firestore データベースが表示されます。 - 自然言語検索(プレビュー)は、AI を使用してセマンティック クエリを理解します。普段使う言葉でリソースを検索できるため、複雑な構文を使用する必要はありません。たとえば、「
List all Firestore databases related to sales」などのクエリを入力できます。
詳細については、 Knowledge Catalog の検索構文をご覧ください。
例: Firestore コレクション グループ スキーマを検出する
メタデータ検出プロセスを理解するために、user-firestore-database という名前の Firestore データベースを考えてみましょう。このデータベースには、user-schema という名前のコレクション グループ スキーマがあります。
検出が完了すると、コンソールの Knowledge Catalog ページまたは Knowledge Catalog API を使用して、これらのアセット(user-firestore-database
と user-schema)を検索できます。
Google Cloud その後、アセットの詳細を表示し、追加のビジネス メタデータまたは運用メタデータで拡充できます。
アスペクトを使用してメタデータを拡充する
アスペクト タイプは、アスペクトのテンプレートとして使用できる再利用可能なリソースです。アスペクト タイプを使用すると、作業の重複や不完全なアスペクトを回避できます。 Knowledge Catalog では、必要なアスペクト タイプを作成できます。
カスタム アスペクト タイプを作成したら、Firestore リソースにアスペクトを追加できます。リソースにアスペクトを追加すると、次のことが可能になります。
- アセットにビジネス メタデータを追加する。
- ビジネス メタデータやその他のカスタム メタデータでアセットを検索する。
アスペクト タイプの作成と Firestore へのアスペクトの追加の詳細については、 アスペクトを管理してメタデータを拡充するをご覧ください。
Firestore アセットを検索する
コンソールの Knowledge Catalog 検索ページを使用して、Firestore アセットを検索します。 Google Cloud
Knowledge Catalog の [検索] ページに移動します。
[フィルタ] パネルで [システム] をクリックし、[Firestore] を選択します。
省略可。[タイプ エイリアス] で、次のいずれかのタイプ エイリアスを選択すると、特定のタイプの Firestore アセットで検索結果をフィルタできます。
- データベース
- データベース スキーマ
- その他
クエリを使用してキーワード検索を行う
Knowledge Catalog の検索フィールドを使用して、キーワード検索クエリを実行できます。たとえば、「system=Firestore AND type=Database」と入力すると、すべての Firestore データベースが表示されます。
詳細については、 Knowledge Catalog の検索構文をご覧ください。
すべての Firestore アセットを表示するには、「system=Firestore」と入力します。特定のキーワードを入力できます。たとえば、すべての Firestore データベースを表示するには、次のクエリを入力します。
system=Firestore AND type=Database
複雑な式では、かっこと論理演算子(AND、OR)を使用することもできます。検索フィールドで使用できる式の詳細については、Knowledge Catalog の検索構文をご覧ください。
検索フィールドに、特定の Firestore アセットの検索クエリを直接入力できます。クエリ文字列の形式は次のとおりです。
type="projects/dataplex-types/locations/global/entryTypes/QUERY_STRING"
次のように置き換えます。
QUERY_STRING: 次のリストを使用して、クエリする Firestore アセットタイプに応じたクエリ文字列を特定します。firestore-databasefirestore-schema
クエリの例を次に示します。
type="projects/1234567890/locations/global/entryTypes/firestore-schema"
アスペクト タイプで検索する
Knowledge Catalog には、検索に使用できる組み込みのアスペクト タイプがいくつかあります。
アスペクト タイプで検索する手順は次のとおりです。
- [アスペクト] パネルで、[アスペクト タイプを追加] メニューをクリックします。
- 「
Firestore」と入力し、次のアスペクト タイプを 1 つ以上選択して、検索結果をそのタイプに絞り込みます。- Firestore データベース
- Firestore スキーマ
- [OK] をクリックします。
- 結果のテーブルでアセットの名前をクリックすると、そのアセットのメタデータが表示されます。
- 省略可: アセットを拡充または表示します。次の操作を行うことができます。
- アセットのリッチテキストによる説明を追加するには、[概要] で [追加] をクリックします。
- アセットにアスペクトを追加するには、[アスペクト] で [追加] をクリックします。
- インスタンスのメンバー データベースを表示するには、[エントリリスト] タブをクリックし、[検索結果の子エントリをすべて表示] をクリックします。
- [**エンティティの詳細**] で、アセットの詳細を確認します。エントリ名をクリックして、他のエントリにドリルダウンします。
Firestore の自然言語検索
自然言語検索(プレビュー)は、AI を使用してセマンティック クエリを理解します。普段使う言葉でリソースを検索できるため、複雑な構文を使用する必要はありません。たとえば、「List all Firestore collections related to sales」などのクエリを入力できます。
詳細については、 Knowledge Catalog の検索構文をご覧ください。
Firestore の構文検索
キーワード検索では、特定のキーワード、フィルタ、定義された構文を使用してリソースを検索できます。たとえば、「system=Firestore AND type=Database」と入力すると、すべての Firestore データベースが表示されます。
詳細については、 Knowledge Catalog の検索構文をご覧ください。
ワークフローの例: データベースからスキーマにドリルダウンする
データベースからスキーマにドリルダウンする手順は次のとおりです。
Knowledge Catalog の [検索] ページに移動します。
[フィルタパネル] で、[システム]、[Firestore] の順に選択します。 または、検索フィールドに「
system=Firestore」と入力します。データベースを選択します。
[Firestore の詳細] ページで、[エントリリスト] タブをクリックし、[検索結果の子エントリをすべて表示] をクリックします。
[Firestore データベースの詳細] ページで、[エントリリスト] タブをクリックし、[検索結果の子エントリをすべて表示] をクリックします。Knowledge Catalog にデータベース内のコレクション グループが表示されます。
コレクション グループ名を選択し、[コレクション グループの詳細] ページで [スキーマ] をクリックしてスキーマを表示します。
省略可: データベースにアスペクト タイプを追加するには、[アスペクトを追加] ボタンをクリックします。
料金
Knowledge Catalog に Firestore テクニカル メタデータを保存する場合、料金は発生しません。 API 呼び出しと追加のビジネス メタデータの拡充には、Knowledge Catalog の標準の料金が適用されます。詳細については、 Knowledge Catalog の料金ページをご覧ください。
制限事項
- 10,000 個のコレクション グループが取り込まれると、クエリ結果が切り捨てられます。
- バッチ取り込み中に、データベースの更新が Knowledge Catalog に反映されるまでに最大 48 時間かかることがあります。
- ライブ取り込み中に、データベースの更新が Knowledge Catalog に反映されるまでに最大 5 分かかることがあります。
- ライブ取り込み中にコレクション グループは更新されません。
- コレクション グループ スキーマはライブ取り込み中に更新されますが、この更新はアルファベット順の最初の 100 個の最上位プリミティブ フィールドのみを対象としています。残りのスキーマ情報は、ライブ取り込み後 24 ~ 48 時間後に更新されます。
- 抽出プロセスには数分かかることがあります。