大家好:如果我将新闻文章存储在不同类别的数据库中,比如“科技”、“金融”和“健康”,分布式数据库在这个系统中与RDBMS相比是否可以很好地工作?每个新闻条目都会附加新闻文章以及一些其他条目。不过,我想知道查询是否会更快。
假设我从来没有超过一百万行,并且我想获取最新的(5小时内)技术文章。我想这将是“给我所有科技文章”(可能是10000篇)的缩图,然后只剔除那些有最新时间戳的文章。
我是否在考虑以正确的方式解决问题,DDB是否是最好的解决方案?几年内可能会有500万件商品,但即便如此……
发布于 2010-06-16 21:15:52
使用分布式数据库还是键值存储更多地取决于您的操作要求,而不是您的域问题。
当人们询问如何在Riak中进行时间有序查询时,我们通常会提出几种策略(尽管没有一种是银弹,因为Riak缺乏有序范围查询):
1)如果您经常访问特定大小的时间块,请将您的数据分解为反映该时间段的存储桶。例如,指定的日、小时或分钟的所有数据将被存储或链接到包含适当时间戳的存储桶。如果我想要今天所有的技术新闻,存储桶的名字可能是" tech -20100616“。当您的数据传入时,将时间框存储桶中的适当链接添加到实际项目。
2)如果数据更多地是面向序列的,并且与特定的时间点无关,则使用链接来创建数据链,在时间上向后链接、向前链接或两者都链接。(这也适用于版本化数据,如wiki页面。)您可能还必须保留一个仅指向列表头部的对象。
抛开这些策略不谈,Riak可能不是最新信息的100%解决方案,但对于长期存储可能更好。您可以将其与Redis、memcached或甚至MongoDB (如果您的数据具有轻微的暂时性并且可以存储在内存中,则具有很好的性能)结合起来,以保存最新内容的滚动索引。
https://stackoverflow.com/questions/3050619
复制相似问题