企业从传统数据库迁移到国产或开源数据库的最佳实践.docx
《企业从传统数据库迁移到国产或开源数据库的最佳实践.docx》由会员分享,可在线阅读,更多相关《企业从传统数据库迁移到国产或开源数据库的最佳实践.docx(9页珍藏版)》请在第一文库网上搜索。
1、企业从传统数据库迁移到国产或开源数据库的最佳实践随着近些年来数据库的变化,正有越来越多的企业面临将传统数据库迁移到开源或新型商业产品上。在这一过程中,会面临诸多问题。这里就将常见的一些问题整理出来,希望能够在数据库选型及评估数据库迁移风险等方面有所帮助。为了描述清晰,我将整个迁移过程划分为几个阶段,其中橙色标识工作为数据库团队来支持。下面将就每个阶段,详细展开说明。1) .迁移规划在进行迁移之初,首先要对迁移工作做个整体规划,制定好对应的原则方针。例如明确迁移范围、迁移方式、是否可停机、窗口期等等。这些信息是作为后续迁移的指导性原则,迁移方案的制定很多需依靠这一规划。要避免出现快要迁移,发现预
2、期不符合要求的情况,在提前做好必要的规划。此外,除技术因素外,其他如组织、管理、资源等,也在这一阶段一并考虑。迁移是个很复杂的过程,涉及的方方面面很多,尽量在项目之初就有个全面的掌握。2) .业务梳理要完成数据库迁移,上层的业务系统也是需要考虑的,甚至在某种程度讲,配套的应用迁移更加重要,在后续的迁移过程中占比也更高、难度也更大。因此,在迁移准备阶段,就对涉及的业务有个全面的梳理非常有必要。这里需要梳理的信息,非常宽泛。包括但不限于对业务系统涉及的软硬件环境、与数据库交互、业务系统间调用关系等。后续在做应用系统改造规划中,上述信息非常重要,其有助于评估工作难点、工作量等。这里举个例子,某系统之
3、前使用Orac1e,开发采用C语言,在迁移到某国产库时发现,数据库不支持Cdriver,好不尴尬。3) .方案选型在做好业务梳理后,就是数据库选型。这一过程也是迁移准备阶段比较耗时的一个工作。如何从众多的数据库产品中选择一款符合自己要求的,要考虑的因素很多。比较推荐的做法,是在公司内部之前就制定出推荐的方案矩阵,根据对数据库能力要求、系统重要程度等,制定一个产品选型矩阵。如果前期有这个基础,就比较简单,只要按图索骥即可。如果没有的话,需要从头完成一系列的工作,包括初始调研、技术评估、数据库评测(功能、非功能、业务等)、适配性评估等。这里强调一个原则就是尽量在方案选型中保持最大的自由度,即不绑定
4、单一厂商,随时保持可替换能力。因此在方案选型中,不能本着业务少改造、迁移最简单、成本最低的方案,而是应选择长期可替代的原则。推荐的做法是选择兼容通用协议的产品,尽量弱化数据库端能力,选择使用标准数据库功能的产品最好。4),技术培训在方案选择完毕后,需进行技术培训。这里说的培训,包含对研发、运维等多方面。对研发人员的培训,着重阐述此数据库在架构设计、结构优化、SQ1语句等方面与原有数据库的差异。如选择通用性产品,则此处的工作较少,也就是方便进行其他库间的迁移。这里面有个原则就是不迁就研发,该做的必要修改还是要修改。例如,在很多去。工作中,为了尽量减少迁移工作,很多项目选择兼容Orae1e语法、甚
5、至存储过程的产品。此类产品确实减少了迁移工作量,但从长远角度来看并不是一个很好的选择。对运维的培训,则侧重如何将这种新的数据库融入到现有的运维体系中。特别是当前很多分布式架构数据库,与传统集中式数据库不同,其对于运维带来的挑战也更大。2.阶段:迁移评估1),资源评估做好准备工作后,开始启动之前,根据之前梳理的业务情况、所做的数据库选型等信息,开始做必要的评估工作。这里的评估主要是为了后续迁移改造做好准备。首当其冲的就是资源评估,即完成上述迁移所需资源。这里有个隐藏的工作,就是相关的技术方案需要制定出来,包括数据库及应用端的。毕竟数据库能力不是一对一对等的,因此架构上会有很多调整甚至是重构。但这
6、里所做的评估,相对还是比较粗的,因为很难对资源消耗有个细粒度的描述,做后者的前提是有完整的评测数据为基础。为什么在这个阶段就要做此工作呢?主要是因为很多传统企业是采用预算制,需要提前很长周期做好后续的采购规划。因此将资源评估工作做了前置。2),应用评估在这个阶段要完成在数据库选型确定后,应用的评估工作。包括应用方案的调整(甚至重构)、应用的代码修改量、可能潜在的风险等等。这里主要是由应用架构师来完成上述评估。3),对象评估完成应用评估后,下面就是数据库评估的。其评估的第一项就是对象评估,即对数据结构的评估。数据库的能力层次不齐,原有的数据结构大概率都无法直接复用了,需要进行必要的调整甚至重新设
7、计。这里有个建议,就是尽量减少数据库端复杂对象的使用,尽量只考虑表及索引的设计,其余包括视图、序列、触发器、存储过程、函数、包等都通过外部的等价设计来完成。这点主要是出于减少对数据库的依赖所提出的,毕竟后面这个功能的实现差距非常大。当然,随之带来的外部等价实现的工作量也需要进行评估。此外,如果是分布式数据库方案,还需要考虑例如分片策略等。这里有个常见的通病,就是将原有设计原封不动地在新环境中落地,然后修改语法不兼容的部分就算是完成这一过程。其带来的后果,往往是上线后问题频出。4).SQ1评估对象评估之后,开始对SQ1语句的评估。较之前的经验,这部分也是较难评估的。比较推荐的做法是抓取源端的全量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业 传统 数据库 迁移 国产 最佳 实践