2

Couchbaseは私の現在のプロジェクトで多くの問題を解決できるかもしれないと思いますが、最初に確認する必要のある基本的なことがいくつかあります。

1)10個のノードを持つクラスターがあるとし、ノードAにドキュメントを追加します。次にノードBにそのドキュメントを要求しますが、確実にドキュメントを取り戻すことができますか?ノードBに質問して、ドキュメントが存在しないと思われるリスクはありますか?

2)次に、特定の作成者のすべてのドキュメントを表示できるようにビューを作成するとします。ノードAにドキュメントを追加します。インデックスが作成されているときに、このドキュメントがビューに表示されるまでに一定の遅延時間があります。私が知りたいのは、1つのドキュメントのみをインデックスに登録しているので、ラグタイムは非常に短いのでしょうか。

基本的に私は1億のドキュメントのオーダーで何かを管理するウェブサイトを持っています。一度に数千人のユーザーがいるため、約10〜20台のサーバーが実行されています。現在のアーキテクチャでは、ドキュメントをノードAに挿入すると、そのドキュメントを探すときに、ノードBにアクセスして取得している可能性があります。だから私の全体的な質問は:

ユーザーがノードAにドキュメントを挿入し、次にすべてのドキュメントの画面を表示します。Couchbaseを使用している場合、この画面は、作成者にキー設定されたビューをクエリした結果になります。投稿したばかりのドキュメントがユーザーに表示されなくなる可能性はどのくらいありますか?

4

2 に答える 2

2
  1. どのノードを要求しても、いつでもドキュメントを取り戻すことができます。Couchbase SDKのいずれかを使用する場合、ドキュメントを持っているノードに常に問い合わせることを確認します。moxiを使用する場合は同じことを行うので、これについて心配する必要はありません。

  2. これは、書き込みワークロードの重さによって異なります。現在のアーキテクチャ(2.0)では、ドキュメントはインデックスが作成される前にディスクにヒットする必要があります。書き込みワークロードが重い場合は、ディスクに書き込む必要のあるアイテムの行が長くなるため、ラグが大きくなります。このユースケースの特定のアプリケーション要件を念頭に置いてベンチマークを実行し、問題や問題があればCouchbaseフォーラムに投稿することをお勧めします。

また、耐久性の要件があり、古いクエリパラメータをfalseに設定してクエリを実行するコマンドを確認することをお勧めします。耐久性コマンドを使用すると、アイテムがディスクにヒットするまでアプリケーションをブロックできます。staleをfalseに設定してクエリを実行すると、Couchbaseに配置された最新のアイテムでビューが最新であることを確認できます。このプロセスにより、ユーザーは常にあなたの最新の結果を見ることができます

編集:Couchbase 3.0では、クエリを実行する前にアイテムをディスクに保持する必要がなくなりました。

于 2013-02-02T20:11:27.873 に答える
0

ビューの更新は調整可能なパラメーターです。デフォルトでは、スレッドは5秒ごとにウェイクアップし、変更をチェックし、変更が見つかった場合はインデックスを更新します。これらのパラメーターを調整するかstale=false、クエリにviewパラメーターを使用してください。

「自動インデックス更新」のドキュメントから:

構成可能な更新間隔に加えて、バックグラウンドですべてのインデックスを自動的に更新することもできます。自動更新は、更新時間間隔(秒単位)と、ビューエンジンがインデックスを更新する前に発生するドキュメント変更の数の2つのパラメーターを使用して構成します。これらの2つのパラメーターは、updateIntervalとupdateMinChangesです。

  • updateInterval:ミリ秒単位の時間間隔。デフォルトは5000ミリ秒です。updateIntervalごとに、ビューエンジンは、ディスク上のドキュメントの変更の数がupdateMinChangesより大きいかどうかを確認します。trueの場合、ビューの更新がトリガーされます。ディスクに保存されているドキュメントは、メモリ内にあるドキュメントよりも数十秒間遅れる可能性があります。
  • updateMinChanges:インデックスの再作成が行われる前に発生するドキュメントの変更の数。デフォルトは5000の変更です。

http://docs.couchbase.com/admin/admin/Views/views-operation.html

于 2015-01-20T21:01:34.057 に答える