关于PolarDB粗浅认识

2024-03-15 12:36
文章标签 认识 polardb 粗浅

本文主要是介绍关于PolarDB粗浅认识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PolarDB简介

目前(20240314),PolarDB有两个版本:

PolarDB-PG

PolarDB PostgreSQL 版(PolarDB for PostgreSQL,简称“PolarDB-PG”)是阿里云自主研发的云原生关系型数据库产品,100% 兼容 PostgreSQL。采用基于 Shared-Storage 的存储计算分离架构,具有极致弹性、毫秒级延迟、HTAP 的能力和高可靠、高可用、弹性扩展等企业级数据库特性。同时,PolarDB 具有大规模并行计算能力,可以应对 OLTP 与 OLAP 混合负载。

PolarDB-X

PolarDB分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 是阿里云自主研发的高性能云原生分布式数据库产品,其采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,具备企业级、云原生、高可用、高度兼容 MySQL 系统及生态等特点。

通过官方介绍,可以了解到PolarDB-PG 100%兼容PG,PolarDB-X高度兼容MySQL;至于为啥不是100%兼容呢?因为PolarDB-X分为“企业版”、“标准版”两个版本,后者100%兼容MySQL,前者高度兼容MySQL。这里就要讲一到PolarDB-X“企业版”、“标准版”的区别。

PolarDB是分布式数据库,由四个核心组件组成(其中DN和GMS使用相同的介质):

  • 计算节点(CN, Compute Node):polardbx-sql
  • 存储节点(DN, Data Node):polardbx-engine
  • 元数据服务(GMS, Global Meta Service):polardbx-engine
  • 日志节点(CDC, Change Data Capture):polardbx-cdc 

所以,就架构上来说,PolarDB-X要比PolarDB-PG要复杂;所以,下一章节主讲PolarDB-X。

PolarDB-X架构

PolarDB-X 采用 Shared-nothing 与存储计算分离架构进行设计,系统由4个核心组件组成。

  • 计算节点(CN, Compute Node)

计算节点是系统的入口,采用无状态设计,包括 SQL 解析器、优化器、执行器等模块。负责数据分布式路由、计算及动态调度,负责分布式事务 2PC 协调、全局二级索引维护等,同时提供 SQL 限流、三权分立等企业级特性。

  • 存储节点(DN, Data Node)

存储节点负责数据的持久化,基于多数派 Paxos 协议提供数据高可靠、强一致保障,同时通过 MVCC 维护分布式事务可见性。

  • 元数据服务(GMS, Global Meta Service)

元数据服务负责维护全局强一致的 Table/Schema, Statistics 等系统 Meta 信息,维护账号、权限等安全信息,同时提供全局授时服务(即 TSO)。

  • 日志节点(CDC, Change Data Capture)

日志节点提供完全兼容 MySQL Binlog 格式和协议的增量订阅能力,提供兼容 MySQL Replication 协议的主从复制能力。

PolarDB-X“企业版”、“标准版”的区别

企业版安装的时候4个核心组件(CN、DN、GMS、CDC)都会装,甚至每个组件不止一个。可以通过kubernetes集群化部署(推荐)、pxd部署(测试)、源码编译。通过CN的54224端口进行访问。通pxd部署安装日志信息可以了解到:

