当前位置:  开发笔记 > 后端 > 正文

开发人员应该在多大程度上了解有关数据库系统的细节?

如何解决《开发人员应该在多大程度上了解有关数据库系统的细节?》经验,为你挑选了1个好方法。

如今的现代数据库系统具有许多功能.你同意我的意见,要学习一个数据库,你必须忘记在另一个数据库中学到的概念.例如,每个数据库都会实现与其他数据库不同的锁定.因此,将一个数据库的概念带到另一个数据库将是一个失败的方法.还有其他一些例子,两个数据库的表现非常不同.

因此,在开发数据库驱动的系统时,程序员是否需要详细了解数据库,以便他们对性能进行编码?我不认为让DBA稍后要求性能是合适的,因为他的工作是只维护数据库并在紧急情况下帮助开发人员,但不是定期.

您认为开发人员需要深入了解数据库的程度如何?



1> jsight..:

我认为这些是最重要的事情(从最重要到最不重要的IMO):

SQL(显然) - 它有助于知道如何至少执行基本查询,聚合(sum()等)和内部联接

规范化 - 数据库设计技能是一项主要要求

锁定模型/ MVCC - 至少可以基本掌握数据库如何管理行锁定(或使用MVCC通过乐观锁定实现类似目标)

ACID合规性,Txns - 请知道这些是如何工作和互动的

索引 - 虽然我认为您不需要成为表空间专家,将数据放在单独的驱动器上以获得最佳性能,以及其他细节,但它确实有助于高度了解索引扫描如何工作与表扫描.它还有助于能够阅读查询计划并理解为什么它可能选择一个而不是另一个.

基本工具 - 您可能会发现自己希望在某些时候将生产数据复制到测试环境,因此了解如何恢复/备份数据库的基础知识非常重要.

幸运的是,今天有一些很棒的FOSS和免费商业数据库,可以用来学习db基础知识.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有