データベース管理がそれほど難しいのはなぜですか?


92

私は多くのデータベース管理者を知っており、彼らはすべて28〜29歳以上です。

すべてのデータベース管理はそのようなものですか?つまり、これは少なくとも7〜8年以上経験を積むということですか?

または、データベース管理者になるのは難しいですか?


7
楽しい気晴らしを除いて、コミックがこれに何をもたらすかはわかりません。他の人は?
jcolebrand

9
開発が完了すると、完全に形成され、DBAになる資格が得られます... :
gbn

2
これは素晴らしい質問です。DBAの真の情熱で多くの回答者の心をつかみました!!! これに+1 !!!!
RolandoMySQLDBA

2
@jcolebrand-DBAの人生に関連する困難を示す、本当に深刻な問題に対するDBAishのソリューションを描いていました。
dezso

1
そんなに難しくなく、ただ退屈です。
グリフ

回答:


141

このポジションには、開発からシステム管理、さらには管理まで、幅広い知識が必要です。DBAは、バックアップ、リカバリ、内部操作、メモリ、セキュリティだけでなく、開発者と管理者の両方と通信する方法も知っている必要があります。DBAは、管理者に高レベルのプレゼンテーションを行い、開発者がクエリを調整し、新しいシステム用にディスクスペースをプロビジョニングし、バックアップからデータをすべて1時間以内に復元できるようにします。これらの責任には、重複の少ない豊富な知識が必要です。

失敗の結果は通常、開発者よりもDBAの方が大きくなります。DBAは多くの場合、数百、数百もの異なるアプリケーションやシステムをサポートしますが、そのほとんどは会社の成功に不可欠です。セキュリティ侵害、リカバリ障害、またはパフォーマンスの問題は、広範囲に及ぶ破壊的な影響をもたらす可能性があります。これには、短時間では得られないレベルの知識と経験が必要です。

DBAの仕事がうまくいけば、可視性も低下します。 安全で、回復可能で、利用可能で、パフォーマンスが良好なデータベースを持つDBAは、認識されません。問題がある場合、DBAは気付きます。問題が自力で発生した場合に気付くだけでなく、コーディングの不備、不適切なネットワーク設定、ストレージの不適切な構成などが原因でデータベースに問題がある場合にも非難されます。


私は29歳のときに開発者からDBAに切り替えました。私にとって、DBAになるのが難しいことはやりがいもあります。私は幅広い知識を吸収して使用することを楽しんでおり、失敗の機会が大きくなると、他の人がそれを見るかどうかに関係なく、その回避をより有意義にします。


9
非常に簡潔で思慮深い視点!!! +3(それぞれに+1)を差し上げますが、このサイトでは+1しか与えられません!!!
RolandoMySQLDBA

4
私からの+1もありますが、セキュリティ侵害についてのちょっとしたことから、Sonyには新しいDBAが必要だと思います。
デレクダウニー

「DBAの仕事がうまくいけば、彼らの可視性は低下します。」これはDBAにとって良いことですか、悪いことですか?
ジンキング

2
@zinking-多くの職業では、タスクに進捗状況や達成度が示され、認識と報酬を得ることができます。DBAにはこれがなく、問題がある場合にのみ認識されます。それは役立ちますか?
リーリッフェル

@LeighRiffel私の質問は、DBAが認識を得るためには、できるだけ多くの問題を作成する必要があるように思えます。この種のことは、DBAでの私の経験を説明しています... LOL
zinking

57

DBAになるには、実際には優れた経験が必要ですが、基本的には4つの異なるパスからしか得られません。

  1. 開発者であり、DBAにセグエを作成する
  2. 開発者であり、DBAとして起草されている
  3. 大学/専門学校から直接DBAになるためのトレーニング
  4. SysAdminであり、DBAとしてセグエを作成するか、または二重の義務を果たす

開発者であり、DBAにセグエを作成する

