浅谈大数据治理
随着互联网的发展,数据量呈现井喷式的增长。经典的关系型数据库单表结构,已经远远不能满足
如今对海量数据的实时分析需求。
为了解决这个问题,历史上演变出了很多技术方案。今天简单介绍一二。
一:分库分表
优点:保证了OLTP系统的高QPS。
缺点:
1. 扩容时数据迁移难。
2. 热点数据问题。20%的用户,贡献了80%的数据,大用户的数据查询和插入,依然存在性能问题。
3. 查询需要mycat这类分库分表中间件。但是这类中间件,也有很多缺点,比如
3.1 select * from t where a like 'a%' ordery by a desc limit 1000000,10 当通过where查询出来的数据量
小于1000000时,中间件会将sql改为
select * from t where a like 'a%' ordery by a desc limit 0,1000010;//这点很坑!
3.2 这类中间件没有并发计算的能力。当一个sql跨节点时,只能同步计算。
3.3 最多只支持两张分片表的join
二:大数据开源框架。(主要解决OLAP问题)
这类框架,从最开始的批处理大数据框架,渐渐演变为实时流计算+批处理的流批一体化大数据框架。
这类产品是目前的主流,种类繁多。批处理有最经典的Hadoop,还有后来的Hive等。实时流计算的有Spark
等。另外,国内也有集成了这些框架的产品,比如阿里云的OTS。
优点:存储成本低,支持海量数据的计算。
缺点:数据一致性差。
三:新型的存储计算分离大数据产品。
典型代表,就是阿里云的Hologress。
优点:数据一致性好,支持100QPS的实时查询压力。
缺点:对硬件要求高,价格昂贵。
四:HTAP一体化的原生分布式数据库。
典型的代表就是蚂蚁金服的OceanBase,阿里云的Polardb。这类数据库,追求同时支持OLTP/OLAP业务。有一定可能
性成为未来的发展趋势,静观其变。
浙公网安备 33010602011771号