TL;DR:
avg. 最大 50KB のエントリ サイズ。Linux 環境 (専用サーバー) にインストールされます。
ファイル システム ソリューションで十分です。
Ceph、Cassandra、Riak など、いくつかの解決策を見つけました。
詳細
コンポーネントの 1 つのストレージ ソリューションを探しています。それは、キー値ストレージ、フラットな名前空間である必要があります。
シナリオ
読み取り/書き込みパターンは非常に単純です。
キー値が書き込まれると、次の数時間以内にいくつかの読み取りがあります。
その後、指定された Key-Value には何も触れません。将来の目的である「ストレージモード」のためにデータを保持したいと考えています。
その他の使用面
- OS: リナックス
- Python クライアント/コネクタ
- 合計サイズ: 最大 80 TB (この値は、将来のニーズも表します)。
- 平均エントリ サイズ (kv ペアの 1 つの値の場合): 10 ~ 50 KB、非圧縮、ほとんどがテキスト データ
- 圧縮: 組み込みまたは外部のいずれか。
- 暗号化:不要
- ネットワーク帯域幅: 1Gb、単一の LAN
- サーバー: 専用 (クラウドではない)
最も重要な要件
「基本」要件は次のとおりです。
- OS: リナックス
- Python クライアント/コネクタまたは HTTP 経由の RESTful API
- 最大 80 TB まで簡単に保存できます (この値は、将来のニーズも表しています)。
- 最大読み取りレイテンシ: 最初の読み取りで数秒、「ストレージ モード」で 30 秒 (説明については上記を参照)
- 組み込みのレプリケーション (データが複数のノードに保存されるようにするため)
あった方がよい
- RESTful ゲートウェイ
- 別のストアへのバックグラウンド データ バックアップ (災害時のデータ復旧用)。
- 設定が簡単
これまでに見つけたもの
- セフ
- HDFS
- HDFS 上の HBase
- 光沢
- GlusterFS
- Mongo の GridFS - しかし、Mongo のインフラストラクチャは信頼できますか?
- Cassandra - マージ プロセスは 2 倍のディスク サイズを消費するため、オプションではありません
- Riak - Cassandra と同じ問題があるようで、さらに調査が必要です
- Swift + OpenStack (実際のストレージは Amazon S3 にある可能性があります)
- ヴォルデモート
- 追加のツールは数十ありますが、プロプライエタリ ライセンスを持っているものもあれば、未熟なものもあると思われるため、ここでは書きません。
上記のツール (合計容量が 50 TB を超えるもの) について、または十分だと思われるツールについて、お勧めを教えていただければ幸いです。