我希望获得 serverfault 社区对我的数据库管理职业的反馈。
我曾经主要使用 Linux 超过 14 年。我曾在一家小型 ISP 担任网络管理员,负责安装、配置和维护十几台服务器。我有几个用 C 和 Perl 编写的小型开源项目。我必须承认,我对 Linux 服务器的了解比 Windows 服务器更广泛。
在过去的 5 年里,我的职业生涯发生了一些变化:我曾是 SQL Server 上所谓的“临时 DBA”。我的工作要求我管理生产 SQL Server、进行大量 T-SQL 编码,并处理性能调优、故障排除和一般数据库维护问题。
我曾经是一名 IT 通才,现在我觉得自己需要专攻某方面。我刚刚决定从事 DBA 职业。五年的兼职 DBA 经历让我渴望成为一名专业的 DBA,并深入了解数据库系统。
我必须承认我非常喜欢 SQL Server,原因如下:
- 它是一个坚硬的产品。在这 5 年里,我从未遇到过严重问题。我的灾难恢复计划仅用于测试和培训。
- 官方文档无处不在,内容丰富。这里有很多书籍、文章、论坛和一个很棒的社区。
- 查询语言可编程性还不错。
我现在必须决定我应该专攻哪种产品。作为一名 Linux 爱好者,以专业 DBA 的身份进入 SQL Server 让我感觉我正在把过去的经验抛到九霄云外,因为我知道我必须“呼吸” SQL Server 和纯粹的 Microsoft 世界才能真正擅长它。除了上述原因之外,我知道 5 年的 SQL Server 生产经验会带来很大的不同。
我对其他 DBMS 的经验较少:
- 我用PostgreSQL我编写了一些软件,我很喜欢它。不幸的是,我认为它会缩小我的工作机会,因为它的使用范围不如 SQL Server 广泛。发布的工作数量可以证明这一点。
- 从未有过甲骨文和DB2。它们很棒,因为它们稳定,广泛使用并且跨平台,并且可以在 Linux 下运行。
我知道这是一个艰难的决定,但我还是想请您提供一些建议,帮助我决定我的专业 DBMS 产品。我应该更深入地了解 SQL Server 还是学习另一种 DBMS?
非常感谢您的帮助。
答案1
我会坚持使用 SQL Server,老实说,就像你说的,它是一款很棒的产品,在性能方面,它与其他产品不相上下。我还喜欢 SQL Server 具有出色的文档,T-SQL 相当不错,而且由于文档清晰,因此了解数据库的工作原理也相当简单。
我感觉到您对 Linux 作为主机操作系统有着强烈的忠诚度和偏好,这也是完全可以理解的,但请不要误会,正如您正确指出的那样,Windows 上的 MS SQL Server 是一个严肃的数据库,而成为 SQL 服务器专家所做的不仅仅是为您提供食物。
我有 FreeBSD 背景,现在主要管理 MS SQL Server,我发现我的 FreeBSD 背景使我能够更好地掌握在调整和管理 MS SQL 数据库时所面临的问题(例如磁盘卷布局和优化、事务日志的位置等)
如果您喜欢该产品,喜欢它的组装方式,并且您能看到自己越来越喜欢它,那就去做吧。不要低估对所从事的产品感兴趣和享受的价值。
答案2
五年的 SQL Server 经验胜过零年的其他任何经验。
微软的技术集成意味着您可以使用 SQL Server 作为平台做很多有趣的事情,尤其是在 .Net 领域。
您的 Linux 技能不会成为负担。您的关注点可能会转向中间件而不是数据库,但只要您处理的是网络系统,那么这一切都在某种程度上是相关的。
答案3
拥有 Linux 经验会非常有用。虽然 SQL Server 只能在 Windows 上运行,但许多非 Windows 系统都可以与 SQL Server 通信。拥有在 Linux 上安装和配置 JDBC 驱动程序的背景知识会很有用。
转而担任 SQL Server DBA 角色不会让您失去 Linux 经验。您可能不会经常使用它,但有些商店可以让您在一定程度上使用它。
答案4
正如 ColtonCat 雄辩地指出的那样,只有当你喜欢某件事时,你才会真正擅长它。如果你没有在业余时间摆弄某个领域,那么很难成为该领域的专家。你必须对它感兴趣,充满热情。如果你发现自己渴望在 Linux 系统上工作,那么我强烈建议你尝试适应,以便你可以将你的技能从 SQL Server 转移到 Linux 上的 Oracle 或 DB2。你可能会对这些系统感到更自在,而且你的技能水平会比你继续使用 Microsoft/SQL Server 更高,因为你对它更感兴趣。
显然,我在这里假设您更喜欢在 Linux 上工作而不是在 Windows 上工作。如果您真的喜欢在 Windows 上使用 SQL Server,那么为什么不坚持下去呢?这就是我过去 13 年所做的,无论我在哪个工作场所,我通常都是知识最渊博的最佳人选。这仅仅是因为我喜欢在家里摆弄它,设置虚拟机 - 在家里尝试集群、复制等。我知道这听起来有点悲哀,但这种程度的热情是获得您所寻求的更深层次知识所必需的。