# pxd tryout -t enterprise
……
aac8317b4f93:Extracting [==================================================>]    103MB/103MB
aac8317b4f93:Pull complete 
Digest: sha256:7336bf20d3ae1c5127d20ca9a46e31b6439b7835314f406c87fad9d9ea9f6588
Status: Downloaded newer image for polardbx/polardbx-cdc:latest
Processing  [###########-------------------------]   30%    create gms node
Processing  [#############-----------------------]   38%    create gms db and tables
Processing  [################--------------------]   46%    create PolarDB-X root account
Processing  [###################-----------------]   53%    create dn
Processing  [######################--------------]   61%    register dn to gms
Processing  [########################------------]   69%    create cn
Processing  [###########################---------]   76%    wait cn ready
Processing  [##############################------]   84%    create cdc containers
Processing  [#################################---]   92%    wait PolarDB-X ready
Processing  [####################################]  100%PolarDB-X cluster create successfully, you can try it out now.
Connect PolarDB-X using the following command:mysql -h127.0.0.1 -P54224 -upolardbx_root -pGTUMPyLt

标准版安装的时候只有DN,通过DN17775端口访问。这就跟MySQL没什么区别了。通pxd部署安装日志信息可以了解到:

# pxd tryout -t standard
……
Processing  [###################-----------------]   53%    create dn
Processing  [#################################---]   92%    wait PolarDB-X ready
Processing  [####################################]  100%
PolarDB-X cluster create successfully, you can try it out now.
Connect PolarDB-X using the following command:mysql -h127.0.0.1 -P17775 -uadmin -pPGYansaq

并且,查看默认创建系统库和版本信息也不一样:

  • 企业版:

       系统库:information_schema

       版本信息:8.0.3-PXC-5.4.18-20240111

  • 标准版:

       系统库:__recycle_bin__、information_schema、mysql、performance_schema、sys

       版本信息:8.0.30

这篇关于关于PolarDB粗浅认识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/812004

相关文章

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

SpringMVC-1.认识及配置

SpringMVC是一个基于请求驱动的Web框架,和structs一样是目前最优秀的基于MVC框架,现在的项目一般都使用SpringMVC代替Structs。 MVC模式中,Model是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象在数据库中存取数据。View是应用程序中处理数据显示的部分,通常视图是依据模型数据创建。Controller是应用程序中处理用户交互的部分。通常控制器负责从视

【H2O2|全栈】关于HTML(1)认识HTML

HTML相关知识 目录 前言 准备工作 WEB前端是什么? HTML是什么? 如何运行HTML文件? 标签 概念 分类 双标签和单标签 行内标签和块标签 HTML文档结构 预告和回顾 UI设计相关 Markdown | Md文档相关  项目合作管理相关  后话 前言 本系列的博客将分享前端HTML的相关知识点。 本篇作为本系列的第一期博客,主要讲解H

认识鬼火引擎

一、Irrlicht简介 (1)概念Irrlicht引擎是一个用C++书写的高性能实时3D引擎,可以应用于C++程序或者.NET语言中。通过使用Direct3D(Windows平台)、OpenGL 或它自己的软件着色程序,可以实现该引的完​全跨平台。尽管是开源的,该Irrlicht库提供了可以在商业级的3D引擎上具有的艺术特性,例如动态的阴影,粒子系统,角色动画,室内和室外技术以及碰撞检测等。(

Jenkins--pipeline认识及与RF文件的结合应用

什么是pipeline? Pipeline,就是可运行在Jenkins上的工作流框架,将原本独立运行的单个或多个节点任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。 为什么要使用pipeline? 1.流程可视化显示 2.可自定义流程任务 3.所有步骤代码化实现 如何使用pipeline 首先需要安装pipeline插件: 流水线有声明式和脚本式的流水线语法 流水线结构介绍 Node:

git:认识git和基本操作(1)

目录 一、版本控制器 1.安装git 2.创建git本地仓库 3.配置git 二、git操作(1) 1.工作区、暂存区、版本库 2.添加文件 3.查看.git 4.修改文件 一、版本控制器         所谓的版本控制器,就是能让你了解到每一个文件的修改历史。相应的,在企业级开发中,用来记录一个工程的每一次改动和管理版本迭代,同时方便多人协作开发。         g

关于MANIFEST.MF的内容认识

文章来源 https://baike.baidu.com/item/MANIFEST.MF https://www.cnblogs.com/Gandy/p/7290069.html 一、百度百科关于MANIFEST.MF文件介绍 打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录,这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了

C++---由优先级队列认识仿函数

文章目录 一、优先级队列是什么? 二、如何使用优先级队列 1、优先级队列容器用法 2、为什么容器本身无序? 三、什么是仿函数? 1. 什么是仿函数? 2. 仿函数的优势 四、仿函数如何使用? 1、重载operator()函数 2、运用第三个参数模板 3、大小堆切换  大堆测试代码: 小堆测试代码: 4、头文件总代码  五、什么是容器适配器? 前言   本文主要介绍了优先级队列是什