一、前言
在大数据推动行业发展的年代,大型企业级应用往往选择多种数据库产品,分别支持在线交易、报表生成、日志存储、离线分析等,用以驱动业务的高速发展,但这种组合式解决方案,需要精细的控制不同产品间的数据流转和一致性问题,使用难度颇高,每个数据库产品间的数据同步和冗余,也带来了很高的成本开销,进一步限制了企业级应用的发展。
近年来Gartner提出了HTAP数据库概念,一个数据库既能支持OLTP(在线事务处理),又能支持OLAP(在线分析处理),涵盖大部分企业级应用的需求,一站解决这些问题。数据库云服务供应厂商,纷纷响应支持,企业级应用案例也如雨后春笋般涌现。
HTAP数据库在架构上做了哪些创新,解决了哪些关键问题?又能为企业级应用降低哪些应用难度,减少哪些成本开销?本文将为您揭示HTAP数据库为大数据行业带来的新变化。
二、OLTP + OLAP vs. HTAP
企业级应用的两个业务场景:在线交易和数据分析,是OLTP和OLAP的典型应用。在线交易对数据库的ACID特性有严格的要求,更关注数据库在低延迟、高并发方面的能力,数据分析对并发和延迟要求不高,反而更关注数据库的算法支持、容量、计算处理能力。在企业级应用的不同成长阶段,为这两类业务选择的技术有很大差别:
-
小型应用阶段:为了节省成本,企业选择将这两类业务放在同一个OLTP数据库中运行,在数据规模小时,可以运转的很好;
-
中型应用阶段:在数据规模上来时,会面临资源争抢的问题:分析业务会消耗数据库大量的cpu和io资源,影响到交易业务的延迟,最终使得每个业务都得不到很好服务。此时,企业选择了数据库读写分离和分时复用,一个主库用于交易,多个读库用于分析,且在线业务和离线业务分时复用;
-
大型应用阶段:数据规模进一步上升,单一的主库已经不能满足交易需求,读库也跑不动越来越复杂的分析SQL。此时,企业选择了分库分表和分析型数据库,利用分库分表中间件,拆分交易主库,水平扩展交易性能,同时将数据同步到OLAP数据库中,进行分析计算,做到彻底的资源隔离;
-
巨型应用阶段:数据规模再次上升,每次为OLTP数据库扩容都要消耗极大的人力物力,数据同步到OLAP数据库的时延和成本很高,使用时要为不同业务选择不同数据库入口,管理复杂度极大。此时,企业可以选择HTAP数据库进一步改善业务架构,降低成本,提升易用性,改善运维体验;
图1. 企业级应用的架构演进历程
请点击此处输入图片描述
仔细分析这几个不同阶段可以发现,使用HTAP数据库云服务,便能省去企业的选型麻烦:
-
无论业务规模多大,企业使用HTAP数据库的方式,始终都与小型应用阶段相同,无需改变使用习惯;
-
业务规模扩大,企业也可以为HTAP数据库添加更多的计算存储资源,提升数据库的能力,以适应业务,每个阶段无需付出额外的成本;
-
企业无需关心数据库的运维,进一步减少了人力开销;
阿里云提供的HybridDB for MySQL便是一款HTAP数据库云服务,兼容MySQL的协议、语法、生态,用户无需改变使用习惯,采用全自研的链路存储计算分离架构,可以满足不同业务规模的企业级应用需求,并与之共同成长。
三、HTAP数据库架构优势
阿里云HybridDB for MySQL是松耦合分布式架构的HTAP数据库云服务,核心技术架构如下所示:
图2. 阿里云HybridDB for MySQL核心架构
1. 数据分区
HybridDB for MySQL采用了数据分区的架构,分区间share nothing,从而支持线性扩容,链路、存储、计算分离,合理利用数据库的整体硬件资源,降低整体成本。
图3. 阿里云HybridDB for MySQL数据分区原理
数据分区架构使得节点扩容变得更为简单,加减节点只涉及到局部的数据搬动,而且不影响业务使用。统一的链路入口,不会改变用户的使用习惯,一份存储,不会带来更多的成本,独立的计算资源,充分适应不同业务的计算需求。
2. 统一的数据库云服务
在数据库云服务方面,HybridDB for MySQL与RDS for MySQL对齐,几个解决方案的综合对比如下:
HybridDB for MySQL |
RDS for MySQL |
OLTP+OLAP混合方案 |
|
访问入口 |
统一入口 |
统一入口 |
多点入口 |
ACID事务特性 |
全局ACID |
全局ACID |
组件间ACID |
SQL兼容性 |
全局一致 |
全局一致 |
组件间兼容性不同 |
数据延迟 |
无 |
无 |
有同步延迟 |
稳定性 |
统一的稳定性保障 |
统一的稳定性保障 |
组件间稳定性不同 |
性能扩容 |
线性扩容 |
不支持线性扩容 |
线性扩容 |
计算功能扩展 |
多种计算功能扩展 |
不支持计算功能扩展 |
多种计算功能扩展 |
存储成本 |
一份存储 |
一份存储 |
多份存储 |
计算成本 |
一份计算 |
一份计算 |
多份计算 |
异构数据同步成本 |
无 |
无 |
数据同步成本较高 |
备份恢复 |
支持 |
支持 |
组件局部支持 |
监控 |
支持 |
支持 |
组件局部支持 |
表1. 阿里云HybridDB for MySQL与其他数据库服务的对比
3. 高可用
HybridDB for MySQL全链路均有高可用设计,链路引擎、计算引擎为无状态设计,副本扩增可以带来更高的可用性,存储引擎为一主多备半同步复制的存储引擎,数据库本身也支持实时备份,并支持按备份集恢复。
图4. 阿里云HybridDB for MySQL高可用架构
四、应用场景
HTAP数据库,常用于混合业务场景,以综合能力著称,可以替代大部分OLTP、OLAP数据库混用的技术架构,实际的应用场景可见下文。
1. 分库分表+实时分析
企业级应用的最典型业务为在线交易和数据分析,使用HTAP数据库能有更多的收益:
-
在线交易业务使用单机数据库+分库分表中间件,而HTAP数据库的水平分区架构,天然兼容分库分表中间件的业务场景,企业级用户无需再关心底层单机数据库的运维问题;
-
数据分析业务使用数据同步+大数据处理平台,HTAP数据库支持直接对数据进行分析处理,且不影响在线业务,在时效性和成本方面,有很大的优势;
图5. 分库分表+实时分析业务使用HTAP数据库
2. 物联网实时数据处理
物联网大数据应用,具有海量的传感器数据,实时更新和查询需求,非常密集,对数据库的性能要求很高。使用HTAP数据库,能够获得KV数据库的读写性能,NoSQL数据库的容量,OLTP关系数据库的多位查询能力,以及OLAP数据库的复杂分析能力。
图6. 物联网业务使用HTAP数据库
3. 实时数据仓库
数据仓库通常仅允许导入,并且是只读的,不允许实时更新,使用模式是将一批完整的数据导入到数据仓库中,然后利用数据仓库的计算和存储能力,进行各种维度的计算。通俗点讲,数据仓库存储的数据通常是“二手数据”,一般由关系数据库的“一手数据”生成,进入数据仓库的数据,对齐在事务边界。
对于某些时效性要求极高的大数据业务,Hadoop+MapReduce甚至是Spark都无法满足低延时大数据服务的需求,此时可以选择HTAP数据库,既支持批量导入原始数据,进行实时聚合分析,又支持实时从大数据处理平台上同步结果,充当高性能缓存和二级数仓,提升企业级应用的整体响应能力。此外,HTAP数据库也能直接生成实时报表,进一步提升HTAP数据库在大数据业务的应用范围。
图7. 实时数据仓库业务使用HTAP数据库
五、后记
随着业务的爆炸式增长,越来越多的企业,需要重量级的数据库产品和更好的服务,来避免技术架构成为企业的瓶颈,从而解放企业,以更专注于核心业务。
阿里云的创新产品HybridDB for MySQL,是阿里云全自研的HTAP数据库产品,紧贴企业级用户的需求,为企业级应用带来了新的选择,也体现了阿里云在数据库行业的技术实力和自研决心,HybridDB for MySQL会为用户带来更好的数据库服务体验。
原文链接:
http://click.aliyun.com/m/27304/
相关推荐
本项目是一款基于MySQL协议兼容的Go语言实现的分布式HTAP数据库设计源码。项目包含5658个文件,涉及Go语言源代码3117个,Bazel构建脚本616个,SQL语句469个,Shell脚本224个,结果集文件216个,测试代码212个,配置...
该项目是一款基于Go语言开发,兼容MySQL协议的高性能分布式HTAP数据库源码,总计包含5658个文件。这些文件类型丰富,涵盖了3117个Go源文件、616个Bazel构建文件、469个SQL脚本、224个Shell脚本,以及TypeScript、...
面向分布式数据库的HTAP研究与实现 本文研究了面向分布式数据库的HTAP(Hybrid Transactional and Analytical Processing)研究与实现。HTAP是一种混合事务和分析处理的数据库架构,能够同时支持在线事务处理(OLTP...
HTAP数据库是Hybrid Transaction/Analytic Processing的缩写,它是一种新型的数据库架构,旨在结合OLTP和OLAP的优势,突破传统架构带来的局限性。它可以在同一个系统上同时支持在线事务处理和在线分析处理,无需在...
cppc++
分布式数据库需要在大规模分布式处理阶段,有效应对大数据所带来的挑战,以支持PB或更高数量级的数据量。大数据不仅包括结构化数据,还包括半结构化和非结构化数据,其规模或复杂程度远超传统数据库和软件技术所能...
总结来看,云原生HTAP分布式数据库在金融行业的应用带来了前所未有的机遇与挑战。银行系统需要拥抱新技术,同时也要克服技术应用中的各种难题,如数据一致性问题、业务场景优化、并行上线验证等。通过对实践案例的...
BaikalDB:分布式HTAP数据库 BaikalDB支持PB级结构数据的顺序和随机实时读取/写入。 BaikalDB与MySQL协议兼容,并且支持MySQL样式SQL方言,通过该方言,用户可以将其数据存储从MySQL无缝迁移到BaikalDB。 BaikalDB...
Hybench是一款由中国软件评测中心、清华大学联合牵头,北京奥星贝斯科技有限公司、武汉达梦数据库股份有限公司、华为技术有限公司、腾讯云计算有限公司、阿里云计算有限公司共同研发的HTAP数据库基准测试工具。...
亿联银行在研究分布式关系数据库技术后,选择了云原生HTAP(Hybrid Transactional/Analytical Processing)分布式数据库,这是一种融合OLTP(在线事务处理)和OLAP(在线分析处理)能力的新一代数据库架构。...
OceanBase是由阿里巴巴集团与蚂蚁金服联合研发的原生分布式关系数据库。它旨在满足企业级用户对于数据管理的需求,具备高可用、高扩展和高性能的特点。OceanBase数据库采用分布式架构,可提供可靠的数据存储和高效的...
随着云计算、大数据和智能终端的普及,分布式数据库因其能够处理大规模、高并发的交易和查询而成为行业发展的新动能。根据Gartner的报告,全球数据库管理系统市场规模在2018年达到了461亿美元,并且预计到2024年将...
SequoiaDB作为新一代分布式数据库,以其强大的分布式事务处理能力和对微服务架构的良好支持,为现代企业提供了高效、稳定且可扩展的数据库解决方案,帮助企业应对大数据时代的挑战。然而,随着技术的不断演进,...
近年来,数据库行业开始转向HTAP(混合事务分析处理)和云原生数据库的概念。然而,这些标签的热度来去匆匆,反映出技术领域的快速变化和市场炒作。 在2019年,数据库作为“卡脖子技术”之一引起了广泛的关注,尤其...
TiDB(“ Ti”代表Titanium)是一个开源的NewSQL数据库,它支持混合事务处理和分析处理(HTAP)工作负载。 它与MySQL兼容,并具有水平可伸缩性,强一致性和高可用性。 水平可伸缩性 TiDB只需添加新节点即可扩展SQL...
分布式数据库技术及发展趋势的研究主要关注如何应对大数据存储和高并发读写需求的挑战。自2000年以来,随着互联网业务的繁荣,传统的单机数据库系统已无法满足日益增长的业务压力,从而催生了分布式数据库的发展。...
分布式数据库是一种在多个物理...分布式数据库的发展路径研究,不仅有助于技术实践者深化理解,同时也为行业决策者提供了指导性的建议和方案,对于推动整个行业向更高的技术水平和更广泛的应用领域发展具有重要意义。
其中,TiDB作为一款快速崛起的新一代分布式关系数据库,以其独特的特性在金融行业中展现出强大的创新实践能力。 TiDB,全称为“Ti交易数据库”,由国内的PingCAP公司于2015年创立,其核心团队成员来自国内外互联网...
总之,分布式技术的发展推动了数据库的变革,使其更适合当今的大数据和云计算环境。银行等金融机构作为技术的先行者,积极探索并应用这些新技术,不仅提升了自身竞争力,也为整个金融行业的技术创新提供了宝贵经验。...
4. TiDB:开源的新一代分布式HTAP(混合事务/分析处理)数据库。 通过学习这份“分布式数据库课件资料宝典”,你可以深入了解分布式数据库的设计原理、实现机制以及实际应用,为应对大数据时代的挑战做好准备。无论...