gaussdb200 理论

gauss200简介

MPP即大规模并行处理(Massively Parallel Processing ),在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据 库服务,非共享数据库集群有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势。
file
典型特点:

    * 计算靠近数据,避免大量的数据迁移,获得更高的性能
    * 无共享架构,相比共享架构拥有更高的扩展性

gaussDB200架构

GaussDB 200采用Share-nothing架构,由多个拥有独立且互不共享CPU、内存、存储等系统资源的节点组成。在这样的系统架构中,业务数据被分散存储在多个物理节点上,数据分析任务被推送到数据所在位置就近执行,通过控制模块的协调,并行地完成大规模的数据处理工作,实现对数据处理的快速响应。
file

Share-nothing架构具备如下优点:

    • 最易于扩展的架构
      • 为商业智能BI(Business Intelligence)和数据分析的高并发、大数据量计算提供按需扩展的能力
      • 自动化的并行处理机制
    • 内部自动并行处理,无需人工分区或优化
      • 数据加载与访问方式与一般数据库相同
      • 数据分布在所有的并行节点上
      • 每个节点只处理其中一部分数据
    • 最优化的I/O处理
      • 所有的节点同时进行并行处理
      • 节点之间完全无共享,无I/O冲突
    • 增加节点实现存储、查询及加载性能的线性扩展

gaussdb 200组成

file
名称 描述
MPPDBServer(CM) GaussDB 200集群管理模块CM(Cluster Manager),即含CMServer进程的特殊MPPDBServer,负责管理和监控分布式系统中各个功能单元和物理资源的运行情况,确保整个系统的稳定运行。CM分为主CM和备CM。正常情况下,只由主CM提供GaussDB 200集群管理服务。当主CM发生故障的情况下,备CM会主动升为主CM提供GaussDB 200集群管理服务。CM通过CM服务完成对各个MPPDBServer管理。CM服务由CMServer、CMAgent、Monitor组成。CMServer是整个GaussDB 200集群的大脑,它会根据CMAgent上报上来的各MPPDBServer状态信息来决定是否需要状态变更。CMServer只部署在主备CM上。CMAgent是MPPDBServer上面部署的实例代理线程,负责接收CMServer下发的命令和上报MPPDBServer的Coordinator、Datanode、GTM的状态给CMServer。每个MPPDBServer均会部署一个CMAgent,也包括主备CM和主备GTM。Monitor是watchdog定时任务,其唯一的任务是在CMAgent停止的情况下将CMAgent重启。每个MPPDBServer均会部署一个Monitor,也包括主备CM和主备GTM。
MPPDBServer(GTM) 全局事务管理模块GTM(Global Transaction Manager),即含GTM进程的特殊MPPDBServer,负责生成和维护全局事务ID、事务快照、时间戳等需要全局唯一的信息。GTM分为主GTM和备GTM。正常情况下,只由主GTM提供全局事务管理服务。当主GTM发生故障的情况下,备GTM会主动升为主GTM提供服务。
MPPDBServer 业务模块,即除MPPDBServer(CM)、MPPDBServer(GTM)以外的MPPDBServer,由Coordinator及多个Datanode组成,负责执行CM、GTM下发的任务。业务模块与MPPDBServer(CM)、MPPDBServer(GTM)主要区别是不包含CMServer与GTM进程。
Coordinator(CN) 负责提供外部应用接口、优化全局执行计划、向Datanode分发执行计划,以及汇总、处理执行结果。GaussDB 200通过CCN(Control Coordinator Node)负责集群内的资源全局负载控制,以实现自适应的动态负载管理。CM在第一次集群启动时,通过集群部署形式,选择编号最小的Coordinator作为CCN。若CCN故障之后,由CM选择新的CCN进行替换。
Datanode(DN) 在集群中,DN有多个。每个DN存储了一部分数据。如果DN无高可用方案,则故障时会导致该实例上的数据无法访问。因此GaussDB 200对DN提供了高可用方案:主、备、从备。DN主、备、从备间的工作原理如下:主、备DN同步数据期间,如果主DN突然故障不可用,备DN会升为主DN。在原主DN恢复前,新升为主的DN会将数据日志同步到从备DN。原主DN恢复后将成为备DN,并且会使用“从备DN”上的数据日志恢复异常期间的数据。也就是说从备DN永远只作为从备使用,不会因为主DN或备DN故障而升级为主DN或备DN,从备只存放备DN故障时同步到从备的Xlog数据和数据通道复制产生的数据。
Storage 服务器的本地存储资源,持久化存储数据(支持行存、列存、混合存储)。

数据库对象

对象名称 说明
user 数据库用户,用于权限管理。
database 可以创建多个不同数据库。
schema 用于管理多个用户使用同一数据库。
tablespace 表空间,定义数据库对象文件的存放位置。
table 基本表,分为行存表和列存表。
index 索引,可以调高数据的访问速度。
view 视图,一个或多个表中某些字段组成的虚表。

数据库逻辑结构图:

file
  • Tablespace,即表空间,是一个目录,可以存在多个,里面存储的是它所包含的数据库的各种物理文件,每个表空间可以对应多个Database。
  • Database,即数据库,用于管理各类数据对象,各数据库间相互隔离,数据库管理的对象可分布在多个Tablespace上。
  • Datafile Segment,即数据文件,通常每张表只对应一个数据文件,如果某张表的数据大于1GB,则会分为多个数据文件存储。
  • Table,即表,每张表只能属于一个数据库,也只能对应到一个Tablespace,每张表对应的数据文件必须在同一个Tablespace中。
  • Block,即数据块,是数据库管理的基本单位,默认大小为8KB。

gaussdb 200产品定位

GaussDB 200是企业级的大规模并行处理关系型数据库。GaussDB 200采用**MPP(Massively Parallel Processing)架构,支持行存储与列存储**,提供PB(Petabyte,2的50次方字节)级别数据量的处理能力,GaussDB 200在核心技术上跟传统数据库相比有巨大优势,可以解决很多行业用户的数据处理性能问题,可以为超大规模数据管理提供高性价比的通用计算平台,并可用于支撑各类数据仓库系统、BI(Business Intelligence)系统和决策支持系统,统一为上层应用的决策分析等提供服务。

gaussdb 200应用场景

GaussDB 200面向行业大数据应用,可以适用于以下场景:
    • 详单查询具备PB级数据负载能力,通过内存分析技术满足海量数据边入库边查询要求,适用于安全、电信、金融、物联网等行业的详单查询业务。
    • 数据仓库具备百TB级数据支撑能力,可以高效处理百亿行多表连接查询,适用于操作数据存储ODS(Operational Data Store)、企业数据仓库EDW(Enterprise Data Warehouse)、数据集市DM(Data Mart)。
    • 混合负载基于海量数据查询统计分析能力与事务处理能力,行列混存技术同时满足联机事务处理OLTP(On-Line Transaction Processing)与联机分析处理OLAP(Online Analytical Processing)混合负载场景
    • 大数据分析支持结构化数据PB级分析能力。分布式并行数据库集群满足PB级结构化大数据的分析能力。

gaussdb200业务流程

file

具体查询流程如下:

  1. 用户通过应用程序发出查询本地数据的SQL请求到Coordinator。
  2. Coordinator接收用户的SQL请求,分配服务进程,向GTM请求分配全局事务信息。
  3. GTM接收到Coordinator的请求,返回全局事务信息给Coordinator。
  4. Coordinator根据数据分布信息以及系统元信息,解析SQL为查询计划树,从查询计划树中提取可以发送到Datanode的执行步骤,封装成SQL语句或者子执行计划树,发送到Datanode执行。
  5. Datanode接收到读取任务后,查询具体Storage上的本地数据块。
  6. Datanode任务执行后,将执行结果返回给Coordinator。
  7. Coordinator将查询结果通过应用程序返回给用户。

gaussdb200数据节点高可用

file
gaussdb200提供了双重HA机制,第一层保护:主备机实时的数据页和日志同步,主机故障后备机接管,确保业务不中断,第二层保护:备机故障后,主机日志同步复制到从备节点(handoff机制),确保日志始终是双备份。

友商对比

特性 Teradata Oracle Exadata GreenPlum 华为GaussDB 200
通用服务器支持 不支持 不支持 支持 支持
依赖磁阵/SAN 存储 依赖 依赖 不依赖 不依赖
架构 无共享架构,横向扩展最佳 全共享架构,横向扩展受限制 无共享架构, 协调节点(master)仅 支持主备,数据节点 (segment)能横向扩展 无共享架构, 协调节点(CN)节 点和数据节点(DN) 均能横向扩展
向量化执行/ SIMD指令 不支持 不支持 不支持 支持
行列存储 支持,表级列存储 支持,压缩单元级列存储 支持,表级别列存储 支持,表级别列存储
列存储引擎 不支持 支持,压缩单元级列存储 不支持 支持

海汼部落原创文章,原文链接:http://www.hainiubl.com/topics/75655

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容

  • 一 Postgres-XL简介 Postgres的-XL是一个基于PostgreSQL数据库的横向扩展开源SQL数...
    遥想公瑾当年阅读 26,051评论 12 29
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 124,504评论 2 7
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,041评论 0 4