对于很多程序员来说,公司选择什么样的数据库,基本不需要你来决定。当你加入一个公司的时候,公司的大部分技术选型已经确认,特别是数据库选型,因为数据库一旦选择,后期迁移的代价还是很大的。
随着大数据时代的来临,涌现出了很多新型数据库,在公司遇到数据性能瓶颈,喊去IOE口号或者是想尝鲜时,都会慢慢的使用新型数据库。但是无论是技术选型还是转型,你都不能忽略一个因素:你选的数据库技术你能驾驭吗?
我们知道,现在有很多开源数据库可以让我们选择,但是我们有相关的技术人员精通这些数据库吗?比如GreenPlum这款数据,有开源版本,也有商业公司在运作,我们看到官方宣传的案例很好,查询效率很高。在一些大数据量查询聚合也比Oracle快一点。但是作为生产数据库使用,随着数据量的增加,你会发现各种你之前没有了解到的问题,对于开发人员来说,比之前的Oracle难用多了。这时候你可能会寻求商业公司的帮助,r派来高级工程师对数据库进行巡检后,提出了很多优化方案、使用规范和管理策略,这些都是你之前不曾了解的。
很多人看到了BAT用的很好,自己就去尝试,并很快用于生产。你可以看看BAT有多少研究员,可能你的公司一个都没有。很多人会问,postgreSQL宣传的很好,我们替换掉MySQL吧。一个公司的数据库如果从来不出现问题,那一定是没有业务量,一旦业务量上来,就会遇到各种问题,这时候什么最重要?救火!所以在数据库出现问题时,公司是否有足够专业的工程师去解决问题是很重要的。所以,对很多想要去O的公司来说,你要想好如何选型新技术。看着开源的免费,贸然使用会付出更多代价。
技术更新很快,还是希望大家在测试开发时候使用新技术,逐步精通的过程中,缓慢过度生产,如果公司有预算,可以请商业公司进行指导半年到一年,自己人学到精髓后再开展独立运维。
数据库如何避坑再好的数据库,如果使用姿势不对也是枉然,更何况很多程序员并不怎么懂数据库。在数据库使用中,我们常会碰到很多问题。
人为失误