万字长文揭秘:阿里如何实现海量数据实时分析?

万字长文揭秘:阿里如何实现海量数据实时分析?

[好文分享:www.11jj.com]

阿里妹导读:随着数据量的快速增长,越来越多的企业迎来业务数据化时代,数据成为了最重要的生产资料和业务升级依据。本文由阿里AnalyticDB团队出品,近万字长文首次深度解读阿里在海量数据实时分析领域的多项核心技术。

[好文分享:www.11jj.com]


数字经济时代已经来临,希望能和业界同行共同探索,加速行业数字化升级,服务更多中小企业和消费者。

欢迎转发、收藏此文


挑战

随着数据量的快速增长,越来越多的企业迎来业务数据化时代,数据成为了最重要的生产资料和业务升级依据。伴随着业务对海量数据实时分析的需求越来越多,数据分析技术这两年也迎来了一些新的挑战和变革:

  • 在线化和高可用,离线和在线的边界越来越模糊,一切数据皆服务化、一切分析皆在线化。

  • 高并发低延时,越来越多的数据系统直接服务终端客户,对系统的并发和处理延时提出了新的交互性挑战。

  • 混合负载, 一套实时分析系统既要支持数据加工处理,又要支持高并发低延时的交互式查询。

  • 融合分析, 随着对数据新的使用方式探索,需要解决结构化与非结构化数据融合场景下的数据检索和分析问题。

  • 阿里巴巴最初通过单节点Oracle进行准实时分析, 后来转到Oracle RAC,随着业务的飞速发展, 集中式的Shared Storage架构需要快速转向分布式,迁移到了Greenplum,但不到一年时间便遇到扩展性和并发的严重瓶颈。为了迎接更大数据集、更高并发、更高可用、更实时的数据应用发展趋势,从2011年开始,在线分析这个技术领域,阿里实时数仓坚定的走上了自研之路。

     

    万字长文揭秘:阿里如何实现海量数据实时分析?


    分析型数据库AnalyticDB

    AnalyticDB是阿里巴巴自主研发、唯一经过超大规模以及核心业务验证的PB级实时数据仓库。自2012年第一次在集团发布上线以来,至今已累计迭代发布近百个版本,支撑起集团内的电商、广告、菜鸟、文娱、飞猪等众多在线分析业务。

    AnalyticDB于2014年在阿里云开始正式对外输出,支撑行业既包括传统的大中型企业和政府机构,也包括众多的互联网公司,覆盖外部十几个行业。AnalyticDB承接着阿里巴巴广告..、商家数据服务、菜鸟物流、盒马新零售等众多核心业务的高并发分析处理, 每年双十一上述众多实时分析业务高峰驱动着AnalyticDB不断的架构演进和技术创新。

    经过这2年的演进和创新,AnalyticDB已经成长为兼容MySQL 5.x系列、并在此基础上增强支持ANSI SQL:2003的OLAP标准(如window function)的通用实时数仓,跻身为实时数仓领域极具行业竞争力的产品。近期,AnalyticDB成功入选了全球权威IT咨询机构Forrester发布"The Forrester Wave™: CloudData Warehouse,Q4 2018"研究报告的Contenders象限,以及Gartner发布的分析型数据管理..报告 (Magic Quadrant forData Management Solutions for Analytics),开始进入全球分析市场。AnalyticDB旨在帮客户将整个数据分析和价值化从传统的离线分析带到下一代的在线实时分析模式。

    整体架构

    经过过去2年的架构演进和功能迭代,AnalyticDB当前整体架构如下图。

    AnalyticDB是一个支持多租户的Cloud Native Realtime Data Warehouse..,每个租户DB的资源隔离,每个DB都有相应独立的模块(图中的Front Node, Compute Node, Buffer Node),在处理实时写入和查询时,这些模块都是资源(CPU, Memory)使用密集型的服务,需要进行DB间隔离保证服务质量。同时从功能完整性和成本优化层面考虑,又有一系列集群级别服务(图中绿色部分模块)。

    万字长文揭秘:阿里如何实现海量数据实时分析?

    下面是对每个模块的具体描述:

    DB级别服务组件:

  • Front Node:负责JDBC, ODBC协议层接入,认证和鉴权,SQL解析、重写;分区地址路由和版本管理;同时优化器,执行计划和MPP计算的调度模块也在Front Node。

  • Compute Node: 包含MPP计算Worker模块,和存储模块(行列混存,元数据,索引)。

  • Buffer Node: 负责实时写入,并根据实时数据大小触发索引构建和合并。

  • 集群级别服务组件:

  • Management Console: 管理控制台。

  • Admin Service:集群管控服务,负责计量计费,实例生命周期管理等商业化功能,同时提供OpenAPI和InnerAPI给Management Console和第三方调用。

  • Global Meta Service:全局元数据管理,提供每个DB的元数据管理服务,同时提供分区分配,副本管理,版本管理,分布式DDL等能力。

  • Job Service:作业服务,提供异步作业调度能力。异步作业包括索引构建、扩容、无缝升级、删库删表的后台异步数据清理等。

  • Connector Service:数据源连接服务,负责外部各数据源(图中右侧部分)接入到AnalyticDB。目前该服务开发基本完成,即将上线提供云服务。

  • Monitoring & Alerting Service:监控告警诊断服务,既提供面向内部人员的运维监控告警诊断..,又作为数据源通过Management Console面向用户侧提供数据库监控服务。

  • Resource Management Service:资源管理服务,负责集群级别和DB级别服务的创建、删除、DNS/SLB挂载/卸载、扩缩容、升降配,无缝升级、服务发现、服务健康检查与恢复。

  • 数据模型

    AnalyticDB中表组(Table Group)分为两类:事实表组和维度表组。

  • 事实表组(Fact Table Group),表组在AnalyticDB里是一个逻辑概念,用户可以将业务上关联性比较多的事实表放在同一个事实表组下,主要是为了方便客户做众多数据业务表的管理,同时还可以加速Co-location Join计算。

  • 维度表组(Dimension Table Group),用于存放维度表,目前有且仅有一个,在数据库建立时会自动创建,维度表特征上是一种数据量较小但是需要和事实表进行潜在关联的表。

  • AnalyticDB中表分为事实表(Fact Table)和维度表(Dimension Table)。

    自媒体 微信号:11jj 扫描二维码关注公众号
    爱八卦,爱爆料。

    小编推荐

    1. 1

      京东白条是什么(京东白条是什么意思有什么危害吗)

      大家好,小美今天来为大家解答京东白条是什么以下问题,京东白条是什么意思有什么危害吗很多人还不知道,现在让我们一起来看看吧!1、一、京

    2. 2

      建设银行营业时间佛山(佛山建设银行几点下班时间)

      大家好,小美今天来为大家解答建设银行营业时间佛山以下问题,佛山建设银行几点下班时间很多人还不知道,现在让我们一起来看看吧!1、根据财

    3. 3

      恋李白古诗原文(心恋李白古诗)

      大家好,小乐今天来为大家解答恋李白古诗原文以下问题,心恋李白古诗很多人还不知道,现在让我们一起来看看吧!1、不是。2、余光中《念李白》

    4. 4

      快讯 | 伊朗伊斯兰革命卫队:伊朗成功打击以色列军事目标

      新华社快讯:据伊朗塔斯尼姆通信社报道,本地时间14日凌晨,伊朗伊斯兰革命卫队起头对以色列方针动员大规模导弹和无人机袭击。据以色列媒体报

    5. 5

      大风!降温!插花镇下周有雨!

      小伙伴们注重阜阳下周要降温降雨了!阜阳景象最新估计受冷空气影响18日夜间-19日还有一次降水天色19-20日平均气温较前期下降4~6℃同时18-19日全市

    6. 6

      那个傻瓜歌词(那个傻瓜歌词韩语)

      大家好,小美今天来为大家解答那个傻瓜歌词以下问题,那个傻瓜歌词韩语很多人还不知道,现在让我们一起来看看吧!1、只爱着你 我是傻瓜吧 2、

    7. 7

      上海租车公司哪家好(上海租车公司哪家便宜)

      大家好,小豪今天来为大家解答上海租车公司哪家好以下问题,上海租车公司哪家便宜很多人还不知道,现在让我们一起来看看吧!1、上海一嗨汽车

    8. 8

      福安市公共资源交易中心(福安市公共资源交易中心招标公告)

      大家好,小伟今天来为大家解答福安市公共资源交易中心以下问题,福安市公共资源交易中心招标公告很多人还不知道,现在让我们一起来看看吧!

    Copyright 2024.依依自媒体,让大家了解更多图文资讯!