安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

按图索骥,再谈数据库迁移之路

3月11日 凉夕夏投稿
  本文转载自韩锋频道作者:韩锋
  数据库迁移,是个老生常谈的问题,之前也曾写过一篇文章。近期,针对这一课题,自己有了些新的思考,下面将具体展开谈谈。在这之前,我先谈谈数据库迁移的现实需求。这也算是目前行业发展的一个小总结。
  1。背景:迁移之源,多变之秋
  人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。
  数据规模大幅增加
  近些年来,信息数据呈快速增长态势。如下图所示,全球数据量总和,预计将从2018年的33ZB增至2025年的175ZB。国内数据体量在未来7年将实现复合增速30以上的快速增长,并在2025年成为与欧洲、中东、非洲、亚太和美国等地区相比体量最大的区域。数据的爆发式增长,导致对数据存储容量、数据计算需求有个更好的要求,这也催生企业在基础设施层面不断革新,进而不断推动数据库向前进一步发展。
  从数据库市场来看,也验证了这一趋势。整体市场呈现稳定的发展趋势,最近的数据表明,国内的数据库市场已经达到200亿规模。
  开源方案,大行其道
  开源数据库,其源代码具备全球共享、免费等特点,开发者可在其源码中修改或使用。在近一、二十年来,越来越多的企业将开源方案作为构建底层支持的可选答案。特别是随着互联网的兴起,大量互联网企业选择使用了开源数据库产品,也加速这些产品的成熟与发展。这其中MySQL、PostgreSQL、MongoDB和Redis是当前开源数据库最为重要的参与者。
  数据上云,大势所趋
  从2017至2018年,整个数据库市场增长了18。4,其中云数据库增长贡献68。以AWS、Microsoft、Alibaba为代表的云厂商,取得了快速发展,极大地重塑了全球供应商格局。国内互联网科技巨头,纷纷布局数据库产业,借力云计算实现数据库等基础软件领域的迭代与超越。如下图的数据库规模排名,云数据库厂商均取得不俗的增长,最新数据则更是如此。甚至有机构预测,今明两年从数据库部署形态上看,云部署数据库会超过传统部署方式。
  国产化趋势明显
  正如下图所示,国内数据库市场仍然为欧美垄断,但国产化趋势已非常明显。以国产自研或开源定制路线的厂商层出不求,从最新的调查结果来看,已经有130的国产数据库厂商初选。
  从一叶扁舟到百舸争流,传统国产数据库历经长时间艰难探索,已逐步崭露头角。国外大厂长期垄断国内数据库市场。Oracle、IBM和Microsoft等老牌厂商凭借先发优势在市场份额中占据了有利地位。国产数据库起步较晚,但潜力巨大。正如下图可见,国产数据库占比正不断增加。
  总结:多种变化,驱动迁移
  综上所述,从数据规模体量的增大,到开源商业的变化,再到云化趋势明显、国产化趋势加剧;而这些变化都带来同一个诉求,那就是数据库迁移。展开来说,是如何完成异构数据库迁移?完成体系架构完全不同的数据库之间的迁移(例如从单机到分布式)?完成从线下到云上的迁移?完成在线的、不终端业务的迁移?等等。诸多上述问题,对迁移提出了非常高的要求。本文下面尝试从迁移的多个阶段来阐述,需要哪些能力才能完成这一过程。
  2。数据库迁移之路
  人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。
  在实际的迁移中,是一个比较复杂的过程,可根据阶段做个拆解。
  1)。迁移评估阶段
  此阶段是完成迁移前的评估,为后续迁移改造、迁移过程做好铺垫工作
  数据库画像
  数据库画像结果,可为后续选型评估、架构规划提供依据。
  系统级
  收集系统级信息,包括但不限于硬件(CPU、MEM、NET、DISK)、操作系统(内核、参数、安全策略等)、性能(系统高峰期24小时负载)等
  实例级
  收集实例级信息,包括但不限于架构(单机集群、版本等)、参数(数据库参数等)、数据规模(表、索引等空间使用)、运行态信息(如QPS、TPS、会话、事务等)
  对象级
  收集对象级信息,包括但不限于结构信息(表、分区、分片、索引、视图、序列等)、统计信息、访问特征(读写比、频率等)、预警类(如大表、复杂结构、DBLink等)
  语句级
  收集语句级信息,包括但不限于SQL文本(全量)、执行特征(次数、响应时间等)、执行计划。
  应用级
  收集复杂应用信息,包括但不限于计算文本(如存储过程、触发器、函数等)、执行特征(次数、响应时间等)
  应用画像
  应用画像结果,为后面应用改造做好铺垫。
  应用拓扑
  收集应用架构、应用与DB关系、应用访问特征等。
  风险评估
  针对上面收集的数据库、应用画像信息,针对重点风险点做出评估。
  数据库架构
  源库使用集群、分库分表等架构,做出提示。数据库结构
  源库使用复杂结构(如分区表)、不支持结构(LOB、可更新视图等),做出提示。数据库语句
  源库使用复杂SQL(如多表关联)、特殊语法或方言等给出提示。数据库应用逻辑
  源库大量使用存储过程、触发器、函数等。应用架构
  应用使用何种访问方式(如java、c、go等),对于某些旧有的方式予以提示。性能维度
  源库存在明显的性能访问高峰,明显的热点对象。规模维度
  源端数据库总体或单体对象规模较大的情况。
  选型建议
  根据上面收集信息及风险评估内容,给出选型的建议。这里存在几个难点,一个是多目标数据库的基础能力抽象,一个是两者的适配评估。功能上包括两部分:
  目标端建模
  目标端在架构、结构、应用、性能指标等方面的基础抽象。
  评估适配建议
  根据源端和目标端情况,结合风险及性能要求给出适配选型建议。
  2)。迁移改造阶段
  对象改造
  这一阶段主要是通过结构映射及不兼容提示,来减少改造工作量。
  映射规范
  适配多目标端给出结构映射规范。
  结构改造
  基于给定输入,输出改造后结构。可能存在非一一对应的情况,可根据源与目标的差异,异构改造。
  不兼容提示
  对于不兼容的情况,给出文字提示,人工介入。
  语句改造
  这一阶段主要通过语句改写,减少改造工作量;同时提供增强功能,满足语句改造后的测试等需求。
  SQL改造
  基于给定输入,给出改造后的语法。
  不兼容提示
  对于不兼容的情况,给出文字提示,人工介入。
  增强执行计划对比
  可对比两边执行计划,方便研发优化语句写法。
  增强性能对比
  可对比两边执行效率,方便研发优化。此处需保证同等测试环境。
  增强SQL自主优化
  提供优化改写能力,而非基于简单规则。此处需注意,语义等价性问题。
  应用改造
  此处应用是指数据内置的计算能力(如存储过程等)。这一阶段主要是通过逻辑改写,减少人工工作量。在实现上,一般建议使用外部程序逻辑(如java)进行处理,而不是改造为目标端内部计算应用。原因是尽量减少数据库耦合。此处,存在较多难点,且需要人工检查改造后的语义是否正确。
  应用改造
  基于给定输入,给出改造后的实现(推荐java)。
  不兼容提示
  对于不兼容的情况,给出文字提示,人工介入。
  应用校验
  对比两侧的实现,验证处理逻辑是否一致。
  3)。迁移数据阶段
  全量增量数据迁移
  完成异构数据库间的数据迁移工作。主要难点是效率、准确性。
  全量迁移增量数据迁移
  基于指定时间戳后的增量迁移能力
  增强分拆、合并能力
  支持一拆多,多合一迁移能力。
  增强迁移计算能力
  支持在迁移实时计算能力(如lookup)。
  增强通用异构适配能力
  统一迁移能力,不依赖某种库。
  增强提供可配置UI
  提供可配置同步界面,简化操作。
  增强数据转换能力
  提供字符集、时区等转换能力。
  数据对比
  见后面说明
  4)。在线运行阶段
  数据同步
  在线运行时,需提供数据库端的异构同步能力,满足业务随时回迁的需求。
  实时同步
  提供异构数据库间数据实时同步能力,难点在于大吞吐、实时性。
  增强细粒度同步
  支持库、用户、表同步能力。
  增强同步计算能力
  支持在同步的实时计算能力(如lookup),难点在于效率。
  数据对比
  数据对比,是用户对比双线运行的基本要求,需要满足实时对比并兼顾效率。
  异构对比
  提供异构数据源之间全量、增量数据对比能力。
  增强细粒度对比
  支持库、用户、表、记录级别对比能力。
  增强数据补差
  提供差异数据的双向补齐能力。
  数据路由
  数据路由,为业务提供统一数据库访问入口,并基于此提供双路控制能力,可做到按流量、按读写、按访问类别(生产、测试)等做数据访问路由。
  基础运维
  此部分的能力比较多,本质就是同时提供异构数据库在线同步运维能力。例如包括统一变更、统一导入导出、统一授权、统一审计等。尽量从运维侧角度来看,后面是一套逻辑库。
投诉 评论 转载

考拉喂孩子吃粪便?自然界会对自己的孩子做出伤害行为的5种动物一直以来,人们都相信,母爱是非常伟大的,并且任何动物母亲都会拼了命地保护自己的孩子。然而,在自然界中,动物们为了能够确保自己的种族能够尽可能地存活下去,它们可能会牺牲其中的一些……动画片都可以放心给娃看流言:家有萌娃的家长们对于动画片肯定都不陌生,国外有迪士尼的爱莎公主letitgo,国内的熊大熊二从电视剧一路进阶到大电影;小猪佩奇让孩子们沉迷于蹦泥坑动画片一直给人童真……Dota2小象队还是问题太多,离强队还缺什么之前刚以2:0打赢了IG,还以为队伍有点改变,有点起色。但没想到才过了一天,又变回老样子了。还是在被翻的路上。队伍出装不够团队,战略不够沉稳,沉不住气。也可能是前期的优势,给了……这四大杀手正毁掉孩子视力,不是电脑也不是手机,八成父母大意了文贝贝豆育儿课堂(原创文章,欢迎转载分享)俗话说:眼睛是心灵的窗户。拥有一双明亮的大眼睛几乎是所有父母对孩子的共同期盼,但不知道从什么时候开始,孩子们那双明亮的大眼……身体掏空的根源是大脑疲惫和缺营养随着互联网和智能手机的应用,人们的工作和生活的界限也越来越模糊。更有为了攫取高额利润让员工的工作模式是996,如果再加上从住处到单位的是上下班时间,人甚至做饭买菜的时间都没有。……8月,吃龙眼的人要当心,我也是刚了解到的,看完记得告诉家里人导语:8月,吃龙眼的人要当心,我也是刚了解到的,看完记得告诉家里人。圆若珠,赤若金丸,肉似玻璃,核如黑漆。这是古代的人对一种水果的描述,我想很多朋友应该都猜到了就是龙眼。……孩子拿了别人的东西怎么办?是偷窃吗?(天爽故事汇连载45)一个焦虑万分的年轻妈妈给我发来微信,希望解决孩子拿别人东西的问题。辅导解决这件事就成了我们今天的故事:孩子拿了别人的东西就是偷窃吗?怎么办?是啊,孩子拿了别人的东西,这事……从年级倒数到被多所名校招收,学渣逆袭之路你也可以复制文何夜无梦主播晴天编辑山月后院、简单就好最近一段时间,中考5:5分流的消息,让家长们的心又一次揪了起来:好不容易上了初中,高中再给分下来可咋办?然而闺蜜海洋和……现代父母正在踏入鸡娃界,想改善局面,需要改变的不止是父母很好奇现在的教育也不知道怎么了,说起来是素质教育,可是到了中考高考放榜的时候,录取的标准还是分数。最近看到比较多的一个词叫鸡娃,顾名思义,指的是被父母打了鸡血的孩子。孩子……这4种迹象表明,宝宝在长高,保持好作息,有望突破1米8导语:生活条件的不断提高,使得孩子在各方面的环境都得到了改善,在一个好的环境下成长,可以让孩子对宝宝的身高大对于宝宝的身高大家都知道,要取决于两个方面,一方面是先天父母的遗传基……按图索骥,再谈数据库迁移之路本文转载自韩锋频道作者:韩锋数据库迁移,是个老生常谈的问题,之前也曾写过一篇文章。近期,针对这一课题,自己有了些新的思考,下面将具体展开谈谈。在这之前,我先谈谈数据库迁移……跟小孩子们在一起做游戏跟小孩子们互动我在跳狮子给小朋友们看。今天我们上班以后,老师要求我们跟小朋友进行一个互动,就是叫我跳狮子给小朋友们看,他就是有一个狮子模型的那个头套,当然了那个是用……
静静的抄书来陪伴,可以抚慰孩子能安心写作业好棉自然好眠,全棉时代助力3。21睡眠日给儿子的话儿童艺术班的选择你不能学坏,但你可以不乖校园欺凌?滚开!离我女儿远一点娃上幼儿园后,啥工作适合全职妈妈?过来人宝妈推荐4类工作心理解析夸奖后孩子的成绩为不升反降?真的是孩子不经夸吗?宝宝晚上不睡觉,是因为白天睡多了吗?4个睡眠误区需知道广西麻垌荔枝云上销售红动盛夏如果我能活100岁,除掉13的睡觉时间,剩下23的时间在哪里杭州公安通报杭州保姆纵火案受害人林生斌,不是杀人凶手职场怎样处理好人际关系我的日本之旅初中英语作文外出旅游修车的应急小诀窍降糖药服用时间有讲究,你吃对了吗?简单电动吊篮租赁合同湖南建投集团与国开行湖南省分行签署战略合作协议推动金融与实体《合理安排时间》教学反思谪仙人穿越历史不好玩,哲仁王后结局硬邦邦,爱上王的男厨师空欢喜北京375路公交车灵异事件是真的吗,北京375路杀人案真相揭感受大海遇龙流萤和龙炎结局在一起了吗

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利