2亿数量需要从20多个维度实时查询和统计,这个有没有啥好的方案来做?目前用mysql但是索引建立不了那么多啊,分表也试了效果也不好,具体是按月份分表那条件去各个表里查询然后代码汇总。这样时间还是长。不知道怎么弄了。
有没有好的方案?请回答者说明白点。我刚入门告诉我方法我去查谢谢各位大神。在线急等
做个统计表,把你关心的数据单独放到这个表里,减少数据量,然后再来查询
可以考虑并行话处理
或者大数据hadoop生态系统(hive或habse数据库)
需要看看你数据是啥样的 二十多个维度是啥
elasticsearch 而且数据迁移也方便
改动较小的方式 Mycat搭一个mysql集群 2亿数据且不是宽表加上分区索引 应该可以 不是很肯定 得试
elasticseach 6.0(不确定哪个版本) 之后又mysql的语句查询 导入数据也是其本身生态中的组件 可能单机都可以实现2亿毫秒级查询
如果上小型集群的话 并不建议使用spark 或是 MapReduce 你这这个数据量如果几乎没什么的增量数据的话可以考虑mpp类的impala,如果增量比较大的话可以试一下Druid说是kylin 都是Apache的开源组件 优先druid(http://druid.apache.org)
希望帮可以帮到你
看到大家的方案,都是就技术直接展开,我在想原始的需求是什么?2亿数量的多维度实时查询?这样的业务需求比较罕见。
通常的思路之一是,历史数据的定向整合-》中间计算表-》查询(监控系统,毫秒级大量数据入库,形成庞大的历史数据,
可以生产指导生产的各种图表)
table store的多元索引完全符合需求