※本記事は、「O2Oイノベーションラボ」の記事をReadWrite Japanにご提供頂いたものです。

Facebookを見ているときに「知り合いかも」という表示を目にしたことはないだろうか。表示された名前は、見事にあなたがまだフォローしていなかった友達、もしくは顔見知りである。この機能は「GDB(グラフデータベース)」によって実現している。現在、OracleやMicrosoftもグラフデータベースの市場に進出しようとしていることもあり、大変注目されている。今回の記事では、なぜ大企業がグラフデータベースに注目しているのか、GDBの概要や事例を通して今後の展望について考察していきたい。

▼参照

Oracle

Microsoft


210
引用:Neo4j

グラフデータベースとは一体何なのか

GDBはノード・リレーション・プロパティを利用して、ノード間の関係性を表現する、「グラフ型データモデル」である。つまり、データ間の複雑な関係を3つの要素を利用し、データをすべてグラフで表しているのだ。ノードは関係を持つ対象、リレーションは方向を有する関係性、プロパティはノードとリレーションが持つ関係性のことである。例えば、Facebookでは、ノードはユーザー、リレーションはいいね!やフォロー、プロパティはノードやリレーションが持つ特性すべてを指す。

GDBの主な機能は、FacebookやLinkedInなどのSNS上で、「高校の同級生」であったり、「共通の友達」を探し出すものであったり、Googleなどの路線検索による、目的地までの最短ルートを導き出す機能にも利用されている。

さらに、顧客がAmazonなどのEC上で見たり検索した商品から、その顧客がこれから求めるであろう商品を導き出すこともできる。この機能で「Aさんはこの商品を買ったからこっちの商品も好きかもしれない」といった、複数の商品との関係性をグラフで表現し、顧客へのレコメンドシステムを実現している。

▼参照
amazon web services


38-624x456

引用:Flickr

GDBとNoSQL、GDBの比較

GDBはNoSQLと呼ばれる、RDB(リレーショナルデータベース)以外のデータベース管理システムの中に分類される。RDBはすべてのデータを表形式で表しているデータベースであり、、複数の表を結合(リレーション)して利用することができる。以前は多くの企業がRDBを扱っていたが、現在は主にIoTのデータを扱う企業を中心に、GDBを含むNoSQLを利用する企業が増えてきた。ヒトとヒト、ヒトとモノの関係は時が経過していくと共に変化していく複雑なデータである。GDBはこれらの複雑なデータを大量に、最速で管理することができるため、2010年以降、インターネットサービスを展開するAmazon、Facebook、Googleなどのネット企業がRDBではなく、NoSQLを利用するようになったことが注目されるようになった。

RDBは膨大なデータを格納することができ、効率的に処理することができる点においてはNoSQLと同じである。しかし、データの整合性を保証する機能であるACID特性(Atomicity Consistency Isolation Durability)を実現するための機能が含まれている点でNoSQLとは異なる。RDBはデータを読み取る際に、数字の集計や結合を行うことでデータに整合性を生み出す。NoSQLはデータの集計や結合などのデータの加工を行ってから読み取らなくてはならない。しかしその代わりに、NoSQLはデータの高速処理に対応している。例えばNoSQLの場合、同時に同一のデータの更新するときには、単純にリクエスト順にデータがすばやく更新されていくのである。

さらに、RDBにはデータ量の増加やコンピューターシステムの拡張性などの機能がない点でNoSQLとは異なる。RDBがこれらの機能を実現するには膨大なコストを要するため、扱うことができなかったのだ。


56-624x249
引用:Neo4j Support

GDBを扱う、Neo Technologyの事例

Neo Technologyは2007年にスウェーデンで誕生し、当時はオープンソースの製品を開発していた。2011年から製品の商用化をスタートさせた。現在は本社をカリフォルニアに移し、単純にオープンソースの製品を開発するのでななく、オープンソースをベースとした商用製品を開発する企業へとなった。

Neo Technologyが開発したNeo4jは、GDBの中でもトップシェアの製品で、利用顧客にはWalmartやAdidasがいる。Neo4jにはグラフのデータを永続的に保存しておくことのできる装置、データの増大に対応することのできる拡張性を持つシステム構造が含まれている。さらに、データを高速で読み取ることができ、ノードの関係性をベースとしたデータに対する処理内容を予測することができるACID特性を有している。企業が使用することができ、これらの機能の組み合わせを有しているグラフデータベースはNeo4jだけである。

Neo TechnologyのCEO、Emil Eifremは大企業がGDBの市場に入ってくるとしても、技術の蓄積量と経験量の多いリーダー企業の製品、Neo4jを求める客は多いのではないか、と考えている。

▼参照

Neo4j


47-624x468
引用:Flickr

GDBの今後の展望

日本ではまだ導入例が少ないものの、欧米ではすでに顧客層の分析ができるコール分析グラフ、金融業界で不正検知やチャージバックを示すペイメントグラフ、医療で臨床試験を示す診療グラフや商品レコメンデーションを示す患者グラフなどに利用されている。

現在、インターネットやデータを利用している企業がほとんどであり、今後企業が扱うデータ量は確実に増えていく。さらに、IoTが注目されるようになってきた今、データ量の増加やデータの増加に対応するシステム構造の拡張性の要求により、NoSQL、GDBの機能の必要性は増してきている。

データが増加していくと共に企業はRDBとNoSQL、どちらを利用するか考えるのではなく、NoSQLの中で、RDBなどのどのデータベースを利用するか考えるようになっていくだろう。前述のように、日本ではまだ導入例は少ないが、最近ではNoSQL、GDBの事業に進出する企業が増えており、今後日本での普及にも期待が高まっている。

記事出典:O2Oイノベーションラボ(最新情報配信中 Facebookページはこちら

トップ画像:Flickr

Pocket