实录:电话咨询数据库数据迁移“100” 个问题

文摘   2024-11-06 06:01   天津  

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,可以解决你的问题。加群请联系 liuaustin3 ,(共2550人左右 1 + 2 + 3 + 4 +5 + 6 + 7 + 8)(1 2 3 4 5 群均已爆满,6群关闭自由申请,新人进7群,开8群)

      参加 “央企” 项目改造会后的,“数据库瞎想”

      这段时间国产数据库的话题频繁出现,新时代新需求,最近研究如何替换MySQL到国产数据库的过程中,发现有这样的需求。不乏一些老的系统,软件没人维护,之前编写软件的开发人员已经找不到踪影,应用系统的数据一直增长上涨,这些客户共同的特点,数据库要国产化,导致数据迁移的问题,说难不难,说简单也不简单,要求系统不停机,业务连轴转,增量数据快速上涨的情况下追平数据,业务代码不能改造,要求数据同步能及时,减少切换等待的时间,这里查询了一些资料,也咨询了一些成熟的产品。

      比如“阿里云DTS” ,在央国企项目里面不能有国外产品,什么OGG、Kettle这些ETL软件不能出现在项目的名单上,产品涉及政治政策问题是不能妥协的,技术中有些开源的产品如Datax,Canal,这些开源产品在出现问题后并不能保证100%解决其中开源软件的问题,满足不了形形色色的企业需求。

      最终方案必须在国产的软件里面寻找,必须保证满足核心项目中出现数据传输维内托后,有软件的厂商进行解决成为寻找软件的必要选项。

关于需求目前比较笼统,几句话总结:

1  从MySQL同步到国产数据库,哪个国产库目前并不能完全确认,且ETL软件能支持的国产数据库越多越好 

2  需要进行增量的同步,且同步数据的速度要快要及时,尤其增量数据的同步部分

需求比较模糊,在寻找解决方案的过程中需要落地详细的方案,以防后面客户收紧需求,让现在的工作变成无用功,这里对任务进行了拆解。

1  需要数据同步功能和数据迁移的功能完美的结合和切换 

2  支持国产数据库产品种类要丰富,做到大部分国产数据库都支持,后期成为一个标准型的方案 

3  需要长期稳定的增量同步,最小化影响生产库源库的性能 

4  纯国产软件,有商业支持,有后续的维保支持

在传统方案中不花钱的数据同步和迁移的方案可以总结

1  Canal 

2  Kettle 

3  阿里云 DTS 迁移 

4  各个数据库厂商自身的迁移软件

这些方案都有各自的优势,其中各个软件都有各自在国产化项目中的硬伤

1 Canal 本身对数据库的源库的种类有要求:

必须是MySQL,作为通用性的方案显然是不实际的。

2 Kettle 国外的ETL软件:

这不符合国内央国企的,项目中的软件全面国产化的硬性要求。

3 阿里云DTS:

在性能上阿里云的DTS是无可挑剔的,但使用的范围限于云上,这点使用的范围很窄,不能作为通用性方案。

4 各个厂商的迁移软件:

大部分厂商的迁移软件都是适配自身的数据库产品,对其他数据库产品的兼容性有问题,所以不能作为通用性方案。

以上这些软件和方案无法满足国产化项目中的数据同步或迁移工作的通用性方案。

       在为央国企大型客户服务的过程中,ETL软件在整体项目中的作用不容忽略,甚至这是整体项目能否成功的关键因素之一,这些是数据库人需要考量和思虑的问题。因为之前并未对ETL软件有过多的研究,所以把这个问题抛给了一些数据库专业群群,看看大家的意见和方案,给出各种答案都有,其中一些群里的群友提供了一些国产的数据库数据同步的软件,有几个人都提到了TapData。

       虽然万能的群友给出了答案,这里还需要进一步对软件进行更多的了解,并且弥补一下ETL方面的缺少的知识,以便在后续的工作中,能应对甲方的质询和疑问,做到对答如流。随即这里找到了TapData的联系方式,直接拨打电话进行咨询,下面是通话的记录。

我:喂,你好,是钛铂数据对吧?

客服:是的,这边是TapData

