开发人员应该研究DBA知识的哪些领域?[关闭]


11

我必须承认这个问题很广泛,所以我将尝试缩小范围。在我们公司中,我们是3-4位开发人员,并且在客户的站点上运行着一些基于SQL Server的安装(数据库大小最大为100GB,最多100个并发用户,Intranet应用程序)。我们当中没有人在运行/维护/管理(任何数据库)方面拥有真正的良好经验。客户甚至没有那么多。到现在为止还可以,但是我不能确定是因为我们做的一切正确,还是因为我们没有擅长的领域/情况。

因此,我正在从DBA的角度寻找运行数据库时需要了解的基本知识。您知道困难的事实,并且知道日常工作中最重要的是什么。

我应该在哪些主题中收集更深的知识,应该听说什么,并且在我第一次面对之前不关心什么?

我知道软件工程师和DBA的问题,但这并不是我想要的。周围也有很多书,但是我想从有实际经验的人那里听到。


Answers:


5

我倾向于同意@Catcall,数据库恢复应该是最重要的。在DBA团队之外,备份和恢复选项的含义通常最难理解,并且最有可能导致灾难。

  • 确保已为所有数据库和系统定义(并由技术和非技术管理人员同意)RPO(恢复点目标)RTO(恢复时间目标)
  • 在非技术人员可以遵循的范围内,记录备份和恢复程序。
  • 确保所有文档都以印刷版和电子版的形式保存在现场和现场。如果建筑物着火了,存储在本地网络上的灾难恢复运行手册将不会有太大用处。
  • 经常测试恢复过程的各个方面。备份是无关紧要的,它可以恢复。

接下来,从数据库不可知论的角度,了解构建数据库服务器要做什么。为您的交易和数据提供原子性,一致性,隔离性和持久性。通常容易被误解,常常是导致性能问题的原因,也是造成数据不一致的主要原因。

对于您选择的平台,请深入了解如何实现ACID合规性。查找主题,例如事务日志的功能,预写日志的内容,隔离级别存储内部结构。理解数据库内部的关键方面使DBA的其他方面,例如性能调整和资源管理更加容易掌握。


5

我每天都要处理两件事。

  1. 灾难恢复。

  2. 性能调优。(对于单个查询和dbms本身)。

您的灾难恢复计划需要

  • 脚本化
  • 经过测试
  • 练习。

我使用脚本的含义是演员会遵循的东西,而不是用Python编写的东西。它应该告诉每个需要参与的人确切该怎么做。(通常,确切地说也是。)

查询的性能调整包括了解键,索引和规范化。(通常,“调整”问题实际上是结构性问题。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.