刚开始工作的时候,我认为程序员只要会用SQL会写程序就可以了,不用深入去了解数据库,认为数据库就该专门的DBA去解决。我也给新人说过,数据库会简单的操作会用SQL就行了,程序员不用太去关心数据库的结构、原理。当我在项目中承担的责任越来越多的时候,发现深入理解数据库是多么的重要,以前的那些想法多幼稚。
看看下面两点观点来自专家建议:
- 基于数据库或依赖于数据库构建的应用系统是否成功,这取决于如何使用数据库。现在的软件行业来看,所有的应用系统的构建都围绕着数据库展开。如果一个应用系统没有在任何地方持久化存储数据,很难想象这样的应用系统真的存在。
- 开发团队的核心肯定必须要有精通数据库的开发人员,以确保数据库逻辑是可靠的,系统能够顺利构建。如果已成事实——应用系统已经部署,然后才发现需要调优数据库,这只能说明在开发期间团队领导和开发者都没有认真考虑这些问题。
过去我把数据库当成一个黑盒子,好像不需要深入了解。他们有一个SQL,认为学会了SQL这个工具,就不用去学数据库其它的东西了。
仔细想想,如果自己站在更高,成为一个项目决策者。如果决策者无法预测应用系统在数据库使用上的潜在危险,将是一件高风险的事情啊。
我对自己说,像DBA一样精通数据库吧,这样才能拿到更高的工资!