搜索
评论
分享

[原创] 数据库发展的未来趋势

猫友2022111617 楼主
2022-12-07 21:45 浙江 26092
举报 收藏本帖

未来的数据库系统应该能够对新生成的数据执行分析查询和机器学习算法。这种工作负载通常被称为实时分析或混合事务分析处理(HTAP),可以从历史数据和新数据中提取见解和知识。传统的商业分析和商业智能只能在历史数据上进行分析,但数据的价值通常在产生时是最高的,随着时间的推移逐渐降低。因此,如果能够缩短数据生产和分析之间的时间间隔,就能够产生更大的价值。

 

目前有3种方式支持HTAP工作负载:

 

最常见的方法是部署两个独立的数据库,一个用于OLTP工作负载,称为前端数据库;另一组用于处理OLAP工作负载,称为后端数据库。前端数据库处理新事务产生的数据,而在后台,系统管理使用ETL工具将数据从OLTP数据库导入后端数据库,后端数据库通常是数据仓库。在后端数据库上应用OLAP查询可以避免拖慢前端OLTP系统,而OLAP系统中产生的新数据会推回到前端OLTP数据库,形成一个闭环。

 

另一个流行的设计方案是lambda架构。也就是说,另一个批处理系统,如Hadoop和Spark,用于计算历史数据上的复合视图,而流处理系统,如Storm和Spark Streaming,用于计算新生成数据上的准实时视图。批处理系统通常需要定期重新扫描数据集,并通过流处理系统将计算结果反馈给在线服务。

 

上述两种方案的一个共同特点是将数据定向到异构系统,这也带来了很多问题。首先,将数据修改传播到另一个系统需要时间,持续时间通常以分钟或小时计量,直接导致数据计算无法实时;其次,部署和维护两个系统的运维成本也很高,通常这个人力成本能占到总成本的50%左右;开发人员如果要同时分析两个系统的数据,需要编写两套数据采集逻辑。虽然也使用异构系统,但有些方案试图隐藏两个系统的事实,只暴露一个windows sockets,但这通常需要在后台将数据从OLTP系统(如Hbase)复制到OLAP系统(如Spark)。

 

第三种方案是使用HTAP数据库,它以高吞吐量和低延迟支持OLTP工作负载,并支持具有复杂逻辑和长时间运行在历史(冷)数据和新(热)数据上的OLAP工作负载。OHAP系统与以往通用数据库的主要区别在于,前者结合了一些特殊的OLTP实现方案(内存存储、无锁执行)和OLAP(列存储、向量化执行)。

 

SAP HANA和MemSQL是首批声称支持HTAP工作负载的NewSQL数据库。HANA是通过内部使用不同的执行引擎来实现的。一个引擎用于按行存储数据,适合OLTP工作负载,另一个引擎用于按列存储数据,适合OLAP工作负载;。MemSQL使用不同的存储管理器(SM)来存储数据,一个用于行存储,另一个用于列存储,它们在执行引擎层进行组合。HyPer已经从使用类似于H-Store的并发控制和行存储方案转变为使用MVCC和列存储方案来支持更复杂的OLAP查询。VoltDB也改变了他们的营销策略,从单纯的OLTP转向支持流计算。同样,S-Store试图基于H-Store架构增加流处理能力。甚至一些面向OLAP的系统(如Greenplum)在21世纪初也开始增加对OLTP的支持。

 

虽然HTAP数据库的崛起意味着单一大型OLAP数据仓库的终结,但这在短期内不会发生,因为这些数据仓库目前仍然是大多数公司的通用后端数据库,存储着公司的所有历史数据,但总有一天,将不再需要移动数据来满足OLAP的工作量。

本文为凯迪网自媒体“凯迪号”作者上传发布,代表其个人观点与立场,凯迪网仅提供信息发布与储存服务。文章内容之真实性、准确性由用户自行辨别,凯迪网有权利对涉嫌违反相关法律、法规内容进行相应处置。

帖子看完了,快捷扫码分享一下吧

投喂支持
点赞
发表评论
请先 注册 / 登录后参与评论