成为DBA,我需要知道什么?

我确定这已经被问到,但时代改变,所以做的SQL偏好等…我认为这个地方将是最好的地方问这个确定许多DBA来到这里。

但是,我需要知道什么起点。 我今年12月gradle于计算机科学学士学位,我参加了两个数据库课程,并为其中一个build立了我自己的数据库驱动音乐商店(这是基本的,但运行良好,看起来不错)。

反正我不知道什么数据库大多数公司使用。 我知道有Mysql(但这通常是我不感兴趣的networking的东西),甲骨文,然后MS-SQL服务器,以及其他一些。

authentication的道路似乎使MS-SQL服务器(2008年)更容易,而且更便宜,甲骨文似乎相当…..“就职”就业,但我也看到我公平份额的MSSQL。 还有….差异甚至那么大? 就实际编码而言。 那么DBA的就业市场呢? 好? 坏? 看到更好的日子? 接下来我应该做些什么来确保我能find一份体面的工作,那么正确的道路是什么? 任何答案都是有用的答案!

谢谢

你需要知道哪些数据库是DBA? 一切 (或至less是大多数事情,以及在哪里寻找答案的一切)。

但是,严肃的说,总是有一个好的 DBA的市场。 如果你想成为一名优秀的 DBA,我可以给你的最好build议是:

  1. 如果你的“数据库类”没有涉及关系模型和关系代数背后的理论,你可能想拿起一本关于这个主题的好书。 理解你想要pipe理的系统的基础理论稍后将以微妙和有趣的方式有用。

  2. devise和实现某种数据库支持的系统。
    你已经做到了这一点,但是你说商店是“简单的” – 展开它。
    将大量数据加载到系统中,并查看性能下降的情况 – 然后解决问题。
    (以我作为DBA的经验,这可能是你最常见的任务:“X很慢,让X不要慢”)

  3. find一家正在寻找初级DBA或初级pipe理员的公司。 在那里申请。
    不pipe他们使用的DBMS如何(尽pipe如此,如果这是你所知道的,或者你希望在未来能够很好地工作的话)。

  4. 尽可能多地从他们的DBA员工那里获得知识。
    问问题。 参加devise会议 带给人们解决性能问题的咖啡,倾听他们的谈话。

  5. 参加培训/authentication课程(特别是如果你可以得到工作支付他们!)。
    如果没有一些真实世界的经验来支持它们,那么它们往往暴露出在现实世界中可能经常看不到的数据库系统的angular落。 许多也是面向任务的,涵盖了常见的东西,比如build立数据库备份。

在这5个步骤中的某个时刻,人们会开始问你问题,或向你投掷问题,并要求你解决问题。 在这一点上,你是一个DBA(或者至less是一个DBA信任的资源,足以让工作满足你不会破坏任何东西的期望:-)

主要数据库都提供免费版本,因此您可以自己探索和了解差异。 插入/更新/删除的基本结构是一样的,但具体是不同的,你想要做的更先进的东西,它们看起来更不一样。

你不会真的想学习的东西,但如果你真的学会了,那也会让你变得更好:

  • 如何安排备份并确保它们正在工作
  • 如何快速恢复备份,而不会覆盖所有内容
  • 有助于避免意外删除数据的工作习惯
  • 发现缓慢的查询/分析
  • 如何处理来自允许的IP的login,用户,组,连接的安全性
  • 复制到其他服务器/群集/故障转移(然后回退)
  • 尽可能多的关于不同环境的客户端连接string和数据库库。

下载:

  • SQL 2008 R2快速: http : //www.microsoft.com/express/database/
    • (同时获取SQL Management Studio Express进行pipe理)
  • PostgreSQL: http : //www.postgresql.org/download/
  • MySQL: http : //dev.mysql.com/downloads/
    • (也可以通过MySQL Workbench进行pipe理)
  • Oracle 10g Express: http : //www.oracle.com/technetwork/database/express-edition/overview/index.html
  • IBM DB2 Express-C: http : //www-01.ibm.com/software/data/db2/express/
  • SQLite: http : //www.sqlite.org/download.html

正如你所说的,基本上有两个主要的问题,你可能会碰到MS SQL Server,因为在大多数情况下,pipe理起来相对比较简单。

甲骨文更像是一个学习曲线,因为它给你提供了更多的configuration系统的空间,但需要更多的理解才能有效地工作。

在乔布斯方面,我build议在一个小型的DBA团队中寻找一个初级DBA的机会,这会让你有机会学习这个方法,而不是被限制在一个特定的任务中。

TSQL和PL / SQL之间有区别,所以我build议你从TSQL开始,只是因为你可能会遇到更多的中小企业

最后请记住,它不是你使用什么数据库,你需要得到关于数据的偏执,因为它不关于如果你松散的数据只有当和多less。 所以请确保你知道以下内容。

备份; 如何和何时。 事务logging; 选项,以及可能会丢失多less数据。 检查备份/事务日志是否可以恢复检查数据库的健康状况。 使用和所需的资源,并知道如何纠正它们。

一旦你有这些任务,你可以转移到其他pipe理任务和开发工作。

最后,尽量避免混杂的环境,直到你有一些经验。 数据库确实有一些微妙的差异,在学习成为DBA的时候努力工作是我的经验中的一步。