亿级数据存储引擎技术选型报告

业务背景

需要找到一个适合存储我们全息档案的容器 要求如下:

1 )能存储的数据量是 10 亿级

2) 能支持精确和模糊检索

3) 能支持按天进行大量数据更新 (千万级)

4) 能支持大数据量排序

容器特征对比





业务场景契合度分析

druid-

1)只能够处理TB级别数据

2)时序化数据,所有行记录中必须有日期指标

3)OLAP并发有限,不适合OLTP查询

4)目前不支持JOIN操作,不支持数据更新

5)分页支持的不够完善


doris-

1)由百度17年开源出来,用于百度统计的业务

2)市面相关资料不多 只有一些大厂在使用

3)官方建议搭建集群使用 学习和运维成本高 风险大


clickhouse-

1)单机性能足够强劲部署运维成本低

2) 架构在超深度聚合查询时 速度极快 比较适合当下业务场景

3)根据用户查询习惯使用物化视图技术可以进一步提升查询体验

4) Qps 1000能够满足当下业务场景

5) 适合大批量插入


es-

1)适合精准和模糊匹配全文检索速度快

2)做深度聚合时表现不佳


Mongodb-

1)集群架构下,需要手动配置前置查询路由+配置服务+分片的的分配和复制

2)全文检索是字段个数有限制

3)字段需要手动创建索引


TiDB-

1) 适合作大数量的存储和查询反而不适合数据量小的场景

2) 稳定性不好需要保证server节点的高可用 节点一旦出问题恢复要按照严格的顺序 运维存在风险

3)对硬盘要求很高,没上SSD硬盘的不建议使用

4)不支持分区,删除数据麻烦

5)插入数据太大会报错

6)内存使用过多会导致TIDB当机


结论

以clickhouse容器为主,辅以es实现全文匹配的功能,开发和运维成本低,风险小。Tidb如果忽略掉可用性和分区容错性这块也可以作为一个备选项。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容