このサイトで尋ねられた別の質問、「DBAはもっとプログラマーにとって使いやすい」という質問で、私はDBAで働いた16年間の開発者であると述べました。彼らと一緒に仕事をしたことで、データベース理論、離散数学、プログラミングの経験が含まれる範囲で、データベースがどのように機能し、クエリがどのように実行されるかを見ることができることに気付きました。

これらの事柄をバックグラウンドに持つDBAがいることで、私はまだ大学で助教授から学んでいるが、彼らのことを本当に知っている人だと感じました。DBAが知っていることを喜んで共有する限り、あなたを支配することなく、彼らはSQLステートメント(SQLはそれ自体、コンテキスト依存プログラミング言語)の開発に関して実際にあなたの指導者になることができます可能。もちろん、インストールの実行、バックアップの作成、ソフトウェアのアップグレードの実行、パフォーマンスメトリックの監視、レポートの生成など、その他のありふれた部分もあります。しかし、開発者として、データベースとそれらのデータベースに対して実行されるSQLに焦点を合わせると、時間が経つにつれてSQLに精通するようになり、2番目の性質になり、アプリケーション開発に集中できます。

開発者への要求は負担となる場合がありますが、DBAも同様です。DBAの役割に自発的に移行する開発者は、開発とコーディングから、前述のありふれた事柄に焦点を移します。これに照らして、DBAはプログラマーと緊密に連携して、DBAがあらゆるプロジェクトに創造的な貢献をする機会を創出し、DBAの役割をより興味深いものにします。

開発者であり、DBAとして起草されている

残りの人生の開発とコーディング以外に何も見ないほとんどの開発者にとって、これは現実ショーSurvivorまたはゲームショーWipeoutのいずれかに参加することを選ぶようなものです。新しいDBAは、長年にわたってデータを求めて連絡を取ったブラックボックス(単にデータベースと呼ばれます)とのやり取りに時間を費やしています。

新しいDBAは、独自のテーブルとインデックスを作成できるようになりました。これは、日本の火鉢をイタリアンレストランに調理するようなものです。料理人は何でも盛り上げることができますが、新しいレシピ、台所用品、カトラリー、肉、スパイス、野菜、その他の調整すべき一般的なもの(衛生、在庫、開始時間、労働時間など)があることを認識しなければなりません。これは単なる移行の時ではなく、素晴らしい学習曲線を克服する時でもあります。長年にわたる日本の料理の専門家にもかかわらず、新しいレベルの経験を学び、開発する必要があります。この側面では、開発者はDBAのように考えるために自分自身を再教育する必要があります。

大学/専門学校から直接DBAになるためのトレーニング

これは、間違いなくDBAになるための最も致命的な方法です。これは最もまれな方法でもあります。実際、これは前代未聞です。今、私たちはマクドナルドやバーガーキングの誰かを同じイタリアンレストランに連れて行くことを話しています。

3つの学習曲線が含まれます。

  1. 大学/専門学校のスキルをDBAの役割に適用し、
  2. 特定のRDBMS(PostgreSQL、Oracle、MySQL、DB2、Sybase、Ingres)との対話、および
  3. 開発者との対話(将来のDBAは、学校からすぐに適切なソーシャルスキルを学習しますか?はい、そうです!)。

これにより、開発者は何年もの間、DBAの優位を維持することができます。DBAは、DBAとしての初期の開発者のニーズに迅速に適応することを学ぶ必要があります。おそらく、DBAはまともな初任給を作ることができますが、これら3つの学習分野で成長することなく成長することは困難です。

SysAdminであり、DBAとしてセグエを作成するか、二重の義務を果たす

元開発者であり、現在はDBAであるため、当然のことと見なしてはならない1つのことは、SysAdminの役割です。

SysAdmin / DBAの役割を持つことは、私にとって少しa敬の念を起こさせます。私の雇用主のホスティング会社には、SysAdmin / DBA(SCMDBA)である男がいます。彼は、インフラストラクチャプロジェクトと彼自身の内部MySQLギグに圧倒されています。私は彼をうらやましくはありません、彼を称賛します。正直に言うと、SysAdmin / DBAの真の心は私には異質なので、この段落を更新する(または完全に置き換える)ためにこのパスを説明するのはSysAdmin / DBAの裁量に任せています

