我正在寻找最终一致的键值数据存储,我决定在Amazon SimpleDB和Riak之间做出选择,所以任何人都可以分享他们比较两者的宝贵经验。
提前致谢 Fedrick
答案 0 :(得分:3)
Riak是一家超值商店。您存储的数据值对数据库不透明,因此您没有二级索引。但是,如果您的数据是JSON(或我认为是XML),您确实能够运行map-reduce。您可以对所有数据运行map-reduce,或仅运行子集(“种子密钥”)。它还具有“链接行走”功能,其中文档可以引用其他文档,这些文档可以自动获取。它们目前没有像CouchDB那样的增量map-reduce,这意味着任何辅助查询(非密钥)都非常昂贵。他们有计划解决这个问题。
SimpleDB实际上位于docstore和keystore之间:每个key->项都支持多个属性,但它只有一个级别。您可以查询您的密钥或属性值。
在制作中,Riak应该非常“不干涉”。如果它很慢或已满,只需启动一个新服务器并告诉它加入群集。 (与CouchDB或MongoDB不同,你需要使用多个配置文件)。
SimpleDB可能会受到冲击(我听到过每秒数万个请求),但您负责数据扩展(即不违反其域大小限制或者速度会减慢)。
答案 1 :(得分:0)
我已经使用SimpleDB大约6个月了。我正在投入生产。它运作良好,但我希望它更快。我执行%like%search进行搜索,而我似乎无法通过超过几MB的值获得超过几秒的值。但非%喜欢%搜索要快得多。我觉得如果亚马逊的某个人用旧的c而不是Erlang编写了一些算法,可能会加快速度,但我再次成为一名编码员。
最近打开的域上的前几个查询也需要更长时间,因为系统会全部读入。
总体而言,它对我有用,但如果我想扩大规模,我将不得不采取其他措施。
另外,我认为我几乎所有的使用都是免费的 - 有大量的空间分配等。
确保您计划SimpleDB当前没有“只读”访问模式等事实。任何可以使用它的用户都可以编辑它。
- 汤姆