我:这边有一个需求,想和您咨询一下,您看方便吗?

客服:方便,您这边有什么需求

我:这边我们需要将MySQL同步到一个国产数据库,现在这个国产数据库还不好说,我们就以OceanBase作为一个假设的目的库,这里需要数据的传输方式是同步性质的,不是仅仅是迁移数据,ETL软件必须为国产自主,且适合云上云下进行部署,云下部分情况不能将数据库暴露走公网,要确保可以单独部署,云上部署时可以有托管的方式,数据同步的性能要有一定的保证,出现问题咱们要第一时间解决客户的问题,我这边的需求您清楚吗?

客服:我这边在重复一下,MySQL同步到国产数据库,具体哪个国产数据库暂不清楚,暂定OceanBase,部署的方式要灵活,在出现问题的情况下,需要ETL厂商进行干预和支持,大致需求是这样的对吗?

我:对,您看可以吗?

客服:您稍等,这样的需求是我们软件的基本功能,最近也经常有客户过来咨询,我来把之前一些客户数据同步方案中,技术的部分和您介绍一下,基于客户的信息的敏感性,我们只能对技术的部分进行阐述您看行吗? 

      TapData有成熟的文档,您有微信吗?  这里把技术页面推给您,您边看,咱们边聊可以吗?我可以快速的和您过一下相关的内容。

我:可以的,您说的稍微慢一点,我这边记录一下。

客服:您看微信的链接,您点击一下,首先您看第一页,对您点击一下链接,您看我们目前支持国产的数据库有,达梦,人大金仓,南大通用,华为openGauss,OceanBase,阿里云全系的产品,腾讯云全系的产品,华为GaussDB,您看这些产品作为数据源都是可以的。https://docs.tapdata.net/prerequisites/supported-databases

我:好,这边时间有点紧,直接问比较快,我把我可能需要的同步源和目标库的情况给您,你看看行不行,咱们快速过一下。

1 MYSQL --- OceanBase  或者OB Cloud 

2 MYSQL --- 达梦 

3 MYSQL --- PostgreSQL 

4 MYSQL --- MSSQL (Sql Server) 

5 MYSQL --- Doris 

6 MYSQL --- GAUSSDB 

7 MYSQL --- PolarDB for MySQL 

8 MYSQL --- TDSQL 

9 MYSQL --- TIDB

客服:看到了,您这边提供的信息,我看了一下,您问比较挺全,最近有大量的客户也在问,我们都支持,稍等我在对一下,OK对我们都支持。

我:好的感谢。另外我们单位的客户,现在就有一个问题,我顺便问一下,他们购买了一个ETL软件,我就不提名字了,别的还行,就是做不了MongoDB的双向复制,我们也咨询了很多公司和方案,目前我们唯一得到确认可以做MongoDB 双向复制的,只有阿里云,使用阿里云的托管的MongoDB产品,阿里云告诉我们,他们可以做MongoDB双向复制的原理是修改了MongoDB的源代码,但客户的MongoDB是线下的,目前我找不到方案解决这个问题。咱们有方案可以解决MongoDB 双向复制的问题吗?

客服:您这个问题,我们有成熟的案例,还是一个比较大的国企的案例。

我:我打断一下,我说的是MongoDB 双向复制,不是单向复制。现在阿里云也说线下的他们也没办法,通过开源的Mongoshake进行同步也不行,所以咱们这边是确认,MongoDB 双向同步是没有问题,有成熟的案例?

客服:您放心,我们做MongoDB是非常专业的,这边TapData还有MongoDB的运维团队,最近我们和一个知名的国企大客户实施了MongoDB双向复制的工作,不用修改MongoDB的源码,稍后让我们的技术老师给您解释一下方案。

我:我再问一下,如果是Oracle同步到国产数据库,有方案吗,我发名单到您微信。

POSTGRESQL --Kingbase 

POLARDB --- OceanBase 

ORACLE---OceanBase 

ORACLE --- 达梦 

ORACLE --- OceanBase 

ORACLE --- GAUSSDB

