2016-11-11 7 views
3

私は現在、電子商取引会社の知識グラフを構築しています。主に、商品カテゴリの階層、プロパティ、およびそれらの間の関係で構成されています。高可用性クラスタをサポートしており、オンラインクエリのパフォーマンスは良好です。

  1. マスター・スレーブクラスタのサポート:一般的なリレーショナル問合せに加えて、我々は非常に多く、以下の点を気に。このグラフデータベースはオンライン検索クエリ処理に使用されるため、高可用性が重要です。データ量は何百万ものノードほど大きくはないので、複数のマシン間でデータをまたがる分散クラスタは必要ありませんが、複数のマシンを同時に読み取る必要があり、サービスは実行されませんマシンの1台がオフラインであってもダウンします。

  2. 高速オンラインクエリパフォーマンス。リレーションシップはオフラインで行うことができ、パフォーマンスはそれほど重要ではありません。しかし、「プロパティPが値Vに等しいノードを見つける」というようなオンラインクエリーをたくさん行う必要があるため、オンラインクエリー処理には良いパフォーマンスが必要です。このデータベースは読み込みが集中し、初期化後はあまり変更されません。

  3. コミュニティとドキュメント。私たちのチームはグラフデータベースの分野では本当に新しいので、展開と開発のためのユーザーフレンドリーな文書と、問題解決のための積極的なコミュニティーを期待しています。上記の要件に基づいて

、私はいくつかの候補者を調査:

  1. のNeo4j。私たちはNeo4jを最初に試しました。実際、私は実際にそれが気に入っていました。特にCypherのクエリ言語が好きでした。しかしコミュニティ版ではクラスタをサポートしていないため、現在はエンタープライズ版の支払いに予算がないため、放棄しようとしています。
  2. OrientDB。 OrientDBは市場で2番目に人気のあるもののようであり、と思われ、コミュニティ版でクラスタをサポートしています。私はそれがウェブサイトにはっきりと記載されていないので、 "見える"という言葉を使用します。誰もこれをクリアすることはできますか? http://orientdbleaks.blogspot.jp/2015/06/the-orientdb-issues-that-made-us-give-up.html

  3. タイタン:以外にも、私は私は本当に躊躇せOrientDBについて本当に負の記事を見つけました。 Titanも素晴らしいですが、元の会社が買収され、元の開発者が別の製品を開発しているので、将来の開発とメンテナンスは疑わしいです。

  4. ArangoDB。パフォーマンスレポート(https://www.arangodb.com/2015/10/benchmark-postgresql-mongodb-arangodb/)によると、これは非常に速いと思われますが、オンラインクエリ処理能力が十分で、クラスタに対するサポートも私には分かりません。

ドキュメンテーションとコミュニティについては、これがあなたがそれをやり始めた後でしか知り得ないものなので、私は本当に分かりません。

私の要件に基づいて、私はOrientDBとArangoDBが私の候補者かもしれないと思っていますが、上記の点のためにどちらを選ぶべきかわかりません。それとも、私が逃している他の良い候補者がいますか?

ありがとうございました。

+0

Neo4jには、エンタープライズエディション(サポートなし)を無料でご利用いただけるスタートアッププログラムと、非常に手頃な価格のサポートがあります。コミュニティ志向のNeo4jはこれまでに最も反応の良いコミュニティを持っています! –

+1

残念ながら(回答が得られていますが)、ツール/製品の推奨に関する質問をしているので、この質問は話題にはなりません。 –

答えて

2

OrientDB Community Editionは、オープンソースのフリーソフトウェアであり、開発者コミュニティによって構築されており、絶えず改善されています。 OrientDBコミュニティでは、水平スケーリング、フォールトトレランス、クラスタリング、シャーディング、レプリケーションなどの機能は無効になっていません。

は、クラスタの詳細については、公式OrientDBガイドを見てみましょう:

http://orientdb.com/docs/last/Tutorial-Clusters.htmlはそれがお役に立てば幸いです。

よろしくお願いいたします。

5

ここではArangoDBの作業をしています。 ArangoDBはグラフのオンラインクエリを行うだけでなく、複数モデルの性質のため、グラフクエリとドキュメントクエリ(セカンダリインデックスを使用)、キールックアップ、および結合を混在させることができます。 ArangoDBクラスター構造を完全に認識し、すべてのインスタンスにわたって照会の実行を最適化および配布できるオプティマイザーを備えた洗練された照会エンジンを備えています。

クラスタでは、シャーディング、同期レプリケーション、および自己修復はすべて、設定可能なパラメータで完全に自動化されています。 Apache MesosまたはDC/OSでは、ArangoDBクラスタの配置は特に簡単です(2クリック)が、他のオーケストレーションフレームワークでは比較的簡単です。 DC/OS上のArangoDBは、グラフィカルユーザーインターフェイスまたはREST API呼び出しを使用して拡大縮小することもできます。失敗したタスクは自動的に置き換えられます。

パフォーマンスに関しては、すべてのベンチマークが非常に優れたパフォーマンスを示しています。リリースされたばかりのバージョン3.1では、頂点中心のインデックスもあり、グラフクエリにとって特に重要です。

https://www.arangodb.com/documentation/にある豊富なドキュメントを提供するために最善を尽くしています。ユーザーマニュアル、クエリ言語AQLのマニュアル、HTTP/REST APIのマニュアルがあります。さらに、チュートリアル、よくある質問、標準的なタスクのための「クックブック」を用意しており、StackOverflowとgithubの問題に関する質問に適時に答えようとしています。

このすべてはCommunity Editionに含まれています。これはApache 2.0オープンソースライセンスで利用できます。

ご不明な点がございましたら、お気軽にGoogleチームまたは私に連絡してください。

+0

ArangoDBのユーザーで、Neo4JとOrientDBも検討し、テストしている人物として、ArangoDBを強くお勧めします。それは非常によく機能し、非常に堅牢で、本当に優れたコミュニティサポートを持っています。私の簡単なクエリはArangoDB上で数百マイクロ秒で実行され、複雑なものは最適化される前でもうまく動作します。クエリ言語はシンプルで直感的で強力ですが、何ヶ月もの連続して重い使用の後、私はほとんど問題を経験していませんでした。私は1〜2日以内に質問したすべての質問について、コミュニティまたは開発者から詳細な回答を得ました。 –

+0

ありがとうございましたMax!私はArangoDBは良い製品だと思っていますが、SQLやOrientDB SQLのような宣言型ではなく、ユーザーがデータの論理構造に気づく必要があるため、AQLについて懸念があります。 。また、Tinkerpopフレームワークがうまくサポートされているかどうかを知りたいと思います。 –

1

Neo4jエンタープライズエディションは、AGPLライセンスで使用できます。私はこれを知っていない多くの人々が驚いています。 Neo4j Enterpriseをサーバーとして使用し、RESTまたはボルトプロトコル(Apache Licensed)を使用して通信する場合は、AGPLで接続するシステムのコードを解放することを心配する必要はありません。

これを使用している場合は、AGPLを遵守する必要がありますが、その場合、なぜNeo4jエンタープライズが必要なのでしょうか?

AGPLで使用する予定の場合は、Neo4j Enterpriseをgithubからクローンしてコンパイルしてください。試用版はダウンロードしないでください。

Neo Technologyは素晴らしいサポートを提供します。これは、基本的にエンタープライズサブスクリプションのために支払っているものです。