動的に水平方向にスケーラブルなキー値ストア
-
21-09-2019 - |
質問
以下を提供するキーバリューストアはありますか?
- ノードを追加および削除するだけで、データが自動的に再配布されます。
- ノードを削除しても、冗長性を提供するために 2 つの追加のデータ ノードを残すことができます。
- 最大 1 GB のサイズのテキストまたは画像を保存できるようにします
- 最大100TBの小規模データを保存可能
- 高速 (その上でクエリを実行できるようになります)
- これらすべてをクライアントに対して透過的にする
- Ubuntu/FreeBSD または Mac で動作します
- 無料またはオープンソース
私は基本的に、「単一」を使用でき、memcached、db、およびいくつかのストレージ コンポーネントを気にする必要がないものが欲しいので、そうです、データベースの「特効薬」が欲しいのです。
ありがとう
ズバイル
これまでの答え:BackBlaze 上の MogileFS - 私が見る限り、これは単なるファイルシステムであり、いくつかの調査の後、大きな画像ファイルにのみ適しているようです
Tokyo Tyrant - lightcloud が必要です。新しいノードを追加しても自動スケールされません。これを調べてみたところ、単一ノードに適合するクエリでは非常に高速であるようですが、
Riak - これは私自身も検討中ですが、まだ結果は出ていません
Amazon S3 - これを本番環境の唯一の永続層として使用している人はいますか?私が見たところ、複雑なクエリは高価すぎるため、画像のストレージに使用されているようです
@shaman が Cassandra を提案しました - 間違いなく私が検討しているものです
今のところ、私が述べた基準を満たすデータベースやキーバリュー ストアはないようです。100 ポイントの報奨金を提供した後でも、質問には答えられませんでした。
解決
使い過ぎからオープンソースソフトウェアです。
またカップル百万ドルの予算は一部の企業クラスのソフトウェアがカップルのソリューション。もう何をしたいのある企業の製品である徒歩圏内にあります。
"高速(なによりのクエリが実行されるので)"
まるkey-value storeべきます。しかし、問題になることなくオントロジーやデータスキーマ、スマートフォンを使っまい全体を通してデータベースを返します。必要な指標を含むれぞれの"型"のデータしたい。
この場合には通常問題の並列に対し~15,000ます。のボトルネックである格安ハードディスク-ドライブにキャップで50を求めます。場合データセットに収まRAM、性能が非常に高い。ただし、キーに保存されRAMがあRAMの値を保存すると、システム後藤ディスクのほぼすべてのキーと値のペアルックアップキーはそれぞれあり-ランダムな位置にします。
この制限する50キーと値のペアルックアップ秒当たります。が、サーバ上にkey-value形式で格納されRAMではなく100kより専用サーバに商品市況のハードウェアます。Redis).
シリアルディスクの読み性能が非常に高い。いをドライブ後藤50MB/s(800Mb/s)のシリアルを読み込み.その場合の保存価値観をディスクでの保存の値にする必要のあるから読み込むディスクの読み込み可能な直列.
それが問題なのであります。不良いパフォーマンスのバニラのスマートフォンを使いない場合のいずれかのサーバ上にkey-value形式で格納完RAM(又はキーコードではRAMと価値観をSSDにドライブは設定されていない場合は何らかのスキーマはタイプシステムのキーとしてクラスタのデータディスクでのすべてのキーを指定のタイプで簡単に検索をはじシリアルディスクを読み込みます。
合鍵は、複数の種類(例えばで書かれているデータタイプの継承関係データベースにしていくことが大きな鍵となることを要素の複数の指数です。この場合、時間-空間貿易シンセシオロ構造の価値観できるように読み直列からディスクです。この保存の冗長化の価値が重要となります。
したいものはビット以外のキー-値の店舗の方まで楽しめる、充実した情報がいます。この問題の大きなファイルの保存は不問題です。ふりシステムでキーまで50meg.その後すぐに休みを1ブファイルを50megセグメントおよびキー各セグメント値です。簡単なサーバーですることができるようにする翻訳の部分をしたいファイルのパートナーに価値あるルックアップ動作します。
この問題の達成については二重化しておくことがより困難です。そのもの"泉コード"または"一部のファイルのキー-値テーブルのためのサーバをサーバのデータが復ワイヤーを速くする(1ギガビット/秒(Gb/s)を待機系サーバの場合、特定のサーバーの金型です。通常は、検出できるサーバーの死を"heart beat"システムの発れば名前ベースのバーチャルホストの対応は10秒です。することも可能でキーと値のペアルックアップに対するパートファイルを符号化されたキーと値のテーブルでは、効率的でないものの、バックアップのためのイベントのサーバーの故障です。大きな問題ではほとんど不可能であることをバックアップ最新のデータは3分です。行っているのだとかの書き込み、バックアップ機能はその一部の性能オーバーヘッドがオーバーヘッドの反対しているシステムの場合、主として行いります。
私は専門家ではないですが、いまの維持にデータベースの整合性と一貫性制約の下での故障モードでまでお問い合わせください問題をこの条件もご紹介します。していない場合もそのことに大きく影響するようになってい設計が簡略化され、システムではありません。
高速くできるクエリが実行されるので)
まず、忘れ入または操作するスケールより速n*log(n)時のデータベースです。あいに置き換え機能が正常に実施さが仲間入り。できる構造をしていただけるようにする必要はないん参加できます"事前コンパイルの問合せを確認することができま時間を作る空間の貿易-off、予算に参加して格納していますが,そのためのルックアップ。
セマンティックwebのためのデータベースだと思いますの見人の事前の作成のお問い合わせの時間-空間レードオフのためにも演では緩やかにサイズのデータセット私はこの機能は自動的に透明性の高いデータベースによるバックエず、参加の申請プログラマを交換してください。しかしまだ発表する企業データベースの実施にこれらの技術関係データベースです。ないオープンソース製品など知っているしい驚きをすればいいのためのリンクのデータを横方向に拡張データベース。
ベンチャーキャピタルは、このシステムの場合は追加RAMまたは保管スペースの利用で事前計算の結果の共通のサブクエリパフォーマンス上の理由からではなく、加冗長性のkey-value storeです。事前の計算結果によっては、鍵かりにくいクエリに対しくはn^2の加入log(n)ルックアップ.他のクエリーやサブクエリのスケール以n*log(n)は何か結果を行う必要はあり、キャッシュのkey-value storeです。
行っているのだとか多数の書き込みは、キャッシュされたサブクエリは無効となりますよりも早く処理できない性能です。対キャッシュを無効化のためのキャッシュされたサブクエリは他の難問題です。と思い解決策が可能ですが、見てきたわけではないです。
歓迎だ。べきではないが期待以上のようなシステムのための別の20年です。
これまでのようなデータベースまたはキー値る要件を満たしていないものの提供を豊富に100ポイントの質問に回答を得!
お求めているのは奇跡です。20年も待つまでオープンソースの奇跡データベースすべき支払うお金のようなソリューション-カスタマイズの中から必要なものを選んで使用。
他のヒント
Amazon S3はストレージソリューションではなく、データベースです。
あなただけの簡単なキー/値が必要な場合は、あなたの最善の策は、S3との組み合わせでアマゾンのSimpleDBを使用することです。検索用のメタデータがSimpleDBの中に保存されている間に大容量のファイルは、S3に保存されます。これはあなたのS3に直接アクセスして、水平方向にスケーラブルなキー/値のシステムを提供します。
あなたが探している正確に何であるように思わ別の解決策は、あります: //incubator.apache.org/cassandra/する
memcachedの+ MySQL Clusterの
からカサンドラに切り替えているTwitterの瞬間のHBaseとHDFSは一緒に、これらの要件のほとんどを満たします。 HBaseのは、格納するために使用し、小さなオブジェクトを取得することができます。 HDFSは、大きなオブジェクトを格納するために使用することができます。 HBaseのは、小さなオブジェクトとHDFS上の大きいものとして記憶にそれらを圧縮します。スピードは相対的である - しかし、かなり速いサービスを提供している(カサンドラに類似)、メモリからの読み込み - HBaseのは、(例えば)mysqlのように、ディスクからの読み取りランダムに早くはありません。それは優秀な書き込み性能を有しています。 HDFS、下層の記録層は、複数のノードの損失に完全に弾性です。それだけでなく、ラックレベルの維持を可能ラック全体に複製します。かなりの最もOSを実行します。
- 。これは、ApacheライセンスでJavaベースのスタックですこのスタックの主な弱点は、あまり最適ランダムディスクよりもパフォーマンスと(進行中の作業である)は、クロスデータセンターサポートの欠如を読み込まれます。
考えられる解決策を 2 つ提案します。
1) Amazon のサービス (Amazon S3) を購入します。100 TB の場合、月額 14,512 ドルかかります。
2) はるかに安価な解決策:
2 つのカスタム Backblaze ストレージ ポッドを構築します (リンク) を作成し、その上で MogileFS を実行します。
現在、同様のソリューションを使用してペタバイト規模のデータを保存する方法を調査しているので、これについて興味深いことがあれば、メモを投稿してください。
あなたの質問からわかることによると、 プロジェクト・ヴォルデモート が一番近いようです。彼らのを見てください デザインページ.
私が見た唯一の問題は、巨大なファイルをどのように処理するかということです。 このスレッド, 、すべてが良いわけではありません。ただし、ファイルを使用すると、いつでも簡単にこの問題を回避できます。結局のところ、これがファイル システムの正確な目的です。を見てください。 ウィキペディアのファイルシステムのリスト - リストは膨大です。
あなたは MongoDBののを見てしたい場合があります。
私はしているが、見つけるのは難しいか不可能でさえあるかもしれないデータベース/ distrubutedファイルシステムのミックス、探しているあなたを伝えることができるか。
からあなたは MooseFS のか<のhref = "HTTPのような分散ファイルシステムを見てみたいことがあります。 //www.gluster.org/」のrel = "nofollowをnoreferrer"> Gluster とファイルとしてデータを保持します。両方のシステムがフォールトトレラントであり、分散(あなたがに入れて、あなたが好きなようにノードを取り出すことができる)、および両方が(FUSEの上に構築された)クライアントに対して透過的である - あなたは、単純なファイルシステムのOPSを使用しています。このカバー以下の特徴:1)、2)、3)、4)、6)、7)、8)。私たちだが、何かを持つデジタルムービーストレージ用MooseFSを使用しては、(パフォーマンスはI / Oに依存し、いないプロトコルや実装に依存するので)ネットワークのセットアップができますとして保存し、アップロード/ダウンロードの1,5 PBが速いようですaroung。あなたは)あなたのリスト上のクエリ(機能5)を持っていませんが、 MongoDBののようなものを持つ夫婦なファイルシステムをすることができますファイルシステムに保存されたクエリデータへのLuceneのような>、あるいはいくつかの検索エンジン(それがクラスタ化インデックスを持っている)。
Zubair,
したkey-value storeでは よん.
ない(まだ使用複製、忘2の最初の要件もこの問いをきっかけとなった-ん!
no:たすことができるだけで追加および削除ノードまredstributeのデータを自動的に
no:を削除ノードがそのまま残されています2当データノードを冗長化
ok:初めてご連絡させて頂き店舗のテキストや画像のサイズは1GB (有:無制限)
ok:きの小さいサイズまでのデータ100TBのデータ (有:無制限)
ok:高速くできるクエリが実行されるので) (有:より東京都内閣TC-固定配列)
ok:この透明クライアントに (有:統合webサーバ)
ok:作品Ubuntu/FreeBSDまたはMac (有:Linux)
ok:無料またはオープンソース (有:フリーウェア)
ほかシングルスレッドの演奏に優れたハッシュテーブルB-木のこKV店舗のみであっする"待無できませんの遮断、遅延載す。
MarkLogicはこの方向に起こっています。ないすべて無料で、しかし...
他の人が言及しているものに加えて - あなたはOrientDBを見てみることができ - ます。http://コード.google.com / P /オリエント/ の文書とルックスは非常に有望なことをK / Vストアます。
チェック BigCouch.ではapache couchdbが持つ、最適化したクラスターのすべてのビッグデータの問題はクラスターが適切)。BigCouchは を統合し、apache couchdbが持つプロジェクト としている豚丼の専門店 Cloudant, プログラムの多くの科目は、コアcommittersにapache couchdbが持つ.
上げのお客様の要件:
たすことができるだけで追加および削除ノードまredstributeのデータを自動的に
を削除ノードがそのまま残されています2当データノードを冗長化
そうです。BigCouch用発電機のコンセプトの定足数を設定ノードがいかに多くのコピーのデータです。
初めてご連絡させて頂き店舗のテキストや画像のサイズは1GB
そうです。のようにapache couchdbが持つ、ストリーム用途にでも便などのファイルの任意のサイズのデータベースです。
きの小さいサイズまでのデータ100TBのデータ
そうです。のチームに独自に作成しているもののBigCouchかったと聞いていたので面したシステム発電容量のデータ ります。
高速くできるクエリが実行されるので)
そうです。クエリーによるMapReduceに O(log n)時間.
この透明クライアントに
作品Ubuntu/FreeBSDまたはMac
無料またはオープンソース
はい!オープンソースのApache2.0のライセンスです。のデフォルトのインストールの手順は、Debianシステムのように、Ubuntu.