对大型 CouchDB 数据库进行采样以进行本地开发,避免长视图构建
CouchDB 可以方便地在本地开发(CouchApps),然后推送到远程生产。不幸的是,对于生产规模的数据集,处理视图可能会很麻烦。
获取 CouchDB 数据库样本用于本地开发的好方法有哪些?
CouchDB is convenient to develop (CouchApps) locally and then push into remote production. Unfortunately with production-sized data sets, working on views can be cumbersome.
What are good ways to take samples of a CouchDB database for use in local development?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
答案是过滤复制。我喜欢分两部分执行此操作:
example_db
作为example_db_full
复制到我的本地服务器example_db_full
到的过滤复制>example_db
,其中过滤器删除了足够的数据,因此构建速度很快,但保留了足够的数据,以便我可以确认我的代码是否有效。选择哪些文档可以特定于应用程序。此时,我对简单的随机通过/失败以及我可以指定的百分比感到满意。随机性是一致的(即,同一个文档总是通过或总是失败。)
我的技术是在 [0.0, 1.0) 范围内规范化文档
_rev
字段中的内容校验和。然后我只需指定一些分数(例如0.01
),如果标准化校验和值 <= 我的分数,则文档通过。The answer is filtered replication. I like to do this in two parts:
example_db
to my local server asexample_db_full
example_db_full
toexample_db
, where the filter cuts out enough data so builds are fast, but keeps enough data so I can confirm my code works.Which documents to select can be application-specific. At this time, I am satisfied with a simple random pass/fail with a percentage that I can specify. The randomness is consistent (i.e., the same document always passes or always fails.)
My technique is to normalize the content checksum in the document
_rev
field on a range of [0.0, 1.0). Then I simply specify some fraction (e.g.0.01
), and if the normalized checksum value is <= my fraction, the document passes.