0

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

假设我的行数从未超过一百万,我想获取最新的(5 小时内)技术文章。我想这将是“给我所有技术文章”(可能是 10000 篇)的地图减少,然后只淘汰那些具有最新时间戳的文章。

我是否正在考虑以正确的方式解决问题,DDB 甚至会是最好的解决方案吗?几年后可能会有 500 万件商品,但即便如此......

4

1 回答 1

3

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

当人们问如何在 Riak 中进行时间排序查询时,我们通常会建议几种策略(尽管它们都不是灵丹妙药,因为 Riak 缺乏有序范围查询):

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

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

除了这些策略,Riak 可能不是 100% 的最新信息解决方案,但可能更适合长期存储。您可以将它与 Redis、memcached 甚至 MongoDB(如果您的数据是短暂的并且可以放入内存中的数据具有很好的性能)之类的东西结合起来,以保存最新内容的滚动索引。

于 2010-06-16T13:15:52.240 回答