随着数据库选型工作结束,四川银行的新一代系统的开发也已经正式启动,杨云文也将更多的工作精力投入到 OceanBase 数据库的维护以及指导开发人员使用数据库上。
四川银行成立前的攀枝花市商业银行和凉山州商业银行规模都不大,采用的数据库以 Oracle、DB 2、Informix 为主,都是集中式数据库,这是首次在一个如此重要的系统中采用分布式数据库。和集中式数据库相比,分布式数据库有很多独有的特性,比如分片、副本等,无论对负责数据库运维的 DBA 还是对开发人员都是一个挑战。
分布式数据库是未来潮流,作为 DBA 必须要跟上这股潮流,因此 DBA 也要不断学习,同时,各种组织也要加强相关培训。
杨文云认为「学习」应该是 DBA 的基本素质。作为 DBA,一定不要满足于数据库的安装、备份等这些基础的工作,因为数据库是和系统底层代码结合紧密的底座系统,DBA 还要精通操作系统、懂硬件、熟悉网络、IDC 架构,一个好的 DBA 一定是一个复合型的人才。
杨文云还特别提醒 DBA,一定要了解业务、深入业务。
“DBA 可以细分为不同类型,有偏应用的 DBA、有偏系统维护的 DBA,还有系统级的 DBA。但是我觉得一个 DBA 要想走得长远,需要参与到开发体系里面去了解业务、了解应用的开发。这一点对于现在的 DBA 尤其重要。”杨文云说。
杨文云解释,Oracle 数据库经过数十年的发展功能非常完善,提供了很多非传统数据库的功能,也减轻了开发人员的工作。然而,新兴的数据库出现历史都不太长,功能还没有办法做得像 Oracle 数据库一样,很多 Oracle 数据库的功能需要开发人员在业务代码里实现。
杨文云说,他就经常听到开发人员问“以前用 Oracle 就行,为什么现在不行了?” 实际上是因为多年来开发人员也都习惯了面向 Oracle 数据库开发,现在离开了 Oracle 数据库才发现很多事情并非理所当然。在这个过程中,有 DBA 的帮助解决起来就更容易一些。
好在现在的国产数据库在兼容 Oracle 语法上都做得很好,比如 OceanBase 基本做得了近乎完全兼容,从而降低了开发人员适应的难度。不过,对于 DBA 而言,有责任帮助开发人员建立新的开发规范,让他们快速适应新的数据库。不仅如此,DBA 还有责任帮助开发人员更好地发挥出国产分布式数据库的优势。而这一切都建立在 DBA 能真正理解数据库的底层原理,建立在 DBA 拥有全面扎实的 IT 基本功之上。
显然,这并不容易,也正因为不容易才稀缺,才能让自己的职业生涯走得更稳、更长远。