Open14

グラフデータベース調査2022

ピン留めされたアイテム
starnishistarnishi

Neo4j以外にも、RedisGraph や Dgraph などグラフデータベースは既にある。
Graphを使いやすくするレイヤーに焦点を当てたプロダクトにすべきなのか。
(提供形態は今の考えとは変わらない、より、supabaseの postgres固定的な形で、
使いやすさを加えていく。関係性を重要視する、という方向性は変わりない)

starnishistarnishi

GraphDBの種類

  • Neo4j
  • RedisGrahp
  • Amazon Neptune
  • ArangoDB
  • JanusGraph
  • TigerGraph
starnishistarnishi

この記事を書いている Jonathan Gamble はグラフデータベース推しらしい。
GraphはRDBよりも、より、リレーショナルだ、と言っている。

https://dev.to/jdgamble555/firebase-is-dead-what-is-the-perfect-database-in-2022-4o9a

こんにちは、私の素敵で素晴らしい...グラフデータベース🥰...1つの問題があります..

グラフデータベースには大きな誤解があります。私は文字通り、分析データを照会していないグラフデータベースを使用する理由を理解していなかったTwitterで働く博士課程のコンピュータ科学者と話をしました。

君に知らせがあるんだ、相棒。すべてのデータはリレーショナルです!グラフはSQLよりもデータをよく関連付けます。グラフデータベースはSQLよりも優れています。

以前は、グラフデータベースがスケーラブルではないことは事実でした。それはもはや真実ではありません。以前は、グラフデータベースがSQLよりも遅いのは事実でした。それももはや真実ではありません。

すべてのデータベースは素晴らしいことができます、それはちょうどその下にあるものに依存します。優れたデータベースは、データを配布することでスケーラブルで、シャーディング、おそらくマルチテナントを使用し、成長するために展開することもできます...すべて自動的に。また、2番目のデータベースをスピンアップすることなく、必要な機能もすべて備えています。これは通常、問題です。

グラフデータベースの本当の問題...

グラフデータベースの本当の問題は、グラフデータ専用に作られているということではありません。すべてのデータはグラフデータです!!!

本当の問題は、Svelte...成熟度に関する同じ問題です。ほとんどのグラフデータベースには、制約、ポリシー、トリガー、全文検索、セキュリティなど、Webアプリケーションを作成するために必要な機能がすべて揃っているわけではありません。実際、そのリストは非常に短いです。

グラフデータベースの定義も進化しています。最初にグラフデータベースがあり、次にnoSQLまたは他のKVストア上にグラフデータベースが構築され、次にSQL(agensgraph)上に構築されたグラフデータベースがあり、今ではボンネットの下に複数のデータベースを使用するハイブリッドがあります。ノード自体をエッジとして使用できるため、フォーカスはエッジやノードにはなくなりました。焦点は、別の中間テーブルの場所ではなく、メモリの位置を直接保存することで保存する速度です。焦点はクエリです。

starnishistarnishi

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.

starnishistarnishi

janusGraph

分散型 オープンソース 大規模スケーラブルグラフデータベース

Distributed, open source, massively scalable graph database

TitanDBのフォークらしい

スケーラブル

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.

参考