サンプルの大きapache couchdbが持つデータベースのための地域開発を避ける長期ビューを構築
-
25-09-2019 - |
質問
Apache couchdbが持つ便利なの開発(CouchApps)を押してモンドチップを生産。残念ながら生産規模データアーカイブデータセットを作のきの煩雑さである。
何か良い方法をサンプルのapache couchdbが持つデータベース用地開発?
解決
その答えは濾過します。私はこの二つのパーツ:
- 再生産データベース
example_db
私の地元のサーバーとしてexample_db_full
- を行うフィルタからのレプリケーション
example_db_full
へexample_db
, のフィルターカットだけの十分なデータをファンの人にファンが常に十分なデータで確認をしたコードです。
書類選択できるアプリケーション、特に設計されています。この時、私は満足して簡単なランダムpass/fail割合ができます。の乱数の発生源での一貫した(同一文書の常時の経過または常に失敗します。)
私の技術では正常化のコンテンツチェックサムを書 _rev
分野の範囲[0.0,1.0).それかで指定部分(例えば 0.01
場合、正規化チェックサムの値は <=私の割合を、文書ます。
function(doc, req) {
if(/^_design\//.test(doc._id))
return true;
if(!req.query.p)
throw {error: "Must supply a 'p' parameter with the fraction"
+ " of documents to pass [0.0-1.0]"};
var p = parseFloat(req.query.p);
if(!(p >= 0.0 && p <= 1.0)) // Also catches NaN
throw {error: "Must supply a 'p' parameter with the fraction of documents"
+ " to pass [0.0-1.0]"};
// Consider the first 8 characters of the doc checksum (for now, taken
// from _rev) as a real number on the range [0.0, 1.0), i.e.
// ["00000000", "ffffffff").
var ONE = 4294967295; // parseInt("ffffffff", 16);
var doc_val = parseInt(doc._rev.match(/^\d+-([0-9a-f]{8})/)[1], 16);
return doc_val <= (ONE * p);
}
所属していません StackOverflow