前言
openGauss是华为旗下的国产数据库,我对着这个数据库的了解要从今年8月份开始说起,这个数据库我刚开始使用的时候还头疼了很久,感觉搭建的过程还是比较复杂的,但是熟悉之后发现是真的很香!
一、openGauss介绍
官方介绍: openGauss是一款全面友好开放,携手伙伴共同打造的企业级开源关系型数据库。openGauss采用木兰宽松许可证v2发行,提供面向多核架构的极致性能、全链路的业务、数据安全、基于AI的调优和高效运维的能力。openGauss内核源自PostgreSQL,深度融合华为在数据库领域多年的研发经验,结合企业级场景需求,持续构建竞争力特性。同时,openGauss也是一个开源、免费的数据库平台,鼓励社区贡献、合作。
个人理解: 基于linux为内核的国产数据库,安全性大大提高
二、MySQL数据迁移到openGauss
1.全量迁移
(1)介绍
官方介绍 chameleon是一个用Python3编写的将MySQL迁移至openGauss的实时复制工具,支持初始全量数据的复制以及后续增量数据的实时在线复制功能。chameleon通过一次初始化配置,使用只读模式,将MySQL的数据全量拉取到openGauss。支持在同一快照下,表间数据并行迁移。全量迁移支持的功能:支持表及表数据、视图、触发器、自定义函数、存储过程的全量迁移
个人理解 也就是说,将数据库中的数据通过工具全量复制到openGauss里面,这是最简单易懂的解释。
和上图其实原理很类似,就是对大量数据进行批量复制,从MySQL复制到openGauss,只不过中间开始利用工具进行操作。
(2)优势
官方解释: 基于sysbench测试模型,在Kunpeng-920 2p服务器上,MySQL数据库10张表单表数据量在300万以上时,chameleon使用10并发迁移数据至openGauss,整体全量迁移性能可达300M/S以上。
个人理解 也就是说,在大量数据的迁移的时候,通常会出现两种问题难以解决,第一数据量过于庞大,第二迁移速度太慢,openGauss很好的解决了这两点问题。
(3)chameleon工具
pip3 install ./chameleon-1.0.0-py3-none-any.whl(安装chameleon命令)
(4)安装
git clone [email protected]:opengauss/openGauss-tools-chameleon.git #(下载源码)
python3 -m venv venv #(创建环境)
source venv/bin/activate #(激活环境)
cd openGauss-tools-chameleon #(进入指定目录)
python3 setup.py