グラフデータベース調査2022
データベースサービス調査2022を行っていたが、次第にGraphDBが大きな関心ごとの1つになってきたので、別途、グラフデータベース調査2022として調査することにした。
Neo4j以外にも、RedisGraph や Dgraph などグラフデータベースは既にある。
Graphを使いやすくするレイヤーに焦点を当てたプロダクトにすべきなのか。
(提供形態は今の考えとは変わらない、より、supabaseの postgres固定的な形で、
使いやすさを加えていく。関係性を重要視する、という方向性は変わりない)
GraphDBの種類
- Neo4j
- RedisGrahp
- Amazon Neptune
- ArangoDB
- JanusGraph
- TigerGraph
BIMデータのグラフデータベースへの格納と情報抽出の新手法
Dgraphはグラフデータベースではない。GraphQLバックエンドを構築するもの。
Dgraphはグラフデータベースだった。ごめんなさい。
Redis上で動くGraphがある。
一覧取得とか検索とか、RedisInsight使えばグラフの可視化もできるらしい。
この記事を書いている Jonathan Gamble はグラフデータベース推しらしい。
GraphはRDBよりも、より、リレーショナルだ、と言っている。
こんにちは、私の素敵で素晴らしい...グラフデータベース🥰...1つの問題があります..
グラフデータベースには大きな誤解があります。私は文字通り、分析データを照会していないグラフデータベースを使用する理由を理解していなかったTwitterで働く博士課程のコンピュータ科学者と話をしました。
君に知らせがあるんだ、相棒。すべてのデータはリレーショナルです!グラフはSQLよりもデータをよく関連付けます。グラフデータベースはSQLよりも優れています。
以前は、グラフデータベースがスケーラブルではないことは事実でした。それはもはや真実ではありません。以前は、グラフデータベースがSQLよりも遅いのは事実でした。それももはや真実ではありません。
すべてのデータベースは素晴らしいことができます、それはちょうどその下にあるものに依存します。優れたデータベースは、データを配布することでスケーラブルで、シャーディング、おそらくマルチテナントを使用し、成長するために展開することもできます...すべて自動的に。また、2番目のデータベースをスピンアップすることなく、必要な機能もすべて備えています。これは通常、問題です。
グラフデータベースの本当の問題...
グラフデータベースの本当の問題は、グラフデータ専用に作られているということではありません。すべてのデータはグラフデータです!!!
本当の問題は、Svelte...成熟度に関する同じ問題です。ほとんどのグラフデータベースには、制約、ポリシー、トリガー、全文検索、セキュリティなど、Webアプリケーションを作成するために必要な機能がすべて揃っているわけではありません。実際、そのリストは非常に短いです。
グラフデータベースの定義も進化しています。最初にグラフデータベースがあり、次にnoSQLまたは他のKVストア上にグラフデータベースが構築され、次にSQL(agensgraph)上に構築されたグラフデータベースがあり、今ではボンネットの下に複数のデータベースを使用するハイブリッドがあります。ノード自体をエッジとして使用できるため、フォーカスはエッジやノードにはなくなりました。焦点は、別の中間テーブルの場所ではなく、メモリの位置を直接保存することで保存する速度です。焦点はクエリです。
RedisGraph
最速のグラフデータベース
複雑なグラフ操作をリアルタイムに処理します。
他のグラフデータベースと比較して10倍から600倍の速さです。
Fastest graph database
Process complex graph operations in
real time, 10x – 600x faster than any other graph database.
使いやすさ
業界標準のクエリ言語Cypherを使用してグラフを照会し、アプリケーションコードからグラフ機能を簡単に使用することができます。
Ease of use
Query graphs using the industry-standard Cypher query language and easily use graph capabilities from application code.
統合ビジュアライゼーション
RedisInsight、Linkurious、Graphileonなどの複数の可視化機能により、データがどのようにつながっているかを表示します。
Integrated visualization
Show how your data is connected through multiple visualization integrations including RedisInsight, Linkurious, and Graphileon.
janusGraph
分散型
オープンソース
大規模スケーラブルグラフデータベース
Distributed, open source, massively scalable graph database
TitanDBのフォークらしい
- https://project.nikkeibp.co.jp/idg/atcl/idg/17/040300126/040300003/?ST=idg-cio-appli&P=3
- http://titan.thinkaurelius.com
スケーラブル
JanusGraphは、マルチマシンクラスタに分散した数千億の頂点と辺を含むグラフの保存とクエリに最適化されたスケーラブルなグラフデータベースである。
JanusGraph is a scalable graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster.
Linuxファウンデーション
JanusGraphは、The Linux Foundation傘下のプロジェクトで、Expero、Google、GRAKN.AI、Hortonworks、IBM、Amazonが参加している。
JanusGraph is a project under The Linux Foundation, and includes participants from Expero, Google, GRAKN.AI, Hortonworks, IBM and Amazon.
スケーラブル
- データおよびユーザーベースの拡大に対応する弾力的かつリニアなスケーラビリティ
- パフォーマンスとフォールトトレランスのためのデータ分散とレプリケーション
- マルチデータセンターの高可用性とホットバックアップ
Scalable
- Elastic and linear scalability for a growing data and user base
- Data distribution and replication for performance and fault tolerance
- Multi-datacenter high availability and hot backups
オープンソース
すべての機能は完全に無料です。商用ライセンスを購入する必要はありません。JanusGraphは、Apache 2ライセンスの下で完全なオープンソースです。
Open source
All functionality is totally free. No need to buy commercial licenses. JanusGraph is fully Open Source under the Apache 2 license.
トランザクショナル
JanusGraphは、複雑なグラフ探索をリアルタイムに実行する数千人の同時ユーザーをサポートできるトランザクション型データベースです。ACIDおよび最終的な一貫性をサポートします。
Transactional
JanusGraph is a transactional database that can support thousands of concurrent users executing complex graph traversals in real time. Support for ACID and eventual consistency.
データストレージ
グラフデータは、以下の場所に保存することができます。
- Apache Cassandra
- Apache HBase
- Google Cloud Bigtable
- オラクルBerkeleyDB
- ScyllaDB
Data Storage
Graph data can be stored in:
- Apache Cassandra
- Apache HBase
- Google Cloud Bigtable
- Oracle BerkeleyDB
- ScyllaDB
検索
全文検索などの高度な検索機能はオプションで対応可能です。
- Elasticsearch
- Apache Solr
- Apache Lucene
Search
Advanced search capabilities like full-text search can optionally be supported via:
- Elasticsearch
- Apache Solr
- Apache Lucene
分析機能
JanusGraphは、オンライントランザクション処理(OLTP)に加えて、Apache Sparkとの統合によりグローバルグラフ分析(OLAP)をサポートします。
Analytics
In addition to online transactional processing (OLTP), JanusGraph supports global graph analytics (OLAP) with its Apache Spark integration.
TinkerPop
Apache TinkerPop™グラフスタックとのネイティブな統合。
グラフクエリ言語Gremlin
Gremlinサーバー
Gremlinコンソール
TinkerPop
Native integration with the Apache TinkerPop™ graph stack:
- Gremlin graph query language
- Gremlin Server
- Gremlin Console
アダプター
JanusGraphには、さまざまなサードパーティーストレージアダプターがあります。
- Aerospike
- DynamoDB
- FoundationDB
Adapters
There are different 3rd party storage adapters for JanusGraph:
- Aerospike
- DynamoDB
- FoundationDB
可視化
Arcade Analytics、Cytoscape、Apache TinkerPop用Gephiプラグイン、Graphexp、 G.V() - Gremlin IDE、Key Lines by Cambridge Intelligence、 Linkurious、 Tom Sawyer Perspectivesといった様々な可視化ツールをサポートしています。
Visualization
JanusGraph supports variety of visualization tools like Arcade Analytics, Cytoscape, Gephi plugin for Apache TinkerPop, Graphexp, G.V() - Gremlin IDE, Key Lines by Cambridge Intelligence, Linkurious and Tom Sawyer Perspectives.