频繁查询的大数据解决方案

Posted

技术标签:

【中文标题】频繁查询的大数据解决方案【英文标题】:Big data solution for frequent queries 【发布时间】:2016-12-19 06:08:07 【问题描述】:

我需要一个大数据存储解决方案,用于批量插入不经常发生的非规范化数据以及对频繁发生的插入数据的查询。

我浏览过 Cassandra,觉得它对于批量插入不是那么好,但对于查询来说是一个不错的解决方案。另外,如果有一种机制可以根据数据属性单独隔离数据,那就太好了。

【问题讨论】:

【参考方案1】:

正如你提到的 Cassandra,我会谈谈它:

你能以非批处理方式插入还是系统强加的?如果可以不分批插入,Cassandra 应该可以轻松处理。

Cassandra 节点也应该可以处理批量插入,但这不会在所有节点之间正确分配负载(注意:我说的是负载平衡,而不是数据平衡,这仅取决于您的分区键设置)。如果您对 Cassandra 不是很熟悉,可以告诉我们您的数据结构和查询类型,我们可以建议您如何使用 Cassandra 的数据模型来适应它。

对于问题的过滤部分,Cassandra 有集群键和二级索引,基本上就像在集群键中添加另一个列配置,这样你就可以同时进行查询了。

【讨论】:

但考虑到 Cassandra,问题是数据必须有多大或多小才能确保未批量插入不会导致负载(平衡)问题。 你了解Cassandra的协调节点概念吗? Cassandra 的默认负载均衡策略是将传入的查询拆分到所有节点之间,以便它们可以充当多个并行协调器节点。你为什么要批量插入?是为了获得更好的插入时间还是由于流量问题? Cassandra 通常处理批量插入的速度比非批量插入要慢。

以上是关于频繁查询的大数据解决方案的主要内容,如果未能解决你的问题,请参考以下文章

关于列族数量的大表设计和查询

Google Big Table与广告服务器数据分析的大查询

SQLSERVER2000数据库频繁被置疑,高手解决下

如何解决redis高并发客户端频繁time out

记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案

应用引擎会自动缓存频繁查询吗?