客服:您提出的这些源到目的,TapData这边都可以进行同步。最近咨询的客户和您类似的情况有一些,我们一天能接到的10多个客户咨询,有80%是这样的需求,要求我们保证从原有的开源或国外的商业数据库迁移或同步到国产数据库,一部分客户开始POC,并准备后续了。

我:刚才提到的数据的实时性的问题,也是需要关注的问题,一些主流的方案对数据的实时性并不能保证。向源端的MySQL写一条数据,要马上在OceanBase上查到,在不考虑目标数据库性能的基础上,ETL软件的流转和传输是关键。另外TapData部署的方式有哪些,不同部署的方式的区别是什么?

客服:实时性传输是TapData的一个优势,我找一下我们的技术人员来回答一下问题,他们对技术问题比我专业,我拉群。

技术人员:您好,这里看到我们客服和您讨论的问题了。

我:TapData部署方式有哪些?安装的方式尽量的简单一些,如果不安装能试用更好,我们希望进行试用。

技术人员:这边可以,TapData有免费的试用,也有开源的版本可以使用,已满足客户短时的需求。不安装软件使用云上的TapData Cloud 版本进行数据的迁移或同步是一个好的选择。开源版本可以升级到企业版本,这里我们可以帮助客户进行试用后的产品升级。

我:麻烦您介绍一下,开源,企业,云上的版本有哪些特点、适应那些对应的场景。技术人员:这里简略的给您介绍一下,TapData的产品部署,有三个方式: 

1 TapData 云版:TapData Cloud版本主要为客户短期迁移数据设计、云上的产品的数据迁移使用。举一个例子,客户想从A云将数据库数据迁移到B云上,通过TapData的云版,迅速的帮助您迁移数据。客户的短期数据迁移也可以用云版本,这样费用低,不占用客户的资源,即开即用,不需要安装和部署。即买即用的模式收到不少客户的青睐。

2 TapData企业版:TapData企业版是企业级别的产品。一些企业核心数据的传输场景非常适合,如数据的迁移、数据的同步、多数据副本传输、异构数据同步、异构数据迁移,多表数据合并(数据多源聚合)。同时企业版有丰富的操作界面,可以进行数据迁移中的图形化操作,方便客户的使用。

      举例:比如A企业的实时数据,需要大数据通过Diors来处理,使用TapData将客户的数据库和Diors进行数据实时同步,不少客户担心,一些常见的问题。

      如:数据链路断了(断点续传)、ETL软件所在的主机死机、ETL软件所在的主机资源不足的问题。TapData企业版在设计之初对数据传输的环节提供高可用,在出现ETL设备异常情况下,进行ETL软件所在的主机进行高可用切换,保证TapData稳定运行持续为客户核心的数据传输做最完善的保证TapData可以完成三节点,二节点高可用搭建和切换,我们有丰富的经验和可操作的管理界面方便客户进行监控和管理数据同步服务。

3 TapData开源版本:TapData开源ETL产品目前支持开源数据库产品之间的数据同步和迁移,其他部分未做任何限制。

我:这里有一个数据增量的问题,在使用kettle做数据同步一些大库,大表经常性因kettle读取增量数据的问题,导致数据抽取和业务争抢数据库资源,TapData 解决了类似的问题吗?

技术人员:这个问题的主要原因有两个 

1 增量抽取数据的并发
2 增量抽取数据的方式 TapData 

解决了这2个问题:

1 TapData 通过有效的灵活的参数,在发现数据抽取源库,产生资源争抢的情况下,调整并发立即生效。

2 利用TapData 特有的功能,数据共享挖掘。通过数据共享挖掘,对增量数据仅一次进行读取。

      TapData有效的将这些数据存储在TapData的内部,从而不需要对源库进行频繁的数据扫描和抽取。与此同时我们建议用户,采用数据库日志增量的方式来对数据进行追取,数据的增量追取将不再影响源库的性能。这部分我们是有案例的,需要的话我发给您。这个功能也是我们在不断的迭代和客户的反馈中锻炼出来的,能及时的解决源库性能的问题。TapData还采用了多线程和批处理技术,在数据库硬件资源充足的情况下,可以调节参数提高同步效率。

