web-dev-qa-db-ja.com

DBAになるには、何を知る必要がありますか?

これは尋ねられたと思いますが、時代は変わり、SQLの設定なども変わります...多くのDBAがここに来ることを確かめるには、この場所が最適だと思います。

しかし、最初に知っておくべきことは何ですか。今年の12月にB.S.を卒業しました。コンピュータサイエンスでは、2つのデータベースクラスを使用し、そのうちの1つに独自のデータベース駆動型ミュージックストアを構築しました(基本的なものでしたが、うまく機能し、見た目は非常に良かった)。

とにかく、ほとんどの企業がどのデータベースを使用しているかわかりません。私は、Mysql(ただし、通常は興味のないWebのもの)、Oracle、そしてMS-SQLサーバー、その他いくつかのサーバーがあることを知っています。

認定への道は、MS-SQLサーバーを少し簡単にし(2008年)、より安価にしたようです。Oracleは、仕事に関してはかなり「望んでいた」ようですが、MSSQLの公平なシェアも見ています。また....違いはそれでも大きいですか?実際のコーディングに関する限り。そして、DBAの求人市場はどうですか?良い?悪い?より良い日を見ましたか?私がまともな仕事を上陸させることができることを確認するために私は次に何をすべきですか、正しい道は何ですか?どんな答えも役に立つ答えです!

ありがとう

6
user57862

DBAになるためにデータベースについて何を知る必要がありますか? Everything(または少なくともほとんどのもの、および他のすべての答えを探す場所)。

しかし真剣に、goodDBAの市場は常にあります。 goodDBAになりたい場合、私ができる最善のアドバイスは次のとおりです。

  1. あなたの「データベースクラス」がリレーショナルモデルと関係代数の背後にある理論に理解していなかった場合は、この主題に関する優れた本を手に入れたいと思うかもしれません。管理を目的とするシステムの基礎となる理論を理解することは、後で微妙で興味深い方法で役立ちます。

  2. ある種のデータベースに裏打ちされたシステムを設計および実装します。
    あなたはすでにこれを行いましたが、ストアは「シンプル」であると言っていました-展開してください。
    大量のデータをシステムにロードし、パフォーマンスが低下する場所を確認してから、問題を修正します。
    (おそらくあなたの最も一般的なタスクであるDBAとしての私の経験では、「Xは遅いです。Xを遅くしないでください。」)

  3. ジュニアDBAまたはジュニア管理者を探している会社を見つけてください。そこに申請してください。
    使用しているDBMSは関係ありません(ただし、それが知っているDBMSであるか、将来使用したいDBMSであるかは、すばらしいことです)。

  4. DBAスタッフからできるだけ多くの知識を吸収してください。
    質問をする。設計会議に参加してください。パフォーマンスの問題をトラブルシューティングしている人々をコーヒーに連れて行き、彼らの会話に耳を傾けてください。

  5. トレーニング/認定クラスを受講してください(特に、授業料を支払うことができる場合は!)。
    これらは、バックアップするための実際の経験がなければ特に有用ではありませんが、現実の世界ではあまり見られないデータベースシステムの隅々まで露出することがよくあります。多くはタスク指向でもあり、データベースバックアップの設定などの一般的なものをカバーしています。

これらの5つのステップのある時点で、人々はあなたに質問したり、問題を投げかけて解決するように要求したりします。その時点で、あなたはDBA(または、少なくともDBAが信頼できるリソースであり、何も壊さないという期待で作業を行うことができます:-)

7
voretaq7

主要なデータベースにはすべて無料バージョンが用意されているため、違いを自分で調べて学ぶことができます。挿入/更新/削除の基本構造は同じですが、詳細が異なり、実行したい高度な処理が多いほど、異なるように見えます。

あなたが本当に学びたくないこと、しかしあなたがそれらを学べば本当にあなたを良くするでしょう:

  • バックアップをスケジュールし、それらが機能していることを確認する方法
  • すべてを上書きせずにバックアップからすばやく復元する方法
  • 誤ってデータを削除しないようにするための作業習慣
  • 遅いクエリ/プロファイリングを見つける
  • ログイン、ユーザー、グループ、許可されたIPからの接続に関するセキュリティの処理方法
  • 他のサーバーへのレプリケーション/クラスタリング/フェイルオーバー(そしてフェイルバック)
  • さまざまな環境のクライアント側の接続文字列とデータベースライブラリについてできる限り多くのこと。

ダウンロード:

4

あなたが正しく言ったように、MS SQL Serverに出くわす可能性のある主なものは基本的に2つあり、ほとんどのcsesで管理が比較的簡単であるため、私の経験ではより一般的です。

Oracleは、システムを構成するためのより広い範囲を提供するため、より学習曲線になりますが、システムを効率的に機能させるには、より深い理解が必要です。

ジョブに関しては、DBAの小さなチームでジュニアDBAとしての機会を探すことをお勧めします。これにより、特定のタスクに限定されることなく、ロープを学ぶ機会が得られます。

TSQLとPL/SQLには違いがあるため、TSQLから始めることをお勧めします。これは、中小企業でTSQLに遭遇する可能性が高いためです。

最後に覚えておいてください、それはあなたがどのデータベースを使用するかではありません、あなたはいつそしてどれだけデータを失うかについてではなく、データについて妄想を抱く必要があります。したがって、次のことを裏返しに知っていることを確認してください。

バックアップ;いつどのように。トランザクションログ;オプション、および失われる可能性のあるデータの量。バックアップ/トランザクションログが回復できることを確認しますデータベースの状態を確認します。必要な使用法とリソース、およびそれらを修正する方法を知っています。

これらのタスクを終了したら、他の管理タスクや開発作業に進むことができます。

最後に、経験を積むまで、混合環境を避けてください。データベースにはいくつかの微妙な違いがあります。DBAになることを学んでいる間、それらを解決しようとすることは、私の経験でははるかに大きな一歩です。

2
OilyRag