インフィニティソリューションズ株式会社ブログ

Next Big Thingはグラフデータベースか?

リレーショナルデータベースの限界が見え、NoSQLの活用が始まっており、先日グラフデータベースのNeo Technology社が1100万ドルの資金調達をしたと記したばかりだが、Next Big Thingはこのグラフデータベースだとする意見がある。はたしNext Big Thingになりえるのか。SD Timesの「Why graph databases are the next big thing(何故Next Big Thingがグラフデータベースなのか)」を見てみよう。

‘As the world becomes more connected, so does its data. The data-management tools and techniques of the past are not equipped to handle this non-uniform, semi-structured and highly interconnected data. Faced with this dilemma, software professionals have the option of struggling to fit everything into relational or key-value models, or instead to embrace the graph data model and steer their teams toward success. ‘

「世界のつながりが増え、同時データのつながりも増えてきた。過去のデータ管理ツールや技術はこのような均一性がとれていない、半構造化で高度に相互結合したデータを扱えるようにはなっていない。このジレンマから、ソフトウェアのプロたちは、全てをリレーショナルかキー・バリューモデルにフィットさせるオプションか、グラフデータモデルを取り込み、成功へと舵を切るオプションかに直面しているのだ。」

何でもフィットするわけではないが、相互結合したデータであればグラフデータベースの方が向いている、と。

Graph of Website Vatsek by Vatsek, on Flickr

‘The size and complexity of the data is inevitably fueling a movement toward polyglot persistence (data housed in the stores best equipped to handle it) instead of a single (relational) database. While polyglot requires a broader understanding of data issues, it yields tremendous benefits for data architecture and governance.’

「データのサイズや複雑さにより、単一の(リレーショナル)データベースより、Polyglot Persistence(ストア内のでデータが最も向いている)の方向に必然的に向かっている。Polyglotでは、データ問題を幅広く理解しておく必要があるが、データ・アーキテクチャとガバナンスの面で非常に大きな利点がある。」

‘To put the drivers for graph database adoption into context, we see that valuable data is generated by the spread of social networks outside their walled garden and into the rest of the Web. The social graph, which entangles the intent, interest and consumption graphs, is driving online commerce and advertisement. Furthermore, the latest advancements in smartphones have rapidly grown the mobile graph tying the online world back to the real. The data generated is already in graph form as people friend each other, like, want, and buy things, and check in to places. In other words, they are creating relationships, the very thing graph databases excel at.’

「グラフデータベースの採用を促すものとして、価値あるデータは、壁の外側で、ウェブのその他の部分で広まったソーシャルネットワークによって生成されているということがある。ソーシャルグラフ、すなわち意思、興味、消費のグラフが絡まったもの、がオンラインショップや広告を加速している。さらに、最近のスマートフォンの進化により、モバイルグラフが急成長し、オンラインの世界と実世界につなげている。生成されたデータは、人々が友達と一緒に、好き、欲しい、買う、あるいはチェックインするなどの行為をしているため、すでにグラフの形になっている。言い換えれば、関係性を作っているのであり、グラフデータベースが最も優れている分野だ。」

‘We can query highly connected data using tailored graph query languages that are designed to express intent over graph structures. A graph query language is much simpler than trying to describe such connections with hundreds of lines of SQL code (even with syntactic sugar like Oracle’s CONNECT AS). Finding how things are connected reaches out beyond basic social graphing and into areas like matching people to jobs based on skills and experience, patients to diseases based on symptoms, suspects to crimes, sellers to prospects, borrowers to lenders, etc. One benefit of graph databases is being able to solve problems by matching patterns in a graph.’

「高度に結合されたデータに対して、グラフ構造上で意図を表現するためにデザインされたグラフクエリげんごを使うことができる。グラフクエリ言語は関係性を数百行のSqlコードで(OracleのCONNECT ASのような表現を使ったとしても)表現するよりは、ずっと簡単だ。物事がどうつながっているかが分かれば、基本的なソーシャルグラフを超え、スキルや経験に基づくジョブマッチングや、症状に基づた患者と病気のマッチング、容疑者と犯罪、販売者とプロスペクト、借り手と貸し手などの分野にいくごとができる。グラフデータベースの利点の1つは、グラフ内でパターンマッチングすることにより問題を解決できることだ。」

‘Another benefit is speed of development. The schemaless nature of graph databases enables developers to rapidly evolve a system as requirements change to align with business needs. Adding a new type of node or relationship is typically painless, and it’s a more natural modeling approach than creating a bunch of join tables and the logic to handle them.’

「もう一つの利点は、開発のスピードだ。グラフデータベースはスキーマレスであるため、開発者は、ビジネスニーズに応じた要件変更に対し、迅速にシステムで実現できる。新しいタイプのノードや関係の追加は通常簡単で、テーブルの結合やロジックを作るより、ずっと自然なモデリング手法だ。」

‘Relational databases and key-value stores aren’t going away anytime soon, but they are impractical for connected data. Graph databases are ideal to help solve sophisticated data problems found in social relationships and highly interconnected systems. It is a new (old!) way of solving problems, and we’re finding many innovative ways of applying it every day.’

「リレーショナルデータベースやキー・バリュー・ストアはすぐになくなることはないだろうが、結合されたデータに適用するのは非現実的だ。グラフデータベースはソーシャルリレーションや高度に相互結合されたシステムで複雑なデータ問題を解決するのは理想的だ。新しい(古い)問題解決法で、日々、革新的な適用方法が見つかっている。」