我:太好了,我这还有一个关于数据安全的问题和ETL部署的问题,现在一些央企国企的数据要传送到云上做数据备份,基于企业的性质和安全策略,数据同步软件是不能直接通过外网来访问企业的数据库将数据传输到云上,企业的数据库不能开通外网访问,TapData 有方案可以解决这类问题吗?

技术人员:这部分我们有详尽的方案可以支持对数据敏感的企事业单位的数据云备份的工作。一般TapData在这些企业指定的安全区域部署TapData企业版,并对TapData服务器进行安全加固,通过TapData服务器与云上的TapData服务进行数据的传输,达到二次数据保护。

我:后面的一些简单的问题,经过了解我觉得也就不用问了,比如在数据复制中,把原表的字段增加了一个,或减少,TapData都能同步到目的库,且数据不丢失,这个也应该没有问题 ?对了刚才客服同学说您可以解释一下,TapData MongoDB双向同步的功能实现,可以知道细节吗?

      我比较关注MongoDB 复制集同步的数据回环问题,阿里云可以进行MongoDB 双向同步,再修改了MongoDB代码的情况下,在oplog上增加了可以辨别的信息,避免数据的回环,TapData的方案是怎么做到的呢?

技术人员:微信一个图,您看一下

我:不好意思,我没太懂。

技术人员:这张图中的关键是在复制中通过TapData 核验数据的来源,每条数据中都明确标识数据来源,防止数据回环同步的问题,在双向同步中,并不一定要去修改源代码,对传输数据本身来进行标识,对原有的系统破坏小,产生Bug的可能性更小。

我:明白了,TapData更多利用了数据本身,采用轻量化的方案来解决客户的问题。方案很灵活,受教了。还有一个问题,TapData和国产数据库的兼容互认的问题,TapData和国产数据库之间互相兼容的认证有哪些?

客服:目前TapData已经和OceanBase、Kingbase、GauseDB、TiDB、涛思数据TDengine、海量数据库Vastbase等产品都进行了兼容性互认。您随时可以和TapData联系,随时可以协商POC的时间,您还可以去申请免费的线上TapData产品,快速预约TapData产品的演示 https://tapdata.net/h-col-204.html。

我:谢谢您。

总结,经过这次电话的咨询,对数据库的迁移到国产数据库的工作,更加有信心了。在数据迁移的部分有专业的产品和公司可以帮助我们完成后续遇到的数据同步、迁移的难题。


OceanBase 相关其他文章

OceanBase 学习记录-- 建立MySQL租户,像用MySQL一样使用OB
OceanBase  学习记录 -- 安装简易环境
OceanBase  学习记录 --  开始入门
数据库最近第一比较多,OceanBase 定语加多了?
临时工访谈:OceanBase上海开大会,我们四个开小会 OB 国产数据库破局者
临时工说:OceanBase 到访,果然数据库的世界很卷,没边
数据库信息速递  阿里巴巴的分布式数据库OceanBase旨在进军中国以外的市场 (翻译)


置顶文章:

病毒攻击PostgreSQL暴力破解系统,防范加固系统方案(内附分析日志脚本)
阿里云数据库产品权限设计缺陷 ,六个场景诠释问题,你可以做的更好?
17000多张MongoDB表的锅 自动分析删除表数据难题--从头到尾的处理过程(文尾有MongoDB开发规范)
"DBA 是个der" 吵出MySQL主键问题多种解决方案
MongoDB 插入更新数据慢,开发问哪的问题?附带解决方案和脚本
用MySql不是MySQL, 不用MySQL都是MySQL 横批 哼哼哈哈啊啊
PostgreSQL 远程管理越来越简单,6个自动化脚本开胃菜
数据库最近第一比较多,OceanBase 定语加多了?
临时工访谈:OceanBase上海开大会,我们四个开小会 OB 国产数据库破局者
临时工说:OceanBase 到访,果然数据库的世界很卷,没边

往期热门文章:

阿里云数据库--市场营销聊胜于无--3年的使用感受与反馈系列

阿里云数据库产品 对内对外一样的卷 --3年阿里云数据库的使用感受与反馈系列

阿里云数据库使用感受--客户服务问题深入剖析与什么是廉价客户 --3年的使用感受与反馈系列

