数据库系列之简要对比下GaussDB和OpenGauss数据库

打印 上一主题 下一主题

主题 507|帖子 507|积分 1521

GaussDB作为一款企业级的数据库产物,和开源数据库OpenGauss之间又是什么样的关系,刚开始接触的时候是一头雾水,因此本文简要对比下二者的区别,以加深相识。

1、GaussDB和OpenGauss数据库简要对比

GaussDB是华为基于PostgreSQL数据库内核创新研发的企业级分布式关系型数据库,支持分布式事务,同城跨AZ摆设,数据0丢失,支持1000+的扩展能力,PB级海量存储。最早GaussDB的定位是云数据库产物集合,包括关系型和非关系型数据库,产物矩阵如下:

可以看到GaussDB数据库包括:关系型的GaussDB(for openGauss)、GaussDB(for MySQL)和GaussDB(for PostgreSQL);非关系型的GaussDB(for Cassandra)、GaussDB(for Mongo)、GaussDB(for Redis)和GaussDB(for Influx)。不外从最新官网看到GaussDB数据库的划分,又聚焦于关系型数据库,从中可以看出从内部对GaussDB的产物定位上也有差别的理解。现在是定位更加清晰,云数据库GaussDB是应用于金融、电信和政企等关键核心系统的分布式数据库,尤其特指关系型的GaussDB(for openGauss)。

1.1 OpenGauss和PostgreSQL关系

GaussDB的内核引擎最早是基于PostgreSQL 9.2版本不断演进,根据PG-XC架构衍生了多CN架构,并开辟了分布式执行框架和向量化引擎等重要特性。

OpenGauss作为GaussDB数据库的开源主备版本,和PostgreSQL相比,在底层架构和数据存储方面类似,但OpenGauss在性能和扩展性方面举行了优化。主要在以下方面:


  • 执行模子:OpenGauss优化了线程池模子,满足高并发的访问需求
  • NUMA改造:OpenGauss支持信创服务器的Numa适配,提拔服务器的性能
  • 存储引擎优化:OpenGauss支持列存和内存引擎,满足HTAP类业务场景需求
  • 优化器优化:结合实际的应用场景支持CBO对复杂查询场景的优化能力

对比PostgreSQL可以看到,OpenGauss对数据库引擎的性能和架构做了适配性改造,更符合国产化的需求,以满足信创环境下大规模和复杂的数据处置惩罚请求。
1.2 GaussDB和OpenGauss差别之处

GaussDB数据库作为企业级的分布式数据库,支持分布式和主备的摆设场景,其中分布式版本包罗CN(计算节点)、DN(数据存储节点)和GTM(分布式事务管理器)等节点类型。GaussDB数据库的分布式版本是基于share-nothing架构实现的,通过GTM-Lite技术实现事务强划一,消除了无中央节点性能的瓶颈。而OpenGauss简单来说就是GaussDB(for OpenGauss)的一个开源版本,支持主备摆设形态。
1.2.1 组件类型

GaussDB数据库作为分布式架构数据库,在数据库组件上相比OpenGauss数据库多了和谐节点(Coordinator Node)和全局事务管理器(Global Transaction Manager),如下图所示。



  • OM(Operation Manager):运维管理模块提供数据库一样寻常运维、配置管理的管理接口、工具等
  • CM(Cluster Manager):数据库管理模块管理和监控数据库系统中各个功能单位和物理资源的运行情况,确保整个系统的稳固运行。CM提供数据库主备的状态监控、网络通讯故障监控、文件系统故障监控、故障主动主备切换等能力。
  • GTM(Global Transaction Manager):全局事务管理器负责天生和维护全局事务ID、事务快照、时间戳和sequence等全局唯一的信息。
  • CN(Coordinator Node):和谐节点负责接收来自应用的访问请求,并向客户端返回执行效果;负责对SQL请求解析,并将请求路由到差别的DN分片上执行。
  • DN(Data Node):数据节点负责存储业务数据、执行数据查询使命以及向CN或客户端返回执行效果
  • ETCD:分布式键值存储系统,用于共享配置和服务发现
  • CMS(cm_server):举行数据库实例管理和实例仲裁的组件。主要功能包括:1)接收各个节点上cm_agent发送的数据库各实例状态;2)提供数据库实例团体状态的查询功能;3)监控实例的状态变化并举行仲裁下令的下发
  • Storage:服务器的本地存储,用于数据持久化,支持集中式存储
对比GaussDB和OpenGauss,OpenGauss由于是主备摆设形态,不需要分布式架构下的CN和GTM节点,因此在数据库组件上有以下差别:

1.2.2 摆设架构


GaussDB和OpenGauss数据库摆设架构如图所示,GaussDB在数据库摆设组件中多了CN和谐节点和GTM全局事务节点。另外,GaussDB数据库在分布式SQL执行的时候,通过CN节点将SQL请求下发到差别的DN节点执行,然后汇总效果到CN节点再返回给客户端,而在OpenGauss中客户端直接从DN层获取数据并返回。

1.2.3 GaussDB和OpenGauss差别对比

前文对比了GaussDB和OpenGauss数据库在组件和架构上的差别,下面总结下二者之间的差别:

  • 开辟配景和社区支持:OpenGauss是由华为公司发起的一个开源项目,具有活跃的社区支持和贡献者。GaussDB则是华为公司在OpenGauss的基础上举行商业化扩展和加强后的产物,提供企业级的支持和服务。
  • 功能特性:OpenGauss作为开源产物,其功能相对基础,恰当大多数通用场景,并且可以根据需求举行定制和扩展。GaussDB在OpenGauss的基础上增加了更多的高级特性和优化,包括但不限于性能优化、安全性加强、可靠性提拔等,以满足企业级应用的更高要求。
  • 技术支持和维护:OpenGauss作为一个开源项目,通常依靠于社区的支持和贡献来解决技术问题和提供更新。GaussDB作为商业产物,由华为公司提供专业的技术支持和维护服务,包括技术支持热线、定期更新和补丁等。
  • 适用场景:OpenGauss适用于对本钱敏感、需要灵活性和可控性的场景,如中小型企业、教诲机构或个人开辟者。GaussDB更恰当对数据安全、性能稳固性和服务质量有较高要求的企业级应用场景,特别是大型企业和关键业务系统。
  • 摆设架构:OpenGauss支持主备摆设架构,满足高可用要求;GaussDB支持主备和分布式摆设形态,高可用架构上支持多中央摆设,满足金融级别的高可用要求。
  • 扩展能力:OpenGauss集中式摆设受限于单台服务器的处置惩罚能力,无法横向扩容;GaussDB支持分布式摆设架构,具备横向扩展能力,满足高并发高性能的场景。
  • 信创生态支持:OpenGauss和GaussDB支持全栈信创能力,和国产CPU、国产操作系统和中间件有很好的生态兼容。

1.3 总结

本文简要对比了GaussDB和OpenGauss数据库,二者作为良好的国产数据库虽然在发展路线和应用场景上会有所差别,但在国产化基础软件信创改造的过程中都发挥了重要的作用。GaussDB作为企业级的分布式数据库,在金融、电信等关键行业应用广泛,而OpenGauss作为开源版本,更像MySQL或PostgreSQL数据库一样的开源生态,吸引更多的国产数据库爱好者参与共建、开辟和优化。

   参考资料:
  

  • https://support.huaweicloud.com/gaussdb/index.html
  • https://docs.opengauss.org/zh/docs/latest/docs
  • https://blog.csdn.net/HCIS_HENGCHI/article/details/133774888

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

雁过留声

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表