首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >软件工程师和DBA

软件工程师和DBA
EN

Database Administration用户
提问于 2011-02-03 06:57:07
回答 3查看 2K关注 0票数 7

数据库管理员和软件工程师之间的主要区别是什么?软件工程师应该在多大程度上了解底层数据库的细节?这两种职业的界限在哪里?

EN

回答 3

Database Administration用户

回答已采纳

发布于 2011-02-03 19:20:09

数学。我很想把它留在那里,但我知道,没有任何解释,我会被激怒的,就这样吧。

根据我的经验,DBA的数学与工程师的数学不同。

DBA数学涉及到部署对能力的影响。例如,作为DBA,我们根据表在磁盘上每百万行所消耗的空间、对其运行的最优查询、索引策略等来检查表的部署。

工程师数学将是基于大O符号的。一位工程师将研究算法以及如何优化算法。下游影响(容量规划)是应用效率的次要问题。然而,如果预先要求容量,那么它将得到适当的审查。

我们中的一些人同时扮演着两种角色,因此我们已经开辟了一个利基,成为一个公司应用程序dba开发人员。

顺便说一句,请给我一点盐,因为这只是我的意见。

票数 9
EN

Database Administration用户

发布于 2011-02-03 12:54:40

这完全取决于一个组织的工作分解,以及每个人负责的是什么。但它们只是标签,一家公司的“软件工程师”可能是另一家公司的“程序员/分析师”,甚至是“系统程序员”等等。

在我工作的地方,“软件工程师”往往是负责设计和实际实现的人,我们没有人称其为“DBA”;维护类型的任务通常是DBA,根据“软件工程师”给他们的指导,DBA会回到一般的“系统管理员”手中。

在我个人认为最好的情况下,您可以将设计分解为多个部分:

  • 数据建模
  • 对数据存储的要求(记录结构、表的大小、每秒插入/删除/更新的数量、进程完成的速度等)
  • 灾后恢复/操作连续性的需求(需要在(x)小时内备份,每个(月)不能超过(y)小时的维护窗口)
  • 存储的实现(数据库软件的选择、物理存储的选择、表在存储中的分布方式等)
  • 后备计划的实施

然后是维护类型任务:

  • 调优数据库
  • 调优查询
  • 当事情出错时进行调试
  • 监督和验证备份
  • 应用软件更新

对于大多数情况下,它们不必由DBA来完成;它可以由软件工程师完成,在某些维护任务中,也可以由系统管理员完成。

如果您有两种角色的人员,您可能会让他们在设计和调优方面进行协商和协作(他们在建筑“设计-构建”中称之为“构建”),或者如果这是一项匆忙的工作,您可能会在两者之间分配不同的任务。您可能还会有其他人参与:“软件架构师”、“数据架构师”、档案管理员、各种程序员、系统管理员、网络管理员、安全性等等。

票数 10
EN

Database Administration用户

发布于 2011-02-03 13:23:15

“软件工程师”或"DBA“是标题。而不是问:我将是谁"SE“或"DBA"?只是问:”我应该学习C#或java,甲骨文或sql server来达到我的目标“。你看过“我们只需要DBA”吗?否:) (除了一些奇怪的HR案例)。你可以看到:“我们想要XX,谁知道这些技术,谁有赎罪。”

票数 4
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/1040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档