您的位置:首页 > 数据库

HybridDB · 最佳实践 · 阿里云数据库PetaData

2017-09-21 14:52 701 查看
点击查看全文


前言

随着互联网DT时代的高速发展,业界需要简单高效的数据处理方式在海量数据中挖掘价值,企业厂商和开源界目前较流行的的做法,是提供支持类SQL接口的数据库服务,或者是提供SDK接口的数据处理平台服务。

在SQL接口的数据库服务中,传统的关系数据库,如MySQL、PG等,处理海量数据显得越来越力不从心,既无法突破单机硬件资源限制,又无法并行利用多机硬件资源;大数据NewSQL数据库,必须依赖外部数据库保证数据的事务特性,并通过数据导入工具将完整提交的数据导入进来计算,系统复杂度和成本较高。

在SDK接口的数据处理平台服务中,用户需要进行再次开发,扩展性和自由度较好,但是上线周期较长,易用性较差,且需要长期维护代码,保证稳定性和性能。

那么问题来了,是否有一类产品,能够兼顾易用性、大容量、低成本,既支持高并发低延迟OLTP业务,又支持海量数据的OLAP业务,一站解决这些问题呢?本文将介绍阿里云HTAP数据库HybridDB for MySQL,为用户解决海量数据处理的问题。


阿里云HTAP数据库HybridDB for MySQL

HTAP数据库是数据库专业评级机构Gartner提出的新数据库象限,指能够同时支持OLTP和OLAP业务的分布式数据库,典型的产品如,国外的SAP Hana和Oracle RAC,阿里云自研的HybridDB for MySQL等。


1.建设初衷和设计思路

HTAP数据库是数据库专业评级机构Gartner提出的新数据库象限,指能够同时支持OLTP和OLAP业务的分布式数据库,典型的产品如,国外的SAP Hana和Oracle RAC,阿里云自研的HybridDB for MySQL等。

在过去的几年,阿里云出现了大量的全链路监控分析类需求,包括监测物理机的资源消耗、网络的流量延迟、业务实例的内部统计,多维聚合分析各类监控数据并找出全链路异常,找出具体问题进行自动化运维等。在选型数据库时考虑到了这些问题:
数据总量大,日新增数据量大:单个业务每日新增各类统计数据,从2T-20T不等,数据保存至少30天,总量百T甚至上P;
访问并发大:数据库总连接在数百到数万不等,并发活跃连接在数百到数千不等;
响应延迟低,支持update批量数据:写入延迟不得超过秒级,部分业务需要update批量数据,以支持多轮迭代分析;
支持多维度检索和复杂分析:支持从不同维度查询数据,且各维度查询均不得超过秒级,同时要支持各类复杂的分析类需求,分析类sql支持范围覆盖tpc-h、tpc-ds等,分析类查询时间范围在秒级到小时级;
数据自动过期:用户设定一个数据保留的时间范围,数据库可以自动帮助用户清理;
在线扩容:数据库可随数据总量规模扩大而扩容,以承载更大规模的业务;
使用简便:用户可以使用SQL接口,无需额外写计算代码;无需关心数据备份等运维问题,监控告警系统完善;数据操纵、数据导入等生态周边齐全,支持常用的网络链路类型;
成本:数据库有低成本方案,支持冷数据以更低成本存储;

在这些苛刻的需求下,使得我们无法选择kv类存储引擎,因为在非主键类查询场景下,必须扫描全库数据,这导致查询完全不可用;也无法选择mr类计算引擎,因为其单次查询延迟过高,无法用在高并发业务场景中。RDS团队决定自己动手,自研一个数据库,以解决同类问题。



HTAP数据库的技术思路,是将链路、存储、计算完全分离,且各个组件均允许水平扩容,存储分区间无共享,一份存储数据,扩容时无需搬动全局数据,精细地对每一类业务场景的SQL设计执行链路,以保证低延迟和高吞吐,各个组件的硬件容器可以替换,从而保证高性能和低成本可以兼得。用户只需要利用MySQL的各类连接器和客户端,如jdbc、navicat等,就可以直接使用和访问数据库,兼容用户的各类使用习惯。


2.HTAP数据库云化服务

经历数年的成长,HybridDB for MySQL先后服务了集团内外的多个用户,包括RDS、SLB、CDN、菜鸟、安全等团队,日新增数据数百T,存量数据数P。

在公有云上,HybridDB for MySQL已经积累了大量的云服务接口,与RDS和传统解决方案对比起来:



此外,HybridDB for MySQL也在努力补齐其他云服务功能,以对齐RDS for MySQL,支持常用的数据操纵平台,如DMS等,支持常用的数据迁移平台,如DTS、CDP等。


HTAP数据库在阿里云的最佳实践

随着互联网DT时代的高速发展,业界需要简单高效的数据处理方式在海量数据中挖掘价值,企业厂商和开源界目前较流行的的做法,是提供支持类SQL接口的数据库服务,或者是提供SDK接口的数据处理平台服务。


1.典型应用和架构

HybridDB for MySQL的一个典型应用,是在阿里云全链路大盘业务中,该业务涉及了阿里云多个核心产品的数据汇总分析、多维处理,引用该案例,可以介绍HTAP数据库的最佳实践。



上图中体现了HybridDB for MySQL的几个典型应用:
作为分布式数据库,承接第一手数据写入和更新事务,保证数据的完整性,并为各类外部查询业务,提供不同层面的查询支持,包括高并发多维在线查询、数据报表、复杂分析等;
作为数据仓库,将HybridDB for MySQL内的数据进行二次加工,以支持ETL类业务;
作为更大规模数据处理系统(如odps)的数据缓存,利用数据交换工具工具,将外部数据源的数据汇总到HybridDB for MySQL中,以支持活跃数据的存储和计算;
作为各个子系统的数据总线,利用数据交换工具工具,将数据过滤导出到各个子系统中,以帮助这些专项子系统对数据进一步处理;

接下来将逐步介绍HybridDB for MySQL在这些应用场景的最佳实践。


2.实时写入、实时多维查询、实时分析

点击查看全文

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: