書籍:グラフ型データベース入門 - Neo4jを使う 感想

個人開発したアプリの宣伝
目的地が設定できる手帳のような使い心地のTODOアプリを公開しています。
Todo with Location

Todo with Location

  • Yoshiko Ichikawa
  • Productivity
  • Free

スポンサードリンク

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と入力すればよい。

するとチュートリアルデータが入力できるので、すぐにこういった画面ですぐに遊ぶことができる。

f:id:letitride:20200429223555p:plain

画像のようにグラフの指向と指向にデータが関連付けられているのがわかる。


書籍について

良かった点
  • CypherクエリでのCRUD、Rの各操作を学ぶことができる。
    • それほど難しい言語でもないし、何より上記の画面でノードがビジュアライズされて表示されるのは本当に楽しい(笑)。ノードがドラッグでぐにぐに動きます(笑)
  • 後半ではPHP LaravelからNeo4jに繋いで簡単なアプリケーションを作成するハンズオンがある
    • 実はLaravelを触るのがこれが初めてでちょっと新鮮だった(笑)
イマイチな点
  • 後半のLaravelアプリはまあ、RDBでできることをNeo4jでやっただけなので、もうちょっとグラフ型DBならではのアプリケーション作成だったらよかったな。

しかしながら操作してて本当に楽しいDBなので是非、みんな試して欲しい。

ちなみにオライリーのこの本もNeo4jの解説かなと思って本書より先に買ってみたんだけど、設計理論がメインで積読している...


まずは試したいという方には本書のほうがオススメ。