程序员如何在数据库中避坑的?

对于许多程序员而言,基本上不需要决定公司选择哪种数据库。当程序员加入公司时,公司早已经确认了的大多数技术选择,尤其是数据库选择,因为一旦选择了数据库,以后迁移的成本仍然很高,因此要求程序员在使用现有数据库时,具有一定的避坑能力。那么程序员如何在数据库中避坑的?下文总结了5点,帮助大家更好的应用数据库。

程序员如何在数据库中避坑的?_业界动态_电子商务

 程序员如何在数据库中避坑的?

再好的数据库,如果使用姿势不对也是枉然,更何况很多程序员并不怎么懂数据库。在数据库使用中,我们常会碰到很多问题。

 人为失误

人为失误一般分两类,一种是DBA操作失误,一种是程序员开人员程序里使用不当。DBA一般我们认为是数据库管理的专家了,出错的概率比较小,但是一旦出错,危险是做大的。比如我们经常调侃的“删库跑路”,虽然是依据调侃,但是我是真真的见到过两次,生产环境出现一次,就会在你的工作生涯上记上“光辉”一笔,所以说DBA算是一个高危工作了吧。另一种是开发人员使用不当。常见的比如在使用大表时候,不考虑是否有索引,进行了全表扫描,导致整个数据库被拖垮。

 数据库的访问瓶颈

只要是数据库,就会有并发量的限制。以前使用MySQL,我们经常看到互联网公司并发上万的压测。但是对于很多新型的MPP数据库,他们的并发并不是你想的那样,MPP一般由集群CPU物理核数有关。比如以前开发程序查询的MySQL,迁移到GP,那么你的数据库连接池要改一改了。特别是对于一些面向互联网的网站,数据库管理层也要做访问策略,不然,一个外挂可能就会把你的库搞死。

 索引

我们都知道索引在传统的关系型数据库中使用的很多,效果也很明显。但是你要知道索引是拿存储换时间的操作。曾遇到过开发人员动不动就让建索引,搞的好像不要钱一样。还有像Vertica这个数据库就比较友好了,不需要建立索引,只需要在建表时候预排序分布即可提高查询效率,同时列存储的数据还是压缩的,降低了存储,还提高了查询效率。

 HA(高可用)

数据库作为存储查询引擎的同时,支撑着大型网站的后台服务,一定要考虑高可用。对于一些天然不支持高可用或者高可用不友好的选型一定要小心。再来安利一下Vertica,无Master MPP架构,集群中只要不超过一半机器宕机,集群就处于可用状态。

 标准SQL

SQL就是针对数据库查询产生的语言。随着新型数据库的出现,很多数据库不支持标准SQL或者支持很弱。比如HBase。这对于很多以前的开发人员还是有一定学习门槛的,还有就是后期如果出现业务迁移还是很困难的。

Oracle支持标准SQL,但是存储过程并不是每个数据库都有的,这也是阿里为何禁用存储过程的吧,你无法想象一个上万行存储过程的迁移要耗费多少资源。对标准SQL的支持,降低了开发人员的使用门槛,也降低了以后业务迁移的风险。

以上就是关于程序员如何在数据库中避坑的全部内容介绍,想了解更多关于数据库的信息,请继续关注。

1
76
0
84

相关资讯

  1. 1、《狂怒》但愿人间没纷争,但愿和平是永恒!4028
  2. 2、钟丽缇以告白形式力挺张伦硕,心态平和奉劝网友的话语超暖心407
  3. 3、黄衫女唯独对张无忌那么温柔,不是她多情,你看看她父亲是谁946
  4. 4、周星驰曾多次申请移民加拿大,却因一个原因多次被拒!2244
  5. 5、郭帆突然宣布,《流浪地球2》启动,上映时间也定了|红星看金鸡④1886
  6. 6、《山河令》:鬼谷女团,各有所怨3796
  7. 7、导演韩延:活着不易,所以需要“小红花”鼓励3568
  8. 8、姜文邪不压正破1亿,观众:喜欢里面的黑色幽默3252
  9. 9、黎一萱加盟《黎明之眼》与郑佩佩飚戏感触深4942
  10. 10、出身于TVB却在亚视成名26年后重返无线成为力捧小生4171
全部评论(0)
我也有话说
0
收藏
点赞
顶部