MPP数据库简介及架构分析

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

什么是MPP

    MPP (Massively Parallel Processing)即大规模并行处理。简单来说MPP是将任务并行的分散到多个服务器和节点上在每个节点上计算完成后将各自部分的结果汇总在一起得到最终的结果(与Hadoop相似)。
    MPP数据库是一款 Shared Nothing架构的分布式并行结构化数据库集群具备高性能、高可用、高扩展特性可以为超大规模数据管理提供高性价比的通用计算平台并广泛地用于支撑各类数据仓库系统、BI 系统和决策支持系统

特性

并行处理

    在数据库集群中首先每个节点都有独立的磁盘存储系统和内存系统其次业务数据根据数据库模型和应用特点划分到各个节点上MPP是将任务并行的分散到多个服务器和节点上在每个节点上计算完成后将各自部分的结果汇总在一起得到最终的结果。

超大规模

    每台数据节点通过专用网络或者商业通用网络互相连接彼此协同计算作为整体提供数据库服务。整个集群称为非共享数据库集群非共享数据库集群有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势。

数据仓库真正适合什么

典型的分析工作量

    MPP数据库非常擅长最常见的分析工作负载这些工作负载通常以对子集的查询为特征并在广泛的行范围内进行汇总。这是由于它们的列式体系结构允许他们仅访问完成查询所需的字段与事务性数据库相反事务性数据库必须连续访问所有字段。
 
    列式体系结构还为MPP数据库提供了对分析工作负载有用的其他功能。这些功能因数据库而异但通常包括压缩类似数据值有效索引非常大的表以及处理宽的非规范化表的功能。

数据集中化

    组织通常使用分析型MPP数据库作为数据仓库或集中式存储库其中包含组织内部生成的所有数据例如交易销售数据Web跟踪数据营销数据客户服务数据库存/后勤数据人力资源/招聘数据以及系统日志数据。由于分析MPP数据库可以处理大量数据因此组织可以轻松地依靠这些数据库来存储数据还可以支持来自这些各种业务功能的分析工作负载。

线性可伸缩性

    通过向系统添加更多服务器分析MPP数据库可以轻松地线性扩展其计算和存储功能。这与垂直扩展计算和存储功能相反后者涉及升级到更大功能更强大的单个服务器并且通常会在规模上遇到障碍。分析型MPP数据库能够如此快速轻松和高效地进行横向扩展以使按需数据库供应商能够根据查询的大小自动执行该过程来按比例放大或缩小系统。

MPP架构技术特性

   
MPP 具备以下技术特征

  1. 相对低的硬件成本完全使用 x86 架构的 PC Server不需要昂贵的Unix 服务器和磁盘阵列
  2. 集群架构与部署完全并行的 MPP + Shared Nothing 的分布式架构采用 Non-Master 部署节点对等的扁平结构
  3. 海量数据分布压缩存储可处理 PB 级别以上的结构化数据采用 hash分布、random 存储策略进行数据存储同时采用先进的压缩算法减少存储数据所需的空间可以将所用空间减少 1~20 倍并相应地提高 I/O 性能
  4. 数据加载高效性基于策略的数据加载模式集群整体加载速度可达2TB/h
  5. 高扩展、高可靠支持集群节点的扩容和缩容支持全量、增量的备份/恢复;
  6. 高可用、易维护数据通过副本提供冗余保护自动故障探测和管理自动同步元数据和业务数据。提供图形化工具以简化管理员对数据库的管理工作
  7. 高并发读写不互斥支持数据的边加载边查询单个节点并发能力大于 300 用户
  8. 行列混合存储提供行列混合存储方案从而提高了列存数据库特殊查询场景的查询响应耗时
  9. 标准化支持SQL92 标准支持 C API、ODBC、JDBC、ADO.NET 等接口规范。

数据库架构分析

数据库构架设计中主要有Shared Everything、Shared Disk、Share Memory和Shared Nothing等我们简要分析一下这几种架构的区别。
在这里插入图片描述

Shared Everything

    Shared Everything指单个主机独立支配CPU、内存、磁盘等硬件资源其优势是架构简单搭建方便。但该种架构的缺陷是数据并行处理能力较差扩展性较低。Shared Everything的典型代表的产品为SQLserver。

Shared Disk

    在Shared Disk架构中CPU和内存对于各个处理单元私有但各节点共享磁盘系统。该种架构的典型代表为DB2 pureScale和Oracle Rac。这种共享架构具备一定的扩展能力可通过节点的增加来提升数据并行处理能力。但当存储器接口使用饱和时磁盘IO成为了系统资源瓶颈节点的扩充并不能提升系统性能。

Share Memory

    Shared Memory指多个节点共享内存各CPU间通过内部通讯网络Interconnection network进行通讯。但与Shared Disk类似但当节点数量过高时内存竞争Memory contention将成为该系统的瓶颈单纯地堆砌节点数量并不能提升整体数据处理性能。

Shared Nothing

    Shared Nothing的核心思想是各个数据库单元中不存在共享资源数据处理单元对于各节点完全私有化。早在1986年加州大学伯克利分校的论文中Michael Stonebraker从当时的数仓原型中对比了Shared DiskShared MemoryShared Nothing架构并论证了Shared Nothing在数据并行处理中的优势。各单元通过通信协议层交互处理后的数据会逐步向上层汇总或通过通信层流转于节点间。Teradata公司在1982年申请了YNET技术专利为无共享的大规模数据并行处理Massive Parallel Processing提供了先决基础。在TD数仓架构中各节点单元通过MPLMessage Passing Layer的BYNET物理层实现。BYNET是一个双冗余、全双工的网络以松耦合方式将多个数据处理节点与处理引擎Parsing Engine高速连接起来。G行的多元化大数据平台中的TD集群正是采取该架构设计。

Shared Nothing数据库架构优势

1大数据分析需求
    传统数据库无法支持大规模集群与 PB 级别数据量且性能受限、扩展性受限MPP架构数据支持大规模集群以及PB级别数据性能根据扩展节点性能呈线性关系
2软硬件一体机成本高昂、扩展受限
    高性能单机服务器的成本十分高昂生产扩容、测试、开发、容灾都需新购同型号一体机机柜并且跨代兼容性问题目前也没有得到很好的解决。MPP架构数据库可根据需要无限扩展。
3In-memory 技术太贵而且不成熟
    内存成本过高TB 级别以下不适合大数据量MPP架构成本可控对于TB级数据支持优秀很适合大数据量。
4Hadoop 技术的先天不足
    Hive 等 sql-on-hadoop 性能太慢SQL 兼容性与支持不足数据安全性无法保证。MPP架构数据库支持通用标准SQL数据可冗余备份具有高可用高安全性。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: 数据库