2

Erlang や Python に基づく新しいアプリケーションの場合、RDBMS 以外のデータベースを試してみることを考えています (念のため)。私が調査したデータベースには、Mongodb、CouchDB、Cassandra、Redis、Riak、Scalaris などがあります)。簡単な要件のリストを次に示します。

  1. 開発の容易さ - 簡単な概念実証デモを作成する必要があります。したがって、データベースには、Eralang と Python 用の優れたアダプターが必要です。
  2. 「接続された」データがたくさんある新しいアプリケーションに取り組んでいます。誰かが、グラフのようなデータに Neo4j を推奨しました。それに関するアイデアはありますか?
  3. スケーラブル - 分散アーキテクチャを検討しているため、スケーラビリティが重要です。
  4. 現時点では、(どのような形であれ) パフォーマンスが私のリストの一番上にあるわけではなく、上記のデータベースのいずれかの限界にすぐに達することはないと思います.

非 RDBMS データベースの開始点を探しています。推奨事項はありますか?

4

2 に答える 2

6

エンタープライズ アプリケーションの構築に Mnesia を使用しました。テーブルが断片化されているモードの場合、Mnesia はテーブル サイズの制限がないため、最高のパフォーマンスを発揮します。Mnesia は過去 1 年間良好な成績を収めており、現在も継続中です。テーブルごとに平均で約 1,500 万のレコードがあり、特定のデータベース スキーマには約 24 のテーブルがあります。

特に、Erlang.org のWeb サイトにある Erlang 14B03 に同梱されている mnesia Database をお勧めします。CouchDB と Membase Server を使用しました (http://www.couchbase.com ) システムの一部の部分についてですが、mnesia はメインのデータ ストレージ (プライマリ ストレージ) です。バックアップは非常にうまく自動化されており、システムはデータのサイズの増加に対して適切にスケーリングされますが、テーブルは多くのチェックポイントの下で実行されます. その分散、自動レプリケーション、および複雑なデータ モデルにより、レプリケーション、スケーラビリティ、およびシステムのフェールオーバー/テイクオーバーを心配することなく、非常に迅速にアプリケーションを構築することができました。

Mnesia は拡張性が高く、データベースの実行中にスキーマを構成および変更できます。システムが稼動している間に、テーブルを移動、コピー、変更することができます。通常、Erlang/OTP の上に構築された強力なシステムのすべての機能を備えています。mnesia DBMS を Google で検索すると、詳細を説明する書籍や論文が多数出てきます。

最も重要なことは、私たちのアプリケーションは、Yaws Web サーバー ( yaws.hyber.org ) を利用した Web ベースであり、Mnesia のパフォーマンスに感銘を受けていることです。そのレコード検索速度は非常に優れており、システムは非常に軽く感じられますが、大量のデータをレンダリングします. mnesiaを試してみてください。後悔することはありません。

編集:アプリケーションですばやく使用するには、ここに記載されている回答を見てください

于 2011-09-23T14:35:55.417 に答える
4
  • 開発の容易さ - 簡単な概念実証デモを作成する必要があります。したがって、データベースには、Eralang と Python 用の優れたアダプターが必要です。

Riak は Erlang で書かれている => Erlang をネイティブに話す

  • 「接続された」データがたくさんある新しいアプリケーションに取り組んでいます。誰かが、グラフのようなデータに Neo4j を推奨しました。それに関するアイデアはありますか?

Neo4j は「接続された」データに最適です。Python バインディングといくつかの Erlang アダプターHow to Use Neo4j From Erlang があります。注意すべき点として、Neo4j は、少なくとも無料でスケールアウトするのは簡単ではありません。しかし..それは完全にトランザクション( JTA でさえ)であり、物事をディスクに永続化し、Spring Dataに焼き付けます。

  • スケーラブル - 分散アーキテクチャを検討しているため、スケーラビリティが重要です。現時点では、(どのような形であれ) パフォーマンスが私のリストの一番上にあるわけではなく、上記のデータベースのいずれかの限界にすぐに達することはないと思います.

あなたの意見を考えると、Riak があなたにとって最良の選択になると思います。

  • アーランで書かれた
  • 自然に分布
  • for/with の開発が非常に簡単
  • 多くの機能 (セカンダリ インデックス、仮想ノード、完全にモジュール化されたプラグ可能な永続性 [LevelDB、Bitcask、InnoDB、フラット ファイルなど]、非常に信頼性が高く、組み込みの全文検索など)
  • 芭蕉がバックアップしている非常に情熱的役立つコミュニティがあります
于 2011-09-23T18:48:28.943 に答える