阿里云数据库使用感受--操作界面有点眼花缭乱 --3年的使用感受与反馈系列

临时工说:DBA 7*24H 给2万的工作,到底去不去?

PolarDB 最近遇到加字段加不上的问题 与 使用PolarDB 三年感受与恳谈

PostgreSQL 稳定性平台 PG中文社区大会--杭州来去匆匆

MySQL 让你还用5.7 出事了吧,用着用着5.7崩了

临时工访谈:问金融软件开发总监  哪些业务不用传统数据库
PolarDB  Serverless POC测试中有没有坑与发现的疑问
临时工访谈:PolarDB Serverless  发现“大”问题了  之 灭妖记 续集
临时工访谈:庙小妖风大-PolarDB 组团镇妖 之 他们是第一
PolarDB for PostgreSQL  有意思吗?有意思呀
PolarDB  Serverless POC测试中有没有坑与发现的疑问

MySQL 的SQL引擎很差吗?由一个同学提出问题引出的实验

临时工访谈:从国产数据库 到 普罗大众的产品 !与在美国创业软件公司老板对话

PostgreSQL 如何通过工具来分析PG 内存泄露

MySQL 的SQL引擎很差吗?由一个同学提出问题引出的实验
MongoDB 不是软柿子,想替换就替换

PostgreSQL  熊灿灿一句话够学半个月 之 KILL -9

MongoDB  挑战传统数据库聚合查询,干不死他们的

临时工说:国内数据库企业存活   “三板斧”

临时工访谈:庙小妖风大-PolarDB 组团镇妖 之 他们是第一  (阿里云组团PK笔者实录

临时工访谈:金牌 “女” 销售从ORACLE 转到另类国产数据库 到底  为什么?

临时工访谈:无名氏意外到访-- 也祝你好运(管理者PUA DBA现场直播)

临时工说:搞数据库 光凭的是技术,那DBA的死多少次?

PostgreSQL  分组查询可以不进行全表扫描吗?速度提高上千倍?
临时工说:分析当前经济形势下 DBA 被裁员的根因
临时工访谈:恶意裁员后,一个国产数据库企业程序员的心声
临时工说:上云后给 我一个 不裁 DBA的理由
PolarDB for PostgreSQL  有意思吗?有意思呀
PostgreSQL   玩PG我们是认真的,vacuum 稳定性平台我们有了
临时工说:裁员裁到 DBA 咋办  临时工教你 套路1 2 3
PolarDB  搞那么多复杂磁盘计费的东西,抽筋了吗?
临时工说:OceanBase 到访,果然数据库的世界很卷,没边
MONGODB  ---- Austindatabases  历年文章合集
MYSQL  --Austindatabases 历年文章合集
POSTGRESQL --Austindatabaes 历年文章整理
POLARDB  -- Ausitndatabases 历年的文章集合
PostgreSQL  查询语句开发写不好是必然,不是PG的锅
SQL SERVER 如何实现UNDO REDO  和PostgreSQL 有近亲关系吗
MongoDB 2023纽约 MongoDB 大会 -- 我们怎么做的新一代引擎 SBE Mongodb 7.0双擎力量(译)
MongoDB 2023年度纽约 MongoDB 年度大会话题 -- MongoDB 数据模式与建模
MongoDB  双机热备那篇文章是  “毒”
MongoDB   会丢数据吗?在次补刀MongoDB  双机热备
临时工说:从人性的角度来分析为什么公司内MySQL 成为少数派,PolarDB 占领高处
POLARDB  到底打倒了谁  PPT 分享 (文字版)
PostgreSQL  字符集乌龙导致数据查询排序的问题,与 MySQL 稳定 "PG不稳定"
PostgreSQL  Patroni 3.0 新功能规划 2023年 纽约PG 大会 (音译)

Austindatabases 公众号,主要围绕数据库技术(PostgreSQL, MySQL, Mongodb, Redis, SqlServer,PolarDB, Oceanbase 等)和职业发展,国外数据库大会音译,国外大型IT信息类网站文章翻译,等,希望能和您共同发展。
截止今天共发布1245篇文章

AustinDatabases
关于数据库相关的知识分享
 最新文章