2017-08-19 16 views
2

Aerospikeは永続性をサポートするキーストアデータベースです。 しかし、この永続性をデータベースとして使用するのに十分な信頼性はありますか? 私はそれが最初にメモリにデータを書き込んでからそれを永続させることを理解しています。 私は最終的な一貫性を持って生きることができますが、何かがコミットされた状態になりたくはありませんが、マシンの障害のためにディスクに書き込まれたことはありません。 私は様々な使用例を見てみましたが、私はちょうどこれについて興味がありました。 また、新しいレコードの保存に関する限り、client.putはどの保証を提供しますか。Aerospikeを永続レイヤーとして使用できますか?

答えて

2

Aerospikeは、ユーザーが設定可能な複製係数を提供します。ほとんどの人は2を使います。本当に心配しているのであれば、3つ以上を使うことができます。それに応じてクラスタのサイズを決めます。 RF = 3の場合、putは、3つのノードが永続的な層に非同期にフラッシュされるメモリ内の書き込みブロックにデータを書き込んだときに戻ります。したがって、どのノードの障害パターンを保護しようとしているかによって異なります。クラスタ全体が瞬時にクラッシュすることを心配している場合、1秒(デフォルト)分のデータが失われる可能性があります。 1秒も低く設定することができます。 Aerospikeは、ラック全体がダウンするとデータ損失を防ぐラックアウェア構成も提供します。 putはいつも別のラックのノードに行きます。最後に、Aerospikeは非同期型のデータセンターレプリケーションを提供しますが、データを地理的に複製するオプションを提供します。もちろん、ジオを経由すると待ち時間があります。最後に、クラスタ全体のシャットダウンを完全に懸念している場合は、アプリケーション内の2つの別々のクラスタに接続し、常に更新を2つの別々のクラスタにプッシュできます。もちろん、2回の書き込みの間にアプリケーションが失敗した場合、一貫性について心配する必要があります。私はそれに頼らざるを得なかった誰も知らない。

+0

答えをありがとう。私のデータが2つのノードに書き込まれることを保証しても、それを生きることができます。私は「クラスタ全体が瞬時にクラッシュすることを心配しているなら、1秒(デフォルト)分のデータが失われてしまうケースがあります」これはどの設定ですか? – Anunay

+1

http://www.aerospike.com/docs/reference/configurationを参照して、flush-max-msパラメータを検索してください。デフォルトでは1000ミリ秒、推奨値です。あなたは受信データレートを理解しなければなりません、どのようにデフラグなどがこのパラメータでmuckingする前に! – pgupta

関連する問題