网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
理性且客观的看,国产数据库和全球主流数据库存在些许差距,但国产数据库的发展环境已经不可同日而语,生态建设、人才发展、技术演进正在紧锣密鼓的向前“奔跑”,国产数据库与全球主流数据库的差距正在迅速缩小,所以,我们对国产数据库未来的发展应该有绝对的信心和自信,中国的数据库从业者应该积极地投入国产数据库的使用当中。
一、主备HA搭建
openGauss的架构与oracle和mysql的架构基本一致,没什么大的区别,配置也比较简单。
安装流程
- 单节点部署:在一个主机部署一个或多个数据库实例,支持极简安装和xml方式安装
- HA 部署:支持一台主机或者多台备机的配置方式,仅支持xml方式安装
官方文档关于部署流程的描述
开始→安装前准备→获取并校验安装包→配置XML文件→上传安装包和XML→解压安装包→初始化安装环境→执行安装→(可选)设置备机可读→结束
硬件环境要求
项目 | 配置描述 |
---|---|
CPU | 功能调试最小1×8 核 2.0GHz。性能测试和商业部署时,单实例部署建议1×16核 2.0GHz。CPU超线程和非超线程两种模式都支持。目前,openGauss仅支持鲲鹏服务器和基于X86_64通用PC服务器的CPU。 |
内存 | 功能调试建议32GB以上。性能测试和商业部署时,单实例部署建议128GB以上。复杂的查询对内存的需求量比较高,在高并发场景下,可能出现内存不足。此时建议使用大内存的机器,或使用负载管理限制系统的并发。 |
硬盘 | 至少需要1GB(openGauss的应用程序) + 300M(元数据存储)预留70%以上的磁盘剩余空间用于数据存储建议系统盘配置为Raid1,数据盘配置为Raid5,且规划4组Raid5数据盘用于安装openGauss。硬件层面,设置Disk Cache Policy为Disable,否则机器异常掉电后有数据丢失风险。 |
网络要求 | 300M以上以太网建议网卡设置为双网卡冗余 |
软件环境要求
软件类型 | 配置描述 |
---|---|
Linux操作系统 | ARM:openEuler 20.03LTS(推荐采用此操作系统)麒麟V10x86:openEuler20.03LTSCentOS 7.6说明:当前安装包只能在英文操作系统上安装使用。 |
Linux文件系统 | 剩余inode个数 > 15亿(推荐) |
工具 | bzip2 |
python | openEuler:支持Python 3.7.XCentOS:支持Python 3.6.X麒麟:支持Python 3.7.X说明:python需要通过–enable-shared方式编译。 |
实践操作
获取安装包
获取路径: 软件包 | openGauss
执行前置:
使用root用户执行gs_preinstall
gs_preinstall -U omm -G omm -X open_gauss_4node_casecade_cm.xml
执行前安装:
使用omm用户执行安装
gs_install -X open_gauss_4node_casecade_cm.xml
二、主备HA日常操作
主备HA日常管理
常用的运维工具:gs_om
、gs_expansion
、gs_dropnode
、gs_upgradectl
主备HA日常升级
用户在安装第一版数据库之后,若有新增的功能或业务逻辑,则为用户保证在保留原数据库拓扑及数据的情况下,为用户更新数据库。
升级方式 | 升级单位 | 原理 | 业务影响 | 适用场景 |
---|---|---|---|---|
就地升级 | 集群 | 在升级过程中停止业务,更新系统对象,停集群切换二进制 | 升级全程断业务 | 对业务中断时间无要求的正常环境 |
灰度升级(一次性升级所有节点的灰度升级方式是目前最稳定可靠的) | 节点 | 对系统对象硬编码,在线更新系统对象(内核的),允许部分节点先升级(om) | 一次性升级全部节点,闪断时间为10s(版本的RTO时间)左右) | 对业务中断时间有要求且可一次性断掉所有业务的正常环境 |
三、主备HA技术拓展
openGauss是单机系统,支持一主多备,最多支持八个备机。
openGauss主备HA架构图
openGauss两地三中心部署
同步复制流程
on和local两种方式的事务提交时序图如下:
1、synchronous_commit = on(默认值)
该方式有性能损耗,可靠性高。
2、synchronous_commit = local
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!