結論

どのパスを選択するかに関係なく、DBAの役割は、初めにどのようにメンタリング(または拷問)を行うか、および他の時間を超えて仕事をする意欲に応じて、区別するか嫌なものにすることができます。そうして初めて、DBAを楽しんでいると言うことができます。

ところで、たまたま、39歳の2004年8月からDBAの最初の2つのパスを経験しました。ドラフトされたDBAロールでの2年間の経験により、フルタイムDBAへの移行は非常に楽しく快適になりました。 。

28〜29歳のDBAに対する私のアドバイスは?RDBMSを使用しているのと同じように、人々との共同作業が上手であること。両方の分野で成長すれば、今後何年もの間DBAになれます。


37

データベース管理は2つの理由で困難です

スローフィードバック ソフトウェアアーキテクトの役割を誤って判断した場合、通常、プログラマに比べてネガティブフィードバックを得るのに時間がかかります。プログラマは、コンパイル中またはテストの実行中にエラーに気付くことがよくあります。つまり、学習サイクルは非常に高速です。データベースの設計中にミスを犯したデータベース管理者は、エンドユーザーが実際にソフトウェアをどのように使用するかを発見したときにフィードバックを得るだけです。これは、データベース設計に欠陥があり、作り直す必要があるというフィードバックを得るのに何年もかかる可能性があることを意味します。したがって、経験を積むのに数分かかる場合があります(時には)プログラマーの場合は数年かかります。

高価な間違い これは、大企業のCEOが一般的に50代である理由でもあります。


3
@Davidは、スローフィードバックの議論に関して、多くのショップでは、テーブルなどを設計するのが開発者の仕事です。
AK

27

悪いDBAになるのは簡単です

しかし真剣に、DBAは通常、ビジネスの成功または失敗にしばしば重要な何か、そのデータに対して特別な責任を負います

あなたが会社を経営しているなら、あなたはその役割で有能な経験豊かな人々を雇いたいと思うかもしれません

私はそれが「簡単」または「難しい」の問題ではないと思います-あなたのデータがどれほど価値があるのか​​という質問です:人よりも宇宙に衛星を置くことは本質的に難しいことではありませんが、あなたは合計をチェックします後者についてはもっと


こんにちはジャック。プロジェクトマネージャーのようなDBAであると思います。これらは知識と経験を必要とする重要な仕事です。そして、もしあなたの会社に悪いDBAがいれば、良い開発者がいてもあなたの製品はあまり良くありませんか?
ソナーゲヌール

1
優れたDBAは確かに優れた製品の開発に役立ちますが、多くの場合、データの可用性、整合性、およびセキュリティを確保することがより重要です
Jack Douglas

1
あなたが道に沿ってあなたの道をスムーズにしたならば、それは簡単です!!! データは私たちのビジネスであり、DBAの主な商品であるため、あなたは私と和解しました。DBAにとって価値がある場合、DBAはそれを処理できるほど成熟します。+1 !!!
RolandoMySQLDBA

18

私の意見では、データベース管理者になるのは簡単です...何かが壊れて会社を脅かし、それが何であれあなたの肩の上にあるものを修正して復元する負担になるまで。

データベース管理者(またはネットワーク管理者またはシステム管理者)になるには、特定の成熟レベルが必要です。プレッシャーの下でうまく働く人が必要です。それは、必要なスキルセットでこれを処理できる若い人たちがそこにいないということではありません。

また、データベースのバックアップ/復元、サーバー構成の最適化などのコマンドを本から簡単に習得できます。しかし、データベースがダウンしているというアラートを受け取ったときに経験が勝ちます。


3
逆境に直面して成熟、私はそれが好きです!!! +1。
RolandoMySQLDBA

そしてもちろん、可能な限り小さな時間で会社をバックアップして実行する必要があります。
HLGEM

1
はい...「クラウドに入れる理由」->ヤギ->ヒーロー->「クラウドに入れる理由」 "サイクルはかなり速い
スワッシュック

