ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

「Neo4j:グラフデータベース」を聞いてきた!

今日(6月11日)db tech showcase 2015 Tokyoで「Neo4j:グラフデータベース」を聞いてきたので、その内容をメモメモ




・海外では絶賛されている。死角をカバー
・全体像を伝えたい
・Neo4j:SQLライクに使える

デジタルデータ量の増加予測
・2020年 40ZB
・ビッグデータの構成データと流通量の計量比較データ
・企業などにおけるデータ活用の実態→そんなにかわらない
・得られた効果:コスト削減など効果あり
・深度:可視化が一番良かった
・課題:10年前と変わっていない?

あなたはどこに注目していますか
・価値→よくわかっていない
・データの関係性:複雑になっていく(もともと複雑)

データ処理
・未来に向けてシミュレーションする
・関係性を理解すること→究極的価値:予測可能性

データ処理の道具
・アーキテクチャ
・データモデル
・SQL・NoSQL
・オペレーションDB/れポーティんぐDB
・インテグレーション/アプリケーション

データベースの進化
・正規化
・正規化しないでも
・キーバリュー・マップリデュース
・そのさき

データベ
ースの座標

で
ー カラムがた
た        RDB
さ
い           グラフがた
ず
    関係性

強い関連性と弱い関連性
・関係性の認識:パターンマッチング→多次元的
 統計処理:関係性ブラックボックス化

グラフとは
・チャートとグラフは違う
・グラフ理論のグラフ
  点と線であらわす

グラフの3大構成要素
・ラベル
・ノード
・関係性
・属性=キーバリュー
関係性をデータとして書く

データモデル(ひな形)
・グラフDBのER図
・ふわっとした正規化:ドメインの認識

パターン
・3つのパターン
・現実の世界はいろんな形状

典型的グラフ
路線図→次の駅

SQLにするとものすごく難しい→グラフではない

Neo4j
・グラフ理論をデータ処理エンジンとして搭載しているDBMS
・強い関係性の処理に向いている
  弱い関係性で集計をさせると・・・コスト的に
・サイファー・クエリー
・OLTPエンジン(トランザクション処理OK)
・インターフェース Webインターフェース、CORE API
・オープンソースと商用

顧客層も多種多様

スタンドアロン
HA:スレーブをリードレプリカにできる
HTTPSを装備
Hosted scripting OK

サイファークエリー
・パターンマッチングを持っている

グラフDB:関係性が永続化

トラバーサル処理

パターンマッチング
Cypher構文の階層構造はパイプ
データ数の制限

データ作成・更新・削除
BULK Data→LOAD CSV
トランザクション処理:REST API
グラフ出力
グラフ自体がレポート

事例
 レコメンデーション
 経理探し?
 最短経路、最多経路

向いている
・強い関係性
・SQLでは表現できないデータ
・統計処理に不向きな因果関係
・指向錯誤

Neo4jユーザーグループ