有容乃大 UCloud数据仓库UDW架构解析 | U刻
  • 有容乃大 UCloud数据仓库UDW架构解析

    栏目:产品动态

    数据分析对于很多企业是不可或缺的。几乎所有大型企业都已构建了数据仓库, 以便对各种来源的数据进行报告和分析,为决策提供依据,从而指导业务流程改进。构建并运行数据仓库是一件复杂而费力的事情。大部分数据仓库都很复杂,前期投入的软件、硬件、人力都会很多。另外,传统数据仓库在数据爆炸性增长的今天、扩展比较困难、性能下降明显。

    为了解决这些问题,UCloud近日推出了大规模并行、完全托管的PB级数据仓库服务——UDW,可以极大地减少部署数据仓库相关的成本和工作量,更高效地使用商业智能 (BI)工具来分析海量数据。

    MPP体系结构+高可用架构 实现高性能

    UDW提供可视化的控制台,能方便快捷的管理和监控数据仓库,降低使用门槛;此外,支持数据压缩、深度优化的软硬件方案,按实际数据处理需求开通节点实例,无需为搭建数据仓库一次性投入高额成本;同时,支持行存储及列存储的数据存储方式,满足不同场景下的数据存储需求。

    UDW是基于PostgreSQL开发的大规模并行、完全托管的PB级数据仓库服务,几乎支持了PostgreSQL的所有特性。用户只需掌握标准SQL语法,就可以熟练地使用UDW。

    架构上采用了可扩展的MPP分布式体系,能为用户提供高性能、低成本、高可用的分布式数据仓库。

    MPP体系结构

    11
    图1.1 UDW架构图

    UDW采用无共享的MPP架构,适用于海量数据的存储和计算。UDW的架构如上图1.1所示,主要有Client、Master Node和Compute Node组成。基本组成部分的功能如下:

    • Client:访问UDW的客户端、支持通过JDBC、ODBC、PHP、Python、命令行SQL访问UDW。
    • Master Node:访问UDW数据仓库的入口,它接收客户端的连接请求、负责权限认证、处理SQL命令、调度分发执行计划、汇总Fragment的执行结果并将结果返回给客户端。
    • Compute Node:Compute Node管理节点的计算和存储资源,每个Compute Node有多个Fragment组成,Fragment负责业务数据的存储、用户SQL的执行。

    UDW的高可用架构

    22
    图1.2 UDW的高可用架构

    如上图所示,Compute Node中的Fragment通过mirror备份到其他的Compute Node上。当primary Fragment出现不可用的时候会自动切换到mirror Fragment、当primary Fragment恢复之后、primary Fragment会自动恢复这期间的变更。

    除了Compute Node节点为Fragment配置镜像之外、UDW也会为Active Node配置镜像,确保系统的变更信息不会丢失,提升系统的健壮性。当Active Master不可用时会自动切换到Standby master。

    分布式数据存储和并发执行任务

    在UDW数据仓库中所有的表都是分布式的,每张表都会被切片。切片规则可以选择按照指定的Key进行Hash分片或者选择随机分片。如下图所示test1、test2、test3、test4四张表的数据都会切片分布到所有的Fragment上面。

    33
    图1.3 UDW数据分布图

    在进行数据分析的时候、所有的Fragment同时工作、每个Fragment只需计算一部分数据、所以计算效率会大大提升。如下图所示、Master Node会把查询任务下发到每个Fragment,Fragment接收到任务后,把任务划分若干步执行。

    Step 1:scan表格数据,如果数据不需要重新分布直接本地做计算、数据处理之后由master做汇总,进入Step3。如果数据需要重新分布,则通过网络传输到对应的Fragment,然后进入Step2。

    Step2:数据处理

    Step3:master节点汇总数据

    44
    图1.4 UDW的并发执行

    结语

    UDW非常适合商业智能(BI)领域的大数据联机分析处理(OLAP)。充分满足用户对海量历史数据的存取需求,为系统日志、销售数据、监控数据等历史数据提供低成本的存储方案。

    可对传统互联网、移动互联网、金融、电信、物联网等领域提供PB级别海量数据存储、查询、统计、分析,方便企业BI业务。

    当你的数据规模达到500G,单个MySQL数据库已经难以支持。随着业务增长,数据规模可能会达到TB级别甚至可能达到PB级别,如果希望后续能够平滑的扩容,UDW为你提供了一个低成本、高效率的解决方案。

    UDW现在已经进入全面公测,只要你了解一点SQL语法就能快速熟练的使用UDW。另外我们也提供了详细的说明文档。