Neo4jで遊んでいるとどんどん興味が湧いてきて購入。というかNeo4jの日本語の書籍ってこれだけじゃないのかな?
グラフ型DBとは?
ちょっとだけ説明。
要はRDBのリレーションに
- 指向性を持たせることがでる
- リレーションにデータを持つことができる。
RDBでも自己結合したり中間テーブルに"それ用"のデータを持つことで表現可能なんだけど、それの取り扱いを独自の操作言語(書籍中ではCypherクエリ)で簡潔に記述できたり、性能も良いらしい。
Cypherクエリは直感的に書ける言語なので、学習のコストはさほど高くないと思います。
グラフ型DBのNoe4jはOSS、GPLライセンスで配布されている。
利用については、neo4j オープンソース nosql グラフデータベース » ライセンス選択の手引きを参考にして欲しい。
リンク
インストール
インストールはDockerから簡単にできるので是非試してみて欲しい。
$ docker run -p 7474:7474 -p 7687:7687 neo4j
とした後、ブラウザからhttp://localhost:7474
で利用することができる。
初回アクセス時はID/PASSWORDを求められるので、初期ID、PASSのneo4j
と入力すればよい。
するとチュートリアルデータが入力できるので、すぐにこういった画面ですぐに遊ぶことができる。
画像のようにグラフの指向と指向にデータが関連付けられているのがわかる。
書籍について
良かった点
- CypherクエリでのCRUD、Rの各操作を学ぶことができる。
- それほど難しい言語でもないし、何より上記の画面でノードがビジュアライズされて表示されるのは本当に楽しい(笑)。ノードがドラッグでぐにぐに動きます(笑)
- 後半ではPHP LaravelからNeo4jに繋いで簡単なアプリケーションを作成するハンズオンがある
- 実はLaravelを触るのがこれが初めてでちょっと新鮮だった(笑)
イマイチな点
- 後半のLaravelアプリはまあ、RDBでできることをNeo4jでやっただけなので、もうちょっとグラフ型DBならではのアプリケーション作成だったらよかったな。
しかしながら操作してて本当に楽しいDBなので是非、みんな試して欲しい。
ちなみにオライリーのこの本もNeo4jの解説かなと思って本書より先に買ってみたんだけど、設計理論がメインで積読している...
リンク
まずは試したいという方には本書のほうがオススメ。
リンク