Oracle Autonomous DatabaseでのGraph Studioが(ほぼ)現実のものとなりました。 (2021/03/17)
Oracle Autonomous DatabaseでのGraph Studioが(ほぼ)現実のものとなりました。 (2021/03/17)
https://gianniceresa.com/2021/03/graph-studio-in-oracle-autonomous-database-is-almost-reality/
投稿者:Gianni Ceresa
Graph Studioは、グラフ分析を容易にするAutonomous Database上のツールのリストに追加されようとしています。
オラクルは、数年前からプロパティグラフをサポートしています。
当初は、SpatialグラフやRDFグラフと一緒に、追加のデータベースライセンスパックの一部として提供されていました。
2019年12月、素晴らしいニュースが飛び込んできました。
Spatial & GraphとMachine Learningが有料ライセンスではなくなり、
サポートされているOracle Databaseであれば無料で使用できるようになったのです。
無料になったことで、より多くのユーザーがプロパティグラフに興味を持つようになりましたが、まだ潜在的な問題がありました。
それは、製品をインストールして、どのように操作するかを見つけるという障害から始まる、急な学習曲線でした。
というのも、Oracle Property Graphの真価を発揮するのは、Graph Server(PGXは歴史的な名称)というコンポーネントで、これが本当のグラフエンジンなのです。
しかし、Graph Serverは主にRESTエンドポイントを持つエンジンであり、それを完全に使いこなすためのGUIなどの親切な方法はありません。
話を続ける前に、一言言わせてください。
私は、限定公開プログラムの一環として、Graph Studioにアクセスしています。
いつGAになるかはわからないので聞かないでください、たぶん数週間以内になると思います。遠くないはずです(主要なブロックポイントが見つかった場合を除く)。
このブログ記事は、Graph Studioとは何か、何ができるのかを大まかに説明したものであり、
どのように動作するかを詳細に分析したものではありません。今後の記事では、より詳細な説明をする予定です。
私はこのツールを何時間か使ってみて、気に入った点、別の方法がいいと思う点、気に入らない点について自分なりの意見を持っています。
Graph Studioはシンプル
誤解を恐れずに言えば、Graph ServerのRPMインストーラ、公式Apache Zeppelinインタープリタ、
完全なJavaクライアント、Graph Visualizer(Webベースのクエリおよびビジュアライザツール)、
PGQL(グラフクエリ言語)、OPG_APISデータベースパッケージ、SQLclプラグインなど、すべてのツールが存在し、それらを使用することができました。
どこから手をつけていいのかわからない、というのが現状です。
ここで、Graph Studioがあなたをサポートします。
Graph Studioは、Oracle Property Graphの既存の部分をすべて集めて、1つのツールとして公開したものと考えることができます。
これは、Oracle Cloudのスタンドアロン製品ではなく、Oracle Autonomous Database(ADB)のツールです。
ADWとATP(Autonomous Data Warehouse and Autonomous Transaction Processing)の両方で利用可能で、
ADBで利用可能な他のいくつかのツールの隣にあるのが特徴です。
Graph Studioとは何ですか?
簡単に言えばWebページ、少し長い言い方をすればWebアプリケーションということになります。
完全なWebベースで、画面やウィザードをクリックしたり、ボタンをクリックしたり、スイッチを切り替えたりしてアクションを実行することができます。
バックグラウンドでは、Graph StudioがADBと連動し、コンピューティングリソースを起動したり停止したり、複数のクラウドコンポーネントに関わる様々なアクションを実行します。
今回のブログでは、典型的な「プロパティグラフ分析」タスクのさまざまなステップと、
それらをGraph Studioがどのようにカバーしているかを紹介します。
今後の記事では、より詳細な説明をしていきます。
すべてはデータから始まる...。
プロパティグラフの旅は、まずデータから始まります。
Graph Studioでは、この点に着目して、従来に比べて簡単な作業を行っています。
ほとんどの場合、データセットはリレーショナルデータとしてデータベースに登録されています。
そうではなく、ファイルであれば、ADBに簡単に読み込むことができます。
Graph Studioには、直感的なウィザードがあり、リレーショナルソースからグラフを作成する手順を説明してくれます。
既存の主キーと外部キーの制約に基づいて、データセットのどの部分がノードまたはエッジであるかを提案します。
これは、グラフ設計の重要なポイントです。
つまり、グラフを構成するノードとエッジ、およびそれらのプロパティを特定することです。
ウィザードは、どのテーブルがノードやエッジになるかを自動的に提案します。
グラフの構造を見ることは、それが自分の求めていることを実現しているかどうかを知る最良の方法です(同じデータセットをさまざまなグラフでモデル化することができますが、
それらはすべて「正しい」のであって、何を必要としているかによります)。
ブラウザでは、クリックしてプロパティを選択・解除したり、要素の名前を変更したりして、グラフの構造を構築することができます。
「クリック、クリック、クリック」だけなのでしょうか?
そんなことはありません。ウィザードが生成しているコードも表示されます。
グラフデータの作成と読み込みに使われたPGQLクエリにアクセスできます。
既にPGQLがある場合はアップロードできますし、生成されたものを調整することもできます。
ソースデータからグラフへ
グラフのデザインができたら、次はそれを実現する番です。
グラフをデータベースに生成し、グラフを含むProperty Graph Schema Objectsを作成するだけにすることもできます。
あるいは、データベースにグラフを生成するだけでなく、グラフをメモリ上のGraph Serverにロードして、
パワフルな分析やアルゴリズムの実行、機械学習などを行うこともできます。
Graph Studioがなければ、JShellセッションでJavaとPGQLの塊だったものが、今ではボタン1つでクリックできます。
シンプルなクエリならインメモリ・グラフエンジンは不要
データベースにグラフが存在していれば、メモリ上のGraph Serverに読み込まなくても、クエリを実行できます。
Graph Studioでは、Webページ経由でデータベースに対してPGQLクエリを実行することができます。
Graph Studioがない場合、同じことをするには、SQLclプラグインか、Graph Client JShell(またはGroovy)の対話型コマンドラインが必要です。
Oracle Database上でPGQLクエリを実行することはできますが、データベースはPGQLを全く話しません。
これが、PGQLを標準SQLに変換するために、間にグラフクライアントが必要となる理由です。
Graph Studioでは、データベースにクエリを送信する前に、バックグラウンドでそれを行います。
グラフ分析の可能性を最大限に引き出します
データベースに対してシンプルなPGQLクエリを実行するのもいいですが、正直に言うと、あなたが本当に求めているものは別のところにあります。
複雑なPGQLクエリや、最も身近なものから理解するのに博士号が必要なものまでのアルゴリズム(冗談ですが、必ずしも間違っているわけではありません)、
そしてグラフ上の真の機械学習など、グラフ分析のフルパワーは、インメモリ・グラフエンジンであるGraph Serverにあります。
Graph Serverでグラフを読み込むことは、プロパティグラフを探索しようと思ったときに、
最初の障害となるポイントの一つであることがよくありました。
Graph Studioでは、ワンクリックでそれが可能です。
また、グラフがメモリ上にあれば、(Apache Zeppelinをベースにした)Notebookを開いて、フレンドリーにタスクを実行することができます。
Notebookの力を過小評価してはいけません。
マークダウンの段落とPGQLクエリを組み合わせてコードを文書化し、その結果を視覚的に表現したり、
アルゴリズムを実行するためのJavaコールを表示することができるのです。
Notebookをよりダイナミックにするために、プロンプトを追加することもできます。
Notebookは、ビジネスから開発者まで、さまざまなプロファイルに対応しています。
Graph Studioがなければ、自分でNotebook(Apache ZeppelinやJupyter)をインストールし、
インタープリタやGraph Serverへの接続に必要なライブラリを設定しなければならない。
あるいは、Graph VisualizerのWebアプリケーションをどこかに配置しなければなりませんが、Graph Clientのコマンドラインで十分だという人は別です。
Graph Studioは奇跡的なツールなのでしょうか?
いいえ、そんなことはありません。
上に書いたような印象を持たれるかもしれませんが、これまでに様々な方法で可能だったことを実現しているわけではありません。
Graph Studioは、Oracle Property Graphsの険しい学習曲線を変えることができますか?
肯定的です。技術的、インフラ的な制限がなくなりました。
最低限のコンポーネントをインストールするだけでも大変なのに、フレンドリーな環境を整えるとなると、さらに大変なことになります。
Graph Studioを使えば、Oracle Autonomous Databaseからワンクリックでプロパティグラフにアクセスできるようになります。
データとグラフに集中することができます。数分で本格的な調査・分析が可能です。
Graph Studioでは、バックグラウンドで様々なことが行われていますが、表示されるのは、実行されたジョブのリストとそのステータス、詳細なログだけです。
Graph Studioは私の人生を変えるか?
私はプロパティグラフ、もっと言えばOracleのプロパティグラフを探求して4年近くになります。
Graph Studioの前からグラフを使っていましたが、Graph Studioの間も後も続けるつもりです。
私はサンドボックスや開発環境(多くはDockerイメージ)をJupyter Notebookで開発していますが、Oracle Property Graphを含む様々なツールも使っています。
自分の環境を使い続けるのは、それが自分のニーズに合わせてカスタマイズしたものだからです。
違いは、私が誰かとプロパティグラフについて話をして、見てみましょうと提案するときに、
何ページものインストール手順、何十ものドキュメントへのリンク、バイナリのダウンロードなどを送る必要がないということです。
すぐにグラフをテストすることができるようになります。
Graph Studioの位置づけについてですが、私の個人的な意見としては、
グラフ分析を本番で "ライブ "で行うためのツールではないと思っています。
どちらかというと、サンドボックス、開発環境のようなものです。
本番に導入したい有用なグラフやグラフ分析を特定するための場所です。
本番環境での作業は、独立した方法で行うことになります(本番環境を動かすためのルールがあるので、誰もがコントロールなしにいつでも物事を変更することはできないはずです)。
コメント
コメントを投稿