“去 O”,是近些年来一直很火的一个话题,随之也产生了各种疑惑,包括现有数据库评估、技术选型等。去 O 是项系统工程,需要做好充分的评估。本文通过自研工具,生成数据库画像,为去 O 评估提供一手数据,希望给大家带来借鉴。
一、常见疑惑
很多公司在考虑去 O 的时候,经常面临这样的问题—“对自己的数据库不够了解”,也不免有这样一些疑惑:
[管理者]
数据库去 O 成本高嘛?
工作量大不大?
工期长吗?
是否存在什么风险?
[架构师]
使用 MySQL 能承载现有业务规模嘛?
是否有什么技术风险?
是否需要引入分库分表嘛?
是否需要引入缓存嘛?
研发复杂度高嘛?
需要投入多大工期?
数据访问特征如何?
迁移前后对比数据量大吗?
[开发者]
复杂 SQL 多嘛?
改造量是不是很大?
是不是使用 Oracle 方言、专有对象,需要改造?
等等
面对上面这些问题,就需要快速了解现有 Oracle 的对象、语句、访问特征、性能表现等,并据此评估技术方案、迁移方案以及后续的工作量等。也就是说,需要给我们的数据库进行“画像”。基于上面的数据库画像,对去 O 工作全周期进行指导,包括以下方面都将大有裨益:
决策阶段:整体难度、成本(人财时)、技术风险
架构阶段:技术方案、对象结构、性能评估
研发阶段:兼容性、复杂度、测试
迁移阶段:结构迁移、数据迁移、数据校验
正是基于此类需求,有些公司推出评估产品,例如阿里的数据库和应用迁移服务(简称 ADAM),但此类产品往往需要部署 agent,上传分析包等,对于安全比较敏感的企业不太可行。我所在的公司在两年前启动去 O 工作时,也面临此问题。故特意开发个绿版小程序,可在本地运行,方便评估工作。
地址:https://github.com/bjbean/oracle-estimate-report
二、设计思路
收集并汇总 Oracle 数据库信息,包含环境、空间、对象、访问特征、资源开销及 SQL 语句等六方面信息,全面覆盖数据库实际运行状况。为信息收集更有针对性,工具通过参数设置部分阈值。通过运行命令行,收集信息后生产 WEB 版评估报告,以可视化的方式直观体现出来。不仅可作为去 O 评估依据,亦可作为后续改造的数据参考。
本文转载自宜信技术学院。
原文 l 链接:http://college.creditease.cn/detail/277
评论