微信号:yunqiinsight

介绍:云栖社区是由阿里云负责运营、阿里巴巴技术协会和阿里巴巴集团各技术团队提供内容支持的开放式技术社区.

入选Gartner和Forrester报告的阿里云AnalyticDB是如何实现PB级数据分析毫秒级响应

2018-04-04 22:43 云栖社区

云栖君导读: 2018年3月13日,Forrester发布了最新的云化数据仓库分析报告( Now Tech: Cloud Data Warehouse, Q1 2018),阿里巴巴同亚马逊,谷歌,微软四个世界级云厂商共同进入领先者阵营。深度解读阿里云AnalyticDB是如何实现PB级数据分析毫秒级响应的。


前言


2018年3月13日,Forrester发布了最新的云化数据仓库分析报告( Now Tech: Cloud Data Warehouse, Q1 2018),阿里巴巴同亚马逊,谷歌,微软四个世界级云厂商共同进入领先者阵营。同时今年二月份Gartner发布的分析型数据管理平台报告中( Magic Quadrant for Data Management Solutions for Analytics),阿里巴巴第一次参评即进入魔力四象限。这体现了阿里巴巴多年来在打造 DT商业过程中的大量数据分析技术积累。阿里巴巴的整套数据分析平台基于阿里飞天分布式系统打造,其核心的产品包括大数据计算服务MaxCompute 和分析型数据库AnalyticDB,以及数加DataWorks 等。其中AnalyticDB作为分布式分析型数据库,更是承载了将数据探索实时化,在线化的关键任务。


AnalyticDB早期出身于阿里巴巴集团内部为数据分析业务打造的在线分析系统,无论是淘宝天猫的广告营销平台,还是蚂蚁金服的风控、征信等业务,AnalyticDB产品的使命就是将数据价值探索做到实时在线化,提供大并发下的毫秒级分析查询响应。当面对具备上千个标签属性的消费人群和千亿级别的交易记录,数据分析师在做市场趋势分析,业务研判和广告投放时,需要在PB级数据上依据不断变化的业务模型做分析探索,对业务发展方向进行决策。如何以极低的成本和毫秒级的响应时延支持数据探索,释放海量数据的商业价值,就是这些年来AnalyticDB产品不断演进的方向。


PB级数据分析,毫秒级响应


AnalyticDB数据库构建的最初理念就是以低成本提供极致性能的数据分析探索能力。传统企业BI分析,数据往往先经过离线的ETL批处理过程,之后再基于固定的业务模型,以多维报表形式做分析结果展现。这种模式下,数据分析的实时性,业务发展的敏捷性受到制约,数据价值的释放和数据分析师的工作受到约束。AnalyticDB基于传统MPP数据库架构,支持高扩展采用流水线的计算模式,同时创新的引入多项黑科技,支撑海量数据的高性能在线实时分析。


  • 新硬件加速 

利用阿里云IaaS层的垂直整合优势,全面引入SSD卡存储,较传统磁盘存储 I/O带宽提升10倍以上。AnalyticDB今年即将上线的GPU加速特性,将数据分析里的计算密集型操作卸载到GPU,利用GPU高并行计算能力,提升复杂数据计算的性能。已经在广告等数据探索类业务上验证,性能平均提升5倍以上。


  • 曦和分析计算引擎

 AnalyticDB 在17年全面升级为新一代曦和分布式计算引擎,整体采用MPP架构,支持DAG计算模型,节点内引入LLVM等运行时代码编译优化技术,性能提升一倍以上。数据分析任务在曦和计算引擎内被打散成小颗粒的计算单元,引擎内置分时轮询的计算调度机制,可以保证高并发下作业任务的稳定运行。


  • 智能存储索引 

AnalyticDB支持创新的是行列混存,同时针对不同的数据类型在数据加载写入时,智能的构建多种维度索引,包括B+索引、区间索引、倒排索引、位图索引等,并对传统索引算法进行创新,引入动态过滤、延迟物化等方式,极大的降低I/O,实现高性能的点或范围的检索,支持万亿级记录关联分析。


  • 读写分离架构 

在各类生产运营系统里,随着移动端应用以及物联网的兴起,高性能的写入成为分析类系统的强需求。AnalyticDB整体采用读写分离架构,除支持大批量数据加载外,也支持每秒千万条记录的写入,写入成功即持久化保存在盘古分布式文件系统里,根据用户配置支持不同的数据一致性级别。



全云化的高可用架构


AnalyticDB 构建在阿里云飞天分布式系统之上,接入层、计算层、存储层解耦,各层可独立伸缩。同时所有的服务节点均采用无状态化(Serverless)设计,所有节点均为多活(Active-Active)模式或主备(Primary-Standby)模式,相较于传统数据库的紧耦合架构,其扩容、升级等运维操作往往需要停机几个小时或者天,AnalyticDB支持在线扩容(Online scale out)和滚动升级(Rolling upgrade),过程对客户业务无感知,从而更好的支持阿里云上客户业务的不断发展,按需购买服务,当业务迅速扩展时,灵活敏捷的进行AnalyticDB扩缩容操作。AnalyticDB 的各组件均为无状态化设计(Serverless),当发生任何软、硬件故障时,飞天的伏羲调度系统会自动检测和迁移故障节点,整个过程对应用透明无感知。


AnalyticDB的数据存储在阿里巴巴自研的盘古分布式文件系统上,支持多副本或纠错码(Erasure Code)模式存储数据,相较于传统数据库基于本地磁盘的存储,具备更高的数据可靠性。17年盘古分布式文件系统全面升级,上线25GE网络和新的SSD存储介质,面向数据分析类场景,提供了更高的数据吞吐能力。


总结


AnalyticDB 已经在阿里云国内主要数据中心开通,包括华北2(北京)、华东1(上海)和华东2(杭州)区等,服务支撑的客户即包括众多互联网创业公司,如小黄车ofo等,也在支撑很多大型企业的数字化建设,例如中国邮政等等。在今年3月28日的深圳云栖大会上,AnalyticDB产品发布了两个重要消息:


  • 各类型实例将在四月份平均降价50%,普惠广大阿里云的数据分析用户,通过在线化数据分析,最大释放数据价值;

  • 四月份将在阿里云华南区(深圳)开通AnalyticDB服务,便于华南客户可以更便捷的应用该服务。


end

关于8K,阿里云最近做了啥?

微服务架构下分布式事务解决方案 —— 阿里GTS

SpringBoot开发案例之整合Spring-data-jpa进阶篇

K-Means算法的10个有趣用例

更多精彩

 
云栖社区 更多文章 在阿里,我们如何管理代码分支? K-Means算法的10个有趣用例 SpringBoot开发案例之整合Spring-data-jpa进阶篇 关于8K,阿里云最近做了啥? 《云栖精选》3月刊:2017阿里巴巴技术盘点
猜您喜欢 撕数据! |【SAS Says·扩展篇】 聊聊设计模式(2):享元模式 记一次精彩的技术盛会AND抽奖~ NDK SO 库开发与使用中的 ABI 构架选择 CodeInsight 在线代码阅读服务上线了你造吗?