BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース COMN(Concept and Object Modeling Notation)によるNoSQLデータベースのデータモデリング

COMN(Concept and Object Modeling Notation)によるNoSQLデータベースのデータモデリング

原文(投稿日:2018/10/22)へのリンク

Ted Hills氏は先日のData Architecture Summit 2018 Conferenceで、リレーショナルおよびNoSQLデータベースのデータモデリングに関するワークショップを開催した

NoSQLのムーブメントによって、データベースコミュニティは2つのことを認識できた、と氏は言う。ひとつは、すべてのアプリケーションがACIDを必要とするわけではなく、ACIDを緩めることでインターネット規模へのスケールアップが可能になった、ということだ。もうひとつは、表形式のデータ構成はいまだ多くのデータに適しているが、データセットには不適切であるという点だ。しかし、時間の経過とともにSQL/NoSQLという大きな違いはなくなり、DBMSユーザは選択肢が増えたことによるメリットを享受するようになるだろう。

エンティティ・リレーションシップ(ER)モデリング技法は、SQLデータベースでは長く使用されてきたが、NoSQLデータベースでは同じように機能しない。Hills氏はワークショップで、コンセプトおよびオブジェクトモデリング表記法(Concept and Object Modeling Notation)(COMN、“コモン”と呼ぶ)について論じた。COMNは、さまざまなNoSQLデータベースがサポートする新しいデータ構造を表現するために使用される。

氏は、新たなマルチモデルNoSQLデータベースを表現するための、COMN表記法の約束について説明した。これはデータモデル設計者だけでなく、データに合わせてソフトウェアをCOMNでモデリングするプログラマも使用可能なものだ。Hills氏はさらに、スキーマレスデータベースのモデリング方法についても説明した。

NoSQLデータベースのデータモデリングとCOMN表記の特徴を氏に聞いた。

InfoQ:COMN(Concept and Object Modeling Notation)の定義をお願いします。

Ted Hills:  COMNは要件、グラフ、オントロジ述語、論理データ、ソフトウェアクラス構造、およびNoSQLとSQLの物理的実装構造を、分かりやすいグラフィックによる記述(箱と線)で表現することの可能なデータモデリング表記法です。非従来型の実装における、これらレイヤ間の重要なマッピングのモデリングを可能にします。

InfoQ: COMNについて、NoSQLデータベースのコンテキストから説明して頂けますか、リレーショナルデータベースのモデリングとはどのように違うのでしょうか?

Hills:  E-R(Entity-Relationship)などの表記法は、データが最終的に表形式で格納されることを前提としています。NoSQLデータベースの登場で、データをグラフやドキュメント、あるいはワイドカラムテーブルやカラム指向テーブル、キー/バリューペアなどで格納することが可能になりました。論理データ設計から物理設計へのほぼ1:1のマッピングは、もはや想定できません。加えて、非テーブル構造のモデリングやクエリのモデリングなど、物理的な実装のモデリングは従来にも増して重要になっています。この多種多様な物理構造を表記し、それらが表現するデータへの重要なマッピングを可能にするものがCOMNなのです。

InfoQ: データモデリングのアプローチは、例えばCassandraのようなワイド列データベースとNeo4jのようなグラフデータベースのように、NoSQLの形式によって違うものなのでしょうか?

Hills:  そうですね、データモデリングで重要な部分は、ほとんどのNoSQLデータベース形式で異なります。プロパティグラフのデータモデルではリレーションを重視しますが、ノードとリレーションの両方にデータ属性がアノテーションされます。知識グラフのデータモデルでもリレーションは重視されますが、サブタイプ/スーパータイプのリレーションが加わります。ドキュメント(XMLおよびJSON)データモデルでは、階層的なリレーションが前面に置かれます。このように、NoSQLデータベースの形式ごとに物理的データのフォーカスは違うのですが、COMNはどのモデリングでも同じように効果的です。さらに、これらすべての非従来型データ構造とテーブル構造(なくなった訳ではありません)を並列的に表記し、物理的モデルを論理データモデルへ逆に関連付けることによって、理想的には、物理的な表現形式の選択に影響されないものにすることが可能なのです。

InfoQ: マルチモデルのNoSQLデータベースについて説明してください。さまざまなデータ構造のデータ管理において、それがどのように役立つのでしょうか?

Hills: NoSQLの世界では、アプリケーションに最適なデータの物理表現方法を選択する必要があります。ランダム書き込みが必要なのか、あるいはログの最後に書き込めればよいのか?階層的なドキュメント構造で組織化されたデータが必要なのか、あるいは関連性で整理するのか?ほどんとのNoSQL DBMSは、データ構成方法としてひとつの方法しか提供しません。データ編成を変更する必要のある場合、あるいは複数の方法で編成しなければならない場合は、DBMS全体を変更しなければなりません。これは同時に、さまざまなベンダ、さまざまなサポート要件、さまざまな言語とAPIを扱うということでもあります。複雑なデータベースです。複数のデータ編成をサポート可能なハイブリッドDBMSを代わりに使用すれば、データの管理に複数のアプローチを使うのはずっと簡単になりますし、途中で変更するのも簡単です。

InfoQ: マイクロサービスは一般的に、データモデリングにどのように役立つのでしょうか?

Hills: マイクロサービスがデータモデリング作業そのものに役立つとは言えませんが、データ構造に対しては大きなプラスの影響を与えます。マイクロサービスは自己充足的に設計される必要があり、必要なデータはすべてローカルに保持しなくてはなりません。この対象には2種類のデータがあります。マイクロサービスが生成し維持するデータと、マイクロサービスが外部ソースから取得する必要のあるデータです。データがマイクロサービス外部にどのように格納されるかという物理データモデルは、マイクロサービス自体には関係がありませんが、マイクロサービスにどのように到着するかというモデルは重要です。一般的には、XMLあるいはJSONドキュメントになります。データモデルはドキュメント構造以外にも、マイクロサービスがデータをストアする方法、さらにはそれらの間のマッピングを表す必要があります。これも軽視できません。COMNはモデルとマッピングの両方を表現できるのです。

InfoQ: カンファレンスのプレゼンテーションでは状態と表現について話していましたが、これらの概念がデータベースでどのようにモデル化されるのか、説明して頂けますか?

Hills: NoSQLでもSQLでも、DBMSはすべて、究極的には、意味のない物理的状態(高電圧と低電圧、あるいはONとOFF)に意味をマッピングすることでデータを表現します。このマッピングを物理的表現と呼んでいるのです。もうひとつ上のレベルでは、テーブルやグラフ、ドキュメントなどを使って関係性を表現します。論理データモデルはこのような物理的なマッピングの問題を完全に無視する必要がある、ということを理解しなくてはなりません。論理データモデルはデータが何を意味するのか、問題のドメインにおいてデータが論理的にどう表現されているのか、という点にのみ、純粋に注目すべきです。ですが、論理モデルから物理モデルに移行する時には、物理モデルから論理モデルへの逆方向のマッピングを確保すると同時に、物理的な表現設計が重要になります。

InfoQ: NoSQLには今後、どのようなトレンドが現れると思われますか?

Hills: 大きな傾向としては、NoSQLとSQLの差異がますます少なくなっていきます。最初の頃、“NoSQL”とは“no SQL”であり、表形式データベースの標準的なSQLはサポートされていませんでした。しかし現在では、“not only SQL”という意味であり、多くの“NoSQL” DBMSでSQLがサポートされるようになっています。初期のNoSQLでは、金融アプリケーションでは不可欠なACID-strengthトランザクションが提供されていませんでした。現在では多くのNoSQL DBMSがACIDを実装しています。それと同時に、一部のSQL DBMSでは、ACIDの緩和を可能にすることで、NoSQL DBMSとほぼ同じレベルのスケールアップが可能になっています。ハイブリッドDBMSの中には、表形式と非表形式のデータ編成をサポートするものもあります。最終的には、すべてのDBMSがさまざまな物理データ編成に加えてACIDと非ACID(“BASE”)をサポートして、ユーザが選択するようになるでしょう。SQLは表形式の時代に生まれたものですが、いまだ代わりになるものがないという事実は、完全な転換を多少なりとも抑制するものになると思います。しかしCOMNならば、これらすべてのデータ編成を越えられます。

さらに氏は、従来のモデリングツールベンダの視点が3つのレイヤとひとつのアプリケーションに基づいたデータモデルに限られていたのに対して、NoSQLのモデリングツールは論理データモデルや現実世界モデルを除外した物理モデルに視点を置いている、とも述べている。COMNのようなツールは、データモデリングを支援すると同時に、マルチモデルのデータ管理という新たな世界を代表するものだ。

全体仕様やホワイトペーパを含むCOMNの詳細情報、Visio用のステンシルなどは、DATAVERSITY Webサイトから無償で提供されている。

 

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT