Cassandra的数据模型太多的表

问题描述 投票:0回答:1

我有一个单一的结构化的行作为具有10K写入速率每秒输入。每行有20列。某些查询应这些输入来回答。由于大多数查询都需要不同的WHEREGROUP BYORDER BY,最终的数据模型弄成这个样子:

primary key for table of query1 : ((column1,column2),column3,column4)
primary key for table of query2 : ((column3,column4),column2,column1)
  and so on

我知道在Cassandra的数据模型表的数量限制(200报警和500会失败)的

因为每一个输入行,我应该在每个表执行插入,每秒最后写大了*大数据!:

writes per seconds = 10K (input)
                        * number of tables (queries)
                        * replication factor

主要的问题:我是在正确的道路上?这是正常有一个表,每个查询即使输入率已经如此之高?

我不应该使用类似火花或Hadoop的,而不是依靠裸露的数据模型?或事件HBase的,而不是卡桑德拉?

cassandra data-modeling
1个回答
0
投票

这可能是因为Elassandra将解决您的问题。

该查询系统是CQL完全不同,但是对于索引复制将自动Elassandra在后端进行管理。一个表中的所有列将被索引,以便Elassandra的Elasticsearch一部分能够与REST API可用于query anything you'd like

在我的测试之一,我推了大量的数据到数据库Elassandra(8GB)去不停,我从来没有超时。另外,搜索引擎随时准备几乎全部时间。或多或少你在说什么。该文档说,它需要5到10秒,新添加的数据在Elassandra指标变得可用。我想这将一定程度上取决于你的安装,但我认为这不是足够的速度对于大多数应用更多。

使用Elassandra的乍一听有点毛茸茸的,但一次到位,这是难以置信的你能多快找到结果。它包括令人难以置信的(强大)WHERE肯定。该GROUP BY是有点难以到位。该ORDER BY是很简单的,但是,当(重新)命令你失去了速度......事情要记住。在我的测试中,不过,即使是ORDER BY等价物是非常快的。

© www.soinside.com 2019 - 2024. All rights reserved.