今後の医療プロジェクトでvoldemortとcouchdbのどちらを使用するかを決定しようとしています. 高可用性とフォールト トレランスを備え、投入される大量のデータに対応できるストレージ システムが必要です。
それぞれの長所/短所は何ですか?
ありがとう
Project Voldemortは良さそうに見えますが、これまで深く調べていませんでした。
現在の状態では、CouchDB は「大量のデータ」には適していない可能性があります。ノード間でデータを分散し、それに応じてクエリをルーティングすることはロードマップにありますが、これまでのところ実装されていません。CouchDB の最大の既知の本番セットアップでは、約 200G の「テーブル」(カウチ用語で「データベース」) を使用します。
HA は CouchDB でネイティブにサポートされていませんが、簡単に構築できます。すべての CouchDB ノードは、マルチマスター セットアップで相互にデータベース ノードを複製しています。CouchDB マシンの前に 2 つのVarnish プロキシを配置し、Varnish ボックスはCARPで冗長化されています。CouchDB の「Web から構築」設計により、このような作業が非常に簡単になります。
私たちのセットアップで最も差し迫った問題は、CouchDB ドキュメントへの大きな (マルチ MB) 添付ファイルのレプリケーションにまだ問題があるという事実です。
従来の RDBMS ルートも確認することをお勧めします。RDBMS アプローチ以外で利用できる人材には大きな問題があり、Oracle & Co から入手できる非常に有能な製品があります。
あなたの質問からは十分にわかっていませんが、Project Voldemort や CouchDB のような分散ハッシュ テーブル ( DHT ) は、一般的に HA の問題に対する解決策であると言えます。
これらの DHT は高可用性には非常に優れていますが、一貫性に関して従来のリレーショナル データベース (RDBMS) よりもコードを記述するのが困難です。
ドキュメントタイプの情報を保存するのに非常に適しています。これは、ヘルスケアプロジェクトにうまく適合する可能性がありますが、データの開発を困難にします.
一貫性と可用性に関するBASEとCAPの定理についてお読みください。
見る
memcacheDBはオプションですか? それが Digg が HA の問題を処理した方法だと聞いたことがあります。