EnvisionでMarkLogicデータハブのコンセプトやデータを扱う

11月 25, 2020 データと AI, MarkLogic

シンプルなGUIを使いたいですか?  誰でも理解できるようにデータモデルを視覚的に表現したいですか(アーキテクトやDBAによるコーディングなしで)?

コミュニティツールであるMarkLogicデータハブ用Envisionは、こういった願いを実現します。シンプルなグラフを描くことで、データハブのエンティティサービスデータに意味を与えてエンリッチできます。Envisionを使えば、ノーコードでMarkLogicデータハブのエンティティを作成できます。

Envisionとは何か?

EnvisionはMarkLogicデータハブ用のアプリケーションスイートで、データハブのデータモデリングや探索を視覚的に行えます。

注:MarkLogicデータハブ用Envisionは、コミュニティツールです。このため、MarkLogic社によってサポートされておらず、ベストエフォートで更新・修正されます。このツールを改善するための、コントリビューションやフィードバックをお待ちしております。Envisionは、MarkLogic 10.0-2およびMarkLogicデータハブ5.1.0がインストールされていることを前提としています。

Envisionの想定利用者

Envisionは、データモデルを使って共同作業するデータアーキテクトやビジネス部門の利用を想定しており、ビジネスエンティティやその関係性を表現するGUIを提供します。読みにくいER図UML(あとからDBAが表やキーに作り替えなくてはいけないもの)とは対照的に、EnvisionはMarkLogicデータハブに直接接続したシンプルな作りになっています。優雅なほどシンプルかつ強力です。ホワイトボードに図を描く感覚で利用できますが、柔軟なマルチモデルデータベースに繋がっています。

その仕組み

従来、データに関心があるのは限られた専門家グループだけでした。子供の頃、釘やネジを入れた道具箱が地下室にあったことでしょう。この道具箱の小さな引き出しを開けて、絵を掛けるための釘を探したりしませんでしたか? データは、この道具箱の小分けされたの引き出しのように、行や列に収納されています。

今日、データは組織において最も重要なアセットとなっています。誰もが自分の業務でデータを使用しています。データに関心がある人またデータを扱う人が増えるにつれ、データのモデリングおよび探索用のシンプルな視覚化ツールが求められるようになりました。

データモデリングとは

データモデリングとは、新しい用途のためにデータを新しい形式にすることです。MarkLogicでは、サイロに分断されたデータを統合するためにデータハブを使用しています。これにより、これまで一度も一緒にされることのなかった部分をまとめて全体像を新しく生み出すことができます。モデリングはホワイトボードを使った議論中に行われることもありますが、そのような場合、あまり詳細なものにはなりえません。参加者とそのロールに依存するからです。私自身そういったミーティングに数多く参加したことがありますが、クリエイティブで勢いがあって楽しいものです。いずれにせよ参加しているのが誰であれ、いつも丸を描いて線でつなぐところから話が始まります。

Envision Connect

Envisionの強力なConnectアプリケーションでも、丸と線を描くことでデータモデルを作成していきます。丸はエンティティを、線は関係性を表します。顧客による商品の注文をモデリングしたい場合、まずキャンバス上に丸を描いて、これにCustomerと名前を付けます。

次に、フィールドをクリックしてプロパティを追加します(orderIdなど)。さらに、「places order(発注する)」といったセマンティックな(意味を表す)関係性を線で表現します。また、完全に概念的なエンティティを作成することもできます(「注文」と「新規商品カタログ」をリンクした「商品カテゴリ」など)。

Envision Connectでは、丸でエンティティを、線で関係性をモデリングします。

共同作業において、このように丸や線を使うことでデータモデルを素早く作成できます。これで、社内の他のグループとモデルを効率的に共有できるようになります。

せっかくホワイトボードに描いたのに他の人に消されてしまう心配はありません。作業はすべてMarkLogic内に記録されます。

このように絵で描けるのは素晴らしいです。シンプルな図は何千行ものSQLに匹敵するでしょう。しかしそれだけではありません。EnvisionはMarkLogicのデータハブフレームワークと直接統合されているのです。Envision Connectでデザインしたエンティティは、データハブフレームワーク内で自分がコーディングしたマッピング/ハーモナイゼーション/マスタリングでそのまま使用できます。あるいはもう1つの視覚化ツールであるQuickStartで利用できます。

Envision Explore

EnvisionはMarkLogicデータハブと密に統合されており、EnvisionのExploreアプリケーションでは検索可能なグラフを提供できます。これにより自分が作成したデータモデルの形式でデータを表示できます。データハブのマッピングおよびマスタリングのフローを実行したあとで、データハブ内でグラフを視覚的に表現できます。モデリング時に使用したのと同じ丸や線が表示されますが、今度はデータハブに追加した各インスタンスごとに丸が表示されます。グラフをクリック&ドラッグあるいは検索フィールドに入力することで、さらに探索(確認)していくことができます。MarkLogicのマルチモデルデータベースのさまざまな機能により、特定のエンティティだけを表示するようにフィルタリングできます。また「エンティティ対エンティティ」および「エンティティ対コンセプト」の関係性を、GUIで拡張できます。

Envision Exploreは検索可能なグラフを提供します。これにより自分が作成したデータモデルの形式でデータを表示できます。 

データのマスタリングが済んでおり、2つのエンティティインスタンスをマージしてある場合、Envision Exploreでアンマージできます。

また、Exploreで出自情報を表示できます。例えば、特定のエンティティインスタンスを作成したのはどのデータハブフローなのかを表示できます。

Envision Know

MarkLogicデータハブでは、ネイティブのトリプルストアを利用しています。エンティティとその関係性の裏には洗練されたセマンティックモデルがあり、Envision Knowを使ってデータハブのオントロジーを確認できます。

Envision Knowを使ってデータハブのオントロジーを確認できます。

始め方

Envisionは自分で構築することも、あるいは.jarファイルとしてデータハブに対して実行することもできます。さっそくGitHub Wiki guide for Envision を見て始めてみましょう。

関連リソース

  • Envision GitHubドキュメント — 最初のEnvisionプロジェクトを始めてみましょう。
  • Envision GitHubレポジトリ — さっそくソースをクローンあるいはダウンロードしましょう。ドキュメントとビデオを確認してください。GitHubのissuesを使って問題点を報告することもできます。

フランク・ルビーノ

フランクは、アドビシステムズでコンピュータサイエンティストとして10年間キャリアを積み、Creative Suiteのコラボレーション、XML、およびデータ駆動型の機能を構築した後、 2006年にMarkLogicに入社しました。MarkLogicではシニアプリンシパルコンサルタントとして、ピアソン、HMH、Publishers Press、マグロウヒル、コングレショナル・クォータリーなどのために働いていました。MarkLogicを離れた後、Spectrum Chemical & Laboratory ProductsのCTOを務め、そこでOracle EBSの移行や、コンテンツマーケティングにMarkLogicを使用したeコマースWebサイトの再構築を主導しました。Spectrumの後、Kaplan Publishingで技術およびUXのエグゼクティブディレクターを務め、 200,000人の学生向けのモバイルコンテンツ配信プラットフォームを構築しました。2011年に、MarkLogicに再び入社し、ソリューションディレクターに就任。開発、アーキテクチャ、セールスといったさまざまなプロジェクトを楽しんでいます。@xmlnovelistでツイートしています。