18

私は多くのデータベース管理者を知っており、彼らはすべて28〜29歳以上です。すべてのデータベース管理はそのようなものですか?

私が知っている最も優秀で堅実なプログラマーは、少なくとも25歳です。年齢+経験=優れたコーダーに相関する要因があると思います。;)

つまり、これは少なくとも7〜8年以上経験を積むということですか?または、データベース管理者になるのは難しいですか?どう思いますか?

データベース管理者になるのは簡単ではありません。dbaとして知っておくべきことがたくさんあります。それはまた学校を意味し、それは他の人の下で数年の指導を意味します。データベースはセットロジックであり、学習するのに十分な期間学校に行く人はほとんどいないため、誰も知らないことに注意してください。Set-logicは代数といくつかのルールを共有しますが、エンジン(MSSQL、Oracleなど)はそれ自体がそれらのルールの実装のねじれた獣なので、データベースの背後にある数学を理解する必要があるだけでなく、上で実行します。好みのスクリプト言語(PL / SQL、TSQLなど)を知っていることも重要ではありません。

次に、dbaとして、最も重要なビジネスデータが頻繁に手に委ねられるようにする責任があることを考慮してください。「愚かな間違いを犯す」という最悪の部分を乗り越えて、少し自制心を身に付ける必要があります。21〜23歳のほとんどの人はまだそれを学んでいません。30歳の私たちの中にはまだそうでない人もいます。

OT:だから私は、少なくとも40歳になるまで人々は何も知らない、そして実際には彼らが実際に彼らの歩みに達しているとき、丘を越えて考慮されると言う理由です。(31歳の人として言った)


+1、特に自制を必要とする若い年齢(46歳の人から来る)に
当てはまる


14

上記で十分に説明されていない別の側面、視野を追加するために答えたいと思いました。

開発者にはさまざまな役割があり、一部(たとえば、デバイスドライバー開発、オペレーティングシステムスケジューラーの開発)には、非常に狭い視野と、小さな問題を深く掘り下げて純粋に技術的な観点から見る能力が必要です。 。非常に幅広い視野を必要とするが、それほど技術的な深さを必要としない他のフィールドがあります(選択したERPフレームワークを使用したビジネスアプリケーション開発)。

データベースがユニークであるのは、それらをうまく機能させるために、これらのモード間を迅速かつシームレスに移動できる必要があるためです。データベースは数学エンジンですが、非常に複雑な方法でビジネス環境に適合する数学エンジンです。したがって、数学の問題に数学の問題として取り組むことと、それが他のすべてにどのように適合するかを尋ねることができなければなりません。

上級ネットワークエンジニアまたは上級システム管理者を見ると、これらはこの分野の上級DBAに最も近いものです(ただし、各フィールドはまったく異なります。優れた上級システム管理者には、優れたDBAよりもさらに広い視野が必要です。優れたネットワークエンジニアには、より深い分野が必要です。

言い換えれば、優れたDBAになるには、実際のオンディスクストレージに関する高レベルのビジネス要件と非常に低レベルの理解の間を移動する必要があります。実際の移行(およびおそらく特定の決定を評価する過程で)。

DBAおよび開発者として機能します。2つの役割は非常に補完的ですが、私は最初にDBAであり、私が書いたライブラリを見たなら、それは明らかでしょう。しかし、それらが補完的である理由は、開発側ではソフトウェアのエンドユーザーと直接やり取りできるため、ビジョンの豊かさについて常にプッシュされている一方で、db側では自分自身に挑戦することです深さ。


8

リストされているものとは少し異なる別のパスがあります。

開発者として始め、データベース設計者になり、次にDBAになります。この方法は、データベースがファイルベースのアプリケーションを大幅に追い越し始めた30年ほど前に普及し、データベースの専門知識を持つ人はほとんどいませんでした。

PS:私が元プログラマーでDBAになったとき、プログラマーは「DBAの仕事は退屈ではないか?」

私の答え:「あなたがそれを正しくしているときだけ退屈です!」。:)


7

私はむしろDBAの旅の始まりにいますが、ここで人々がこの仕事を難しいと感じる理由をいくつか挙げます。

  • あなたには多くの責任があります。人々は会社に出入りすることができますが、彼らの多くにとって最も重要な資産はデータです。あなたはそれに対して責任があり、それに対するすべての力を持っています。sayingにもあるように、大きな力には大きな責任が伴います。非常に費用のかかる間違いが潜んでいます。
  • 学習し続けなければなりません。これはおまけだと思いますが、すべての人が自分の知識を最新の状態に保つために時間をかける気はありません。
  • それは時間がかかることがあります:物事は真夜中に壊れます、あなたは準備ができていますか?
  • 多くの場合、他の人の間違いを修正する必要があります。そして、ほとんどすべての良い仕事に対してあまり信用を得られません。従業員のスキルを磨くのを恐れないでください。

Brad Mc Geheeは、「例外的なDBAになる方法」という本を書きまし。質問を深めるつもりなら、読む価値があります。

幸運を!


2
+1は、従業員のスキルを磨くのを恐れないでください。
ウォルターミッティ

5

私は25歳でdbaになりました。認定を取得するために勉強を始めてから6か月かかり、2か月後に仕事に就きました。決意は間違いなく大きな役割を果たしていると思います。私にとって仕事を得るのは難しくありませんでした。勉強する力と、自分の前にあるものを学ぶことができることを示すだけでした。

私が持っていたのは、心理学の学位とヘルプデスクのバックグラウンドだけでした。Oracle Apps DBAとしての仕事を受け取ったとき、すぐにOMGを考えました。COREDBAになるために勉強したすべてのものは、私を少しも助けませんでした。私は非常に圧倒された感じを覚えています。私はこれを学ぶことができることを毎日思い出さなければならず、2年後にはさらに多くの知識を得ることができました。

私が言っているのは、DBAになることは難しくなく、まったく難しくありませんが、以前のdbaが以前に述べたように、時間と労力がかかることを知っておく必要があります。私は27歳で、私の年齢以下のほとんどの人々が、このような広範囲のテクノロジーを学びたいという勤勉さも欲求もないことを発見しました。しかし、私はOracle Apps DBAとしての仕事が大好きで、他のすべてのことを楽しみにしています。あなたが心に入れれば、あなたはそれをすることができます、あなたが何歳であるかは関係ありません!


2
それは精神だ。あなたが本当に学んだことは、DBAの仕事に適応するための原則でした。Oracleでのフィールドエクスペリエンスは、政治、人、パフォーマンス、およびプロジェクトの可能性を開きました。若いDBAとしての考えを共有してくれてありがとう。+1 !!!
RolandoMySQLDBA 14年

私は数年間、データベースコンサルタントでした。健康状態に戻すために看護しなければならなかった病気の子犬には、破損したデータベースだけでなく、深刻な損傷を受けたDBAも含まれていました。学部の心理学専攻があれば助かります。
ウォルターミッティー

5

DBAであることは、リアクティブではなくプロアクティブであることも意味します。将来がどうなるかを想像し、それに応じて計画を立てることができなければなりません。これは一生懸命に働くことを伴います...一度、何度も、そしてあなたがそれを正しくすれば、報酬は名前認識の完全な欠如です。:-)また、人々(上司を含む)に「ノー」と言う能力を持ち、客観的に、視聴者が理解できる用語で理由を効果的に伝える必要があります。高圧の状況では、慎重で合理的な判断を下さなければなりません。あなたはすぐにあなたの間違いを所有し、ブルースクリーンにさせないようにする必要がありますが、むしろ、「私はそれをやったとは信じられません」から「さて、これを修正する最善の方法は何ですか」から効果的にギアを切り替えます。


4

自分自身を主にシステム管理者、次に偶然のDBAと考える人として、その一部は、自分で立ち、仕事を行うために必要な知識の量、またはおそらくもっと重要なことに仕事を理解するために必要な知識の量に帰着すると思います。

古いMCDBA認定はそれを非常にうまくまとめていると思います。SysAdmin試験、Network Infrastructure試験、Database Development試験、SQL Administration試験の4つの試験に合格する必要がありました。それは非常に幅広いトピックなので、現実的には最初にそれらの1つを介してそれに到達する可能性があります。私は、SQL管理の大部分が他の3つの肩を担っているため、ほとんどの人が最初にこれらのルートの1つを介してアクセスしていると主張します。たとえば、SQLバックアップを処理するSysAdmin(何年も前にSQLに初めて取り組んだ)や、開発者が作成しているコード用にデータベースを設計しています。最初はすべてを理解することはできませんが、たとえばSQLが実行されるシステムや権限の動作方法、データベースと通信するために使用されるプログラミング方法など、少なくともその一部に基盤があります。

DBAであることが本当にやりたいかどうかを判断するのは難しいですが、上記のルートを経て、人々は徐々にDBAに到達することができます。あなたはそれを愛し、あなたのキャリアに集中させるか、未知のものに大きな飛躍をすることなく、あなたのためではなく、あなたの以前のキャリアパスに固執するかもしれません。しかし、それには時間がかかり、それは業界で「数年で賢い」傾向があるDBAの傾向に合っています。

優れたDBAになるには、年齢とともに来る傾向がある自信と成熟度も必要です。他の人たちはこの他の側面を挙げていますが、私はノーと言ってあなたの立場に立って、それが適切であるときを知る経験で和らげる自信を持っていると付け加えます。

最後に、優れたDBAになるには特定の考え方が必要だと思います。溝に入るまで、それを持っているかどうかを知るのは困難です。詳細に目を向け、前もって計画を立てる意欲、全体像を見る能力、そして作業を文書化することを恐れないことが、安定したシステムを維持する重要な側面です。一部のSysAdminと開発者はそのようなものであり、簡単に移行できますが、他の人は自分のアプローチが現在の仕事に価値がある一方で、DBAとしてこれらの事に苦労し、仕事を楽しんでいないと感じるかもしれません。


DBAになることは人生経験のようです。DBAであることが何であるか、そしてそれを快適に習得できることを理解するにつれて、最初は規律が守られ、次のようになります。+1 !!!
RolandoMySQLDBA 14年

3

少なくともかなり不本意なデータベース管理者になることの最も難しい部分は、偶然偶然見つけた特定の組織のデータベースに何が起こっても耐えなければならないという事実だと思います。

私の経験では、最初のショックは、一見ハードウェアエラーのためにデータベースサーバーがクラッシュした月曜日の朝でしたが、それでも何か間違ったことをした疑いがありました。

そのことを再び機能させるには、生涯で学んだことや行使したことをすべて適用する必要があると想像できます。それからもちろん、クローンを作成したり、すべてのフラッシュバックアップを作成したりすることもできます。ここでは、リンクサーバーを介して他のコンピューターネットワークにルーティングする小さなデータベースサーバーについて説明します。それでも、その瞬間に責任はとてつもなく感じます。

ソフトウェア開発者またはソフトウェアテスターとしての責任も大きいですが、そのような困難な時期を経験したことはありません。その理由は、それぞれが情報技術の世界のクモの巣のほんの一部を織っているという事実にあると想像できます。

私がデータベース管理者になったことがある場合は、ここで書いたことを更新します。

そして、はい、私は今38 + 1/2歳です。


1
あなたはまだ若い。DBA になることの社会的側面(dba.stackexchange.com/questions/2471/…)および技術的側面(dba.stackexchange.com/a/2913/877)を学ぶのに十分な時間がありました。
RolandoMySQLDBA

1

ほとんどのスキルと同様に、dbaになるための学習には時間がかかります。良い dbaになるには時間がかかります。読んで学習すればするほど、適用できる知識が増えます。

dbaになるもう1つの方法は、レポート作成またはアプリケーションの専門家としてです。SQLの操作に費やす時間が長くなればなるほど、dbの仕組みについて学ぶことが多くなります。SQLクエリに習熟することは、dbaになるための良い出発点となります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.