草庐IT

场景扩展,体验升级 | DBMotion新增无公网数据库迁移、支持监控报警等多项功能

沃趣QFusion数据库私有云 2023-03-28 原文
丝滑的零停机数据库在线迁移工具——DBMotion又双叒叕发新版

新增的网关、数据源功能,让你无公网IP的数据库也可以迁移;新增的监控功能,让你对迁移性能一目了然;新增的报警功能,让你及时获得同步异常的通知。

查看前文可移步之前的文章:​​https://blog.51cto.com/u_15739379/5839691​



1、迁移“无公网IP”自建机房/云上ECS的数据库

本次版本新增了网关功能,让客户在内网上的自建数据库也可以通过SaaS版直接在线迁移,避免了之前必须通过公网地址来访问数据库的问题。

更新之后,DBMotion的SaaS版本有以下能力:支持线下A中心自建库迁移到云上ECS;支持A中心自建库迁移到B中心自建库;支持云上ECS迁移到云下自建库。

如果在自建库和线上ECS有公网IP,可以直接添加为数据库源端或者目标端。

无法通过公网直接访问的,可以点击“添加网关”,在弹出的网关安装页面上获取网关安装命令

复制命令语句,用户只需要在可通公网的网关代理服务器上执行一条命令,就可以方便快捷地安装好网关。

安装完成后,进入添加数据库页面,输入IP、端口就可以将该网关下的数据库添加进来。

添加完成以后,可以在数据库列表中看到状态、地址等相关信息,同时可以通过“测试连接”来确认网络是否正常。如不需要访问该数据库,可以点击“删除”清理资源。

在新建的迁移任务页面,可以将添加好的数据库作为迁移任务的数据库源端或者目标端

2、添加云RDS数据库

DBMotion新版本,支持连接云上RDS实例,通过公网或者网关完成RDS数据库迁移

(1)如果RDS提供了公网地址,在添加数据库的时候,选择实例类别为“云RDS”,接入方式为“公网”,选择RDS对应云key和区域,DBMotion会自动帮你获取并填入云RDS的公网IP和端口

(2)如果之前没有录入云key,可以点击“+新增”录入云key,以便DBMotion通过ak/sk拿到RDS实例的信息。

(3)如果RDS没有开公网,需要用户在可访问RDS实例的云主机上安装网关,并通过网关来访问RDS数据库。

3、全量和增量同步监控

新的版本还增加了全量和增量同步的监控功能

可以看到在全量迁移时的数据库同步吞吐量数据库响应延迟每秒同步的行数等指标。

增量同步时的同步延迟同步行数同步事务数以及数据库和网络的响应、延迟等。

4、报警

现在对数据库的迁移失败、复制延迟也支持通过短信、邮件的信息提供报警,将同步任务的异常情况及时通知客户。

5、忽略错误进入下一步

由于某些特殊原因,DBMotion在迁移时可能出现任务持续失败的情况。之前的版本用户只能点击“继续”以重新同步,新版本增加了“忽略错误进入下一步”的功能。

用户在目标库手工同步相关的对象和数据后,可以点击“进入下一步”按钮,让DBMotion可以跳过错误继续执行,进入下一个步骤。

6、同步不一致数据到目标库

继上一个版本新增的提供比对源端和目标端某个表“查看不一致”功能以外,本版本对找到的不一致数据提供“同步”功能。进入查看不一致页面后,选择不一致行,点击“同步不一致数据到目标库”。

DBMotion就会将选中的行从源库中查询出来,并同步到目标库中,然后自动重新对比该表的不一致行,确保同步完成以后的数据是一致的。

7、其他优化和更新

  • 任务内提供操作按钮:本版本提供了在任务内启动/停止、暂停/继续以及删除任务的按钮。用户在查看任务详情时,不用再回到任务列表中去暂停或者继续任务。

  • 修复#1505 增量同步多行DML语句导致的数据不一致问题。
  • 修复#1473 create table as同步时报错的问题。
  • 修复#1499 同步其他数据库DDL时未能忽略的问题。
  • 对象校验时,自动把utf8转换成utf8mb3, 修复8.0.x移除了uf8编码后导致校验失败的问题。
这些功能的更新,想先人一步使用吗?

赶紧上Squids体验吧,

丝滑的DBMotion在线等你!

SaaS产品,永久免费使用,地址:

https://squids.cn/product/dbmotion

有关场景扩展,体验升级 | DBMotion新增无公网数据库迁移、支持监控报警等多项功能的更多相关文章

  1. ruby-on-rails - Ruby on Rails 迁移,将表更改为 MyISAM - 2

    如何正确创建Rails迁移,以便将表更改为MySQL中的MyISAM?目前是InnoDB。运行原始执行语句会更改表,但它不会更新db/schema.rb,因此当在测试环境中重新创建表时,它会返回到InnoDB并且我的全文搜索失败。我如何着手更改/添加迁移,以便将现有表修改为MyISAM并更新schema.rb,以便我的数据库和相应的测试数据库得到相应更新? 最佳答案 我没有找到执行此操作的好方法。您可以像有人建议的那样更改您的schema.rb,然后运行:rakedb:schema:load,但是,这将覆盖您的数据。我的做法是(假设

  2. ruby - 通过 rvm 升级 ruby​​gems 的问题 - 2

    尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub

  3. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  4. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  5. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  6. ruby-on-rails - Cucumber 是否只是 rspec 的包装器以帮助将测试组织成功能? - 2

    只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您

  7. ruby - 在不使用 RVM 的情况下在 Mac 上卸载和升级 Ruby - 2

    我最近决定从我的系统中卸载RVM。在thispage提出的一些论点说服我:实际上,我的决定是,我根本不想担心Ruby的多个版本。我只想使用1.9.2-p290版本而不用担心其他任何事情。但是,当我在我的Mac上运行ruby--version时,它告诉我我的版本是1.8.7。我四处寻找如何简单地从我的Mac上卸载这个Ruby,但奇怪的是我没有找到任何东西。似乎唯一想卸载Ruby的人运行linux,而使用Mac的每个人都推荐RVM。如何从我的Mac上卸载Ruby1.8.7?我想升级到1.9.2-p290版本,并且我希望我的系统上只有一个版本。 最佳答案

  8. Observability:从零开始创建 Java 微服务并监控它 (二) - 2

    这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/

  9. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

  10. ruby - 我正在学习编程并选择了 Ruby。我应该升级到 Ruby 1.9 吗? - 2

    我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or

随机推荐