前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我眼中的GaussDB——参加华为合伙伙伴赋能会有感

我眼中的GaussDB——参加华为合伙伙伴赋能会有感

作者头像
数据和云
发布2019-09-17 16:01:42
1.5K0
发布2019-09-17 16:01:42
举报
文章被收录于专栏:数据和云

引言

有幸参加华为合作伙伴赋能会,本文是对赋能会的一些总结,知识梳理。希望能让大家对GaussDB能有一些了解,如有误之处望批评指正。

1. GaussDB 介绍

2019年5月15日,华为在北京发布了人工智能原生的名为“高斯(GaussDB)”的数据库软件,一款分布式数据库,取名Gauss是在致敬数学家高斯。

华为内部从2001年一直研发迭代,内部自用。今年5月份正式全球发布商用。

2. GaussDB 优势


· 全球首款AI-Native数据库。华为首次将人工智能技术融入分布式数据库的全生命周期,实现自运维、自管理、自调优、故障自诊断和自愈。 · 业界首个支持ARM架构的企业级数据库。过去的数据库都是基于单一计算架构开发的,比如x86、Power、SPARC等。 · 支持异构环境带来的性能提升效果明显。通过异构计算创新框架充分发挥X86、ARM、GPU、NPU多种算力优势,在权威标准测试集TPC-DS上,GaussDB的性能比业界提升50%,排名第一。

3. GaussDB 版本


GaussDB 100 OLTP 操作指令集,功能,函数,视图,各方面跟O非常相像。

GaussDB 200 OLAP 基于PG开发,代码量是PostgreSQL 的3~4倍 PG(40万行代码)。

本文是对GaussDB 200的介绍。

4. GaussDB 200


4.1 技术指标

4.2 基本概念

4.3 架构对比

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

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

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

GaussDB 200由多个MPPDBServer组成

4.4 网路拓扑

GaussDB 200整个系统网络划分为2个平面,即业务平面和管理平面,两个平面之间采用物理隔离的方式进行部署,保证业务、管理各自网络的安全性。

· 管理平面通过运维网络接入,提供系统管理和维护功能,主要用于集群的管理,对外提供集群监控、配置、审计、用户管理等服务。 · 业务平面,主要用于集群内部数据处理的专用网络平面,此处的业务平面非客户的应用网络平面。主备管理节点还支持设置外部管理网络的IP地址,用户可以通过外部管理网络进行集群管理。

组网方式分为单平面组网和双平面组网。采用单平面组网时,不区分管理平面和业务平面。在典型配置下, GaussDB 200集群双平面组网模型。

4.5 集群部署方案

为减少硬件故障对系统可用性的影响,建议集群部署方案遵循如下原则。

· 对于每组实例,其主、备部署在不同的节点上。例如:GTM的主、备分别部署在 不同的节点上。DN的主、备、从备部署在不同的节点上。 · 建议节点内存大于等于512G,每个节点部署4个DN。

说明 轻量化单节点场景下,单节点支持部署2~6个DN。

· 低并发场景下,整个集群部署2~4个CN即可以满足使用要求。 · 建议GTM、 CM部署在没有CN的节点上。如此部署,既减少某节点故障带来的损 失,还可以避免集群运行压力集中在个别节点上。 · 安全环是集群组网的基本单元,普通安全环内包含至少3个服务器,各服务器的 DN形成完备的主备关系。系统默认会根据Datanode进程数据目录的个数加1确定 环节点数,也可以配置环节点列表和环节点数参数指定成环规则,建议使用小 环,环节点数不宜过大。

为保证负载均衡和资源的有效利用,在遵循上述原则的基础上,建议部署模式如下: · 主GTM和备CMServer部署在同一个节点上,备GTM和主CMServer部署在同一个 节点上。 · 根据需要在部分节点上部署CN。 · 对于DN的部署模式: ——一个服务器上的主DN对应的备节点和从备节点会按照图2-6所示自动依照安 全环中节点的顺序依次分散部署在其他节点上, DN分布均衡。 ——各个节点上的DN数要求相同。

——DN的主、备、从备部署在不同的节点上。

说明 从备DN不占用实际存储空间,仅在主、备DN故障时才起作用,且只存储数据日志,不存储数据页面。

4.6 数据查询的流程

具体查询流程如下: 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将查询结果通过应用程序返回给用户。

4.7 在线扩容

随着客户业务的发展,现有系统在磁盘容量、性能等方面将逐步呈现瓶颈。GaussDB 200分布式数据库集群提供scale-out线性扩展能力,满足客户业务增长和利旧的诉求 (将闲置的机器加入系统)。 GaussDB 200采用Node Group技术,支持多表并行扩容,扩容速度高达400G/小时/新增 节点。

GaussDB 200在线扩容具有如下特点:

· 扩容不中断业务。扩容过程中支持数据持续入库、查询业务不中断。

· 一致性Hash技术和多表并行扩容等技术,助力扩容性能提升。 采用一致性Hash技术使得重分布过程中需要迁移的数据量最小。 重分布过程中支持多表并行及用户自主选择表的重分布顺序。 支持扩容进度查询,实时监控扩容进度。 · 随着节点数增加,集群性能线性增长。 如图所示,在全并行分布式架构下, GaussDB 200随着节点数的增加,集群的 数据加载性能、业务处理性能和容量可线性扩展。

5. 附录


GaussDB200和其他数据库对比

参考:

华为生态大学:https://partner.huawei.com/university/ GaussDB开发者社区:https://developer.huaweicloud.com/gaussdb/index.html GaussDB论坛:https://bbs.huaweicloud.com/forum/forum.php?mod=forumdisplay&fid=565&from=groupmessage

来源:墨天轮(https://www.modb.pro/db/6416,复制在浏览器打开或者点击“阅读原文”)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据和云 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档