Couchdb 在分布式数据库与关系型数据库中存储新闻

Couchdb 在分布式数据库与关系型数据库中存储新闻,couchdb,nosql,riak,rdms,Couchdb,Nosql,Riak,Rdms,大家好:如果我将新闻文章存储在一个具有不同类别(如“技术”、“金融”和“健康”)的数据库中,分布式数据库与RDBMS相比在这个系统中是否工作得很好?每一条新闻都会附上新闻文章以及其他一些新闻。不过,我想知道查询是否会更快 比方说,我从来没有超过一百万行,我想抓住最新(5小时内)的科技文章。我想这将是“给我所有技术文章”(可能是10000篇)的地图缩减,然后只剔除那些有最新时间戳的文章 我是否在考虑以正确的方式解决问题,DDB是否是最好的解决方案?几年后可能会有500万个项目,但即使如此……是否使

大家好:如果我将新闻文章存储在一个具有不同类别(如“技术”、“金融”和“健康”)的数据库中,分布式数据库与RDBMS相比在这个系统中是否工作得很好?每一条新闻都会附上新闻文章以及其他一些新闻。不过,我想知道查询是否会更快

比方说,我从来没有超过一百万行,我想抓住最新(5小时内)的科技文章。我想这将是“给我所有技术文章”(可能是10000篇)的地图缩减,然后只剔除那些有最新时间戳的文章


我是否在考虑以正确的方式解决问题,DDB是否是最好的解决方案?几年后可能会有500万个项目,但即使如此……

是否使用分布式数据库或键值存储更多地取决于您的操作需求,而不是您的领域问题

当人们问如何在Riak中执行时间顺序查询时,我们通常会建议几种策略(尽管没有一种是灵丹妙药,因为Riak缺少顺序范围查询):

1) 如果您经常访问特定大小的时间段,请将数据分解为反映该时间段的存储桶。例如,指定日期、小时或分钟的所有数据都将存储或链接到包含适当时间戳的bucket中。如果我想要从今天开始的所有科技新闻,bucket名称可能是“tech-20100616”。当数据输入时,添加从时间框到实际项目的适当链接

2) 如果数据更加面向序列,并且与特定时间点无关,请使用链接创建数据链,在时间上向后链接、向前链接或两者都链接。(这也适用于版本化数据,如wiki页面。)您可能还必须保留一个仅指向列表顶部的对象


撇开这些策略不谈,Riak可能不是最新信息的100%解决方案,但对于长期存储可能更好。您可以将它与Redis、memcached甚至MongoDB(如果您的数据是暂时的,并且可以放入内存中,那么MongoDB的性能会很好)结合起来,以保存最新内容的滚动索引。

是否使用分布式数据库或键值存储更多地取决于您的操作需求,而不是您的域问题

当人们问如何在Riak中执行时间顺序查询时,我们通常会建议几种策略(尽管没有一种是灵丹妙药,因为Riak缺少顺序范围查询):

1) 如果您经常访问特定大小的时间段,请将数据分解为反映该时间段的存储桶。例如,指定日期、小时或分钟的所有数据都将存储或链接到包含适当时间戳的bucket中。如果我想要从今天开始的所有科技新闻,bucket名称可能是“tech-20100616”。当数据输入时,添加从时间框到实际项目的适当链接

2) 如果数据更加面向序列,并且与特定时间点无关,请使用链接创建数据链,在时间上向后链接、向前链接或两者都链接。(这也适用于版本化数据,如wiki页面。)您可能还必须保留一个仅指向列表顶部的对象


撇开这些策略不谈,Riak可能不是最新信息的100%解决方案,但对于长期存储可能更好。你可以将它与Redis、memcached甚至MongoDB(如果你的数据是暂时的,并且可以放在内存中,那么它的性能会很好)相结合,来保存最新内容的滚动索引。

此外,如果我以后不得不搜索这些文章,哪种DDB最适合MongoDB?Riak?还有,如果我以后要搜索这些文章,MongoDB,哪个DDB最适合?里亚克?肖恩,关于你提到的第1点。我们如何使用诸如Ripple之类的ODM实现对象?Sean,关于您提到的第1点。我们如何使用诸如Ripple之类的ODM实现对象?