私は多くの データベース管理者 を知っており、それらはすべて28-29歳以上です。
すべてのデータベース管理はそのようですか?つまり、これは少なくとも7〜8年以上の経験を得ることに関するものですか?
それともデータベース管理者になるのは難しいですか?
このポジションには幅広い知識が必要です開発からシステム管理、さらには管理にまで及びます。 DBAは、バックアップ、リカバリ、内部操作、メモリとセキュリティについて知っている必要があるだけでなく、開発者と管理者の両方と通信する方法も知っている必要があります。 DBAは、管理者に高レベルのプレゼンテーションを行い、開発者がクエリを調整し、新しいシステム用にディスク領域をプロビジョニングし、すべて同じ時間内にバックアップからデータを復元するのを支援することができます。これらの責任には、重複がほとんどない豊富な知識が必要です。
障害の影響は通常、DBAの方が大きくなります開発者よりも。多くの場合、DBAは数十、さらには数百の異なるアプリケーションやシステムをサポートしています。これらのほとんどは、会社の成功に不可欠です。セキュリティ違反、回復の失敗、またはパフォーマンスの問題は、広範囲に及ぶ壊滅的な影響をもたらす可能性があります。これには、短時間では得られないレベルの知識と経験が必要です。
DBAの仕事がうまく行けばいるほど、可視性は低くなります。安全で、回復可能で、利用可能で、パフォーマンスの良いデータベースを備えたDBAは、認識に欠けます。問題が発生すると、DBAに通知されます。問題が自発的に発生したときに気付くだけでなく、コーディングが不十分、ネットワークの設定が不適切、またはストレージが正しく構成されていないためにデータベースに問題が発生した場合にも非難されます。
私は29歳のときに開発者からDBAに切り替えました。私にとって、DBAになるのが難しいことはやりがいもあります。私は幅広い知識を吸収して使用することを楽しんでいます。失敗の機会が増えると、他の人がそれを目にしてもしなくても、失敗を回避することの意味がますます大きくなります。
DBAになるには、実際にはかなりの経験が必要ですが、基本的には次の4つのパスからしか得られません。
開発者であり、DBAにセグエを作成する
このサイトで尋ねられた別の質問 どのようにしてDBAはより「プログラマーフレンドリー」になりますか 、私はDBAと一緒に働いた16年間の開発者であると述べました。彼らと一緒に仕事をしたことで、データベース理論、離散数学、プログラミングの経験が含まれている限り、データベースがどのように機能し、クエリがどのように実行されるかを理解することができました。
それらのことを背景に持つDBAがいることは、私がまだ大学の副教授から学んでいるように感じましたが、彼らは彼らのことを本当に知っていました。 DBAが知っていることを喜んで共有する限り、[それを主導することなく、彼らは実際にSQLステートメントの開発に関してあなたのメンターになることができます(SQLは、それ自体、状況依存プログラミングです)言語)可能な限り効率的です。もちろん、インストールの実行、バックアップの作成、ソフトウェアのアップグレードの実行、パフォーマンスメトリックの監視、レポートの生成など、その他のありふれた部分があります。しかし、開発者として、データベースとそれらのデータベースに対して実行されるSQLに焦点を合わせると、時間が経つにつれてSQLに習熟し、それが第二の性質となり、アプリケーション開発に集中できるようになります。
開発者への要求は負担になる可能性がありますが、DBAも同様です。 DBAの役割に自発的に移行する開発者は、開発とコーディングから、前述の日常的なことに焦点を移します。これを踏まえて、DBAはプログラマーと緊密に連携して、DBAがプロジェクトに創造的に貢献する機会を生み出し、DBAの役割をさらに興味深いものにします。
開発者であり、DBAとして起草されている
残りの人生について開発とコーディングしか見ないほとんどの開発者にとって、これは現実のショーSurvivorまたはゲームショーWipeoutのどちらかを選択するようなものです。新しいDBAは、何年にもわたってデータにアクセスしてきたブラックボックス(単にデータベースとも呼ばれます)とのやり取りに時間を費やしています。
これで、新しいDBAは独自のテーブルとインデックスを作成できます。これは、日本の火鉢をイタリアンレストランで料理させるようなものです。コックは何でも作り出すことができますが、新しいレシピ、調理器具、カトラリー、肉、スパイス、野菜、その他多くのありふれたもの(衛生、在庫、開始時間、労働時間など)があることを理解する必要があります。これは移行の時だけではなく、大きな学習曲線を乗り越える時でもあります。長年にわたる専門的な日本料理にもかかわらず、新しいレベルの経験を学び、発展させる必要があります。この点で、開発者はDBAのように考えるために自分自身を再教育する必要があります。
大学/貿易学校からDBAになるためのトレーニング
これは、DBAになるための最も致命的な方法です。これは最もまれな経路でもあります。実際、これはほとんど前代未聞です。今、私たちはマクドナルドやバーガーキングの誰かをその同じイタリアンレストランに入れることを話している。
3つの学習曲線が含まれます。
これにより、開発者は何年もの間DBAを引き継ぐことになります。 DBAは、DBAとしての初期の頃の開発者のニーズにすばやく適応する方法を学ぶ必要があります。おそらく、DBAはまともな給与を稼ぐことができますが、これらの3つの学習分野で成長することなく成長することは困難です。
システム管理者であり、DBAとしてセグエを作成するか、またはDBAとして二重の義務を負う
かつての開発者であり、現在はDBAであるとして、当然のことと考えてはいけないのは、SysAdminの役割です。
SysAdmin/DBAの役割を持つことは、私に少し畏敬の念を起こさせます。私の雇用主のホスティング会社には、SysAdmin/DBA(SCMDBA)の人がいます。彼は、インフラストラクチャプロジェクトに加えて、自身の内部MySQLギグで溢れています。私は彼をうらやましくない、彼を称賛する。正直なところ、SysAdmin/DBAの真の心は私には無関係です。このパスを説明するためにこの段落を更新する(または完全に置き換える)かどうかは、SysAdmin/DBAの裁量に任せます。
結論
どのパスを選択するかに関係なく、DBAの役割は、最初にメンター(または拷問)される意欲と、他の時間と協力する意欲に応じて、区別することも、嫌なこともできます。そうして初めて、彼らはDBAであることを楽しむことができます。
ちなみに、たまたまのことですが、2004年8月から39歳で、最初の2つのDBAパスを体験しました。ドラフトDBAロールでの2年間の経験により、フルタイムのDBAに非常に楽しく快適に移行できました。 。
28〜29歳のDBAへの私のアドバイスは? RDBMSを使用しているときと同じように、人との共同作業ができるようにしてください。両方の分野で成長していれば、今後数年間はDBAとして成功することができます。
2つの理由でデータベース管理が困難
遅いフィードバックソフトウェアアーキテクトの役割で悪い判断をすると、プログラマーと比較して、通常、否定的なフィードバックを得るのに時間がかかります。プログラマーは、コンパイル中またはテストの実行中にエラーに気付くことがよくあります。つまり、学習サイクルが非常に速いということです。データベースの設計中にミスを犯したデータベース管理者は、エンドユーザーが実際にソフトウェアをどのように使用するかを発見したときにフィードバックを得るだけかもしれません。つまり、データベース設計に欠陥があり、再作成する必要があるというフィードバックを得るには数年かかる場合があります。したがって、経験を積むには、プログラマーにとって数分(時には)ではなく、何年もかかります。
高額な間違いこれは、大企業のCEOが一般に50代である理由でもあります。
悪いDBAになるのは簡単です
真剣に、しかし、DBAは通常、ビジネスの成功または失敗にしばしば重要な何か、つまりそのデータに対して特別な責任があります。
あなたが会社を経営しているなら、あなたはその役割で有能な経験豊富な人々を雇うことに熱心であるかもしれません
私はそれが「より簡単」または「より難しい」の問題だとは思いません-データの価値の問題だけです:衛星を宇宙に置くことは本質的に人より難しくはありませんが、合計を確認します後者の場合はかなり多く
私の意見では、データベース管理者になるのは簡単です...何かが壊れて会社を脅かし、それがあなたの肩にあるものをすべて修正して復元する負担になるまでは。
データベース管理者(またはネットワークまたはシステム管理者)になることは、特定の成熟度レベルを必要とするポジションです。プレッシャーのもとでうまく働く人が必要です。これは、必要なスキルセットでこれを処理できる若者がいないと言っているのではありません。
また、データベースからのバックアップ/復元、サーバー構成の最適化など、本からコマンドを学ぶのも簡単です。しかし、データベースがダウンしているという警告を受け取ると、経験が活かされます。
私は多くのデータベース管理者を知っており、それらはすべて28〜29歳です。すべてのデータベース管理はそのようですか?
私が知っている最も優れた堅固なプログラマーも少なくとも25歳です。私は年齢+経験=良いコーダーに相関する要素があると思います。 ;)
つまり、これは少なくとも7〜8年以上経験を積むということですか。それともデータベース管理者になるのは難しいですか?どう思いますか?
データベース管理者になるのは簡単ではありません。 dbaとして知っておくべきことがたくさんあります。それはまた学校を意味し、それは他の人の下で数年間の指導を意味します。データベースはセットロジックであることを覚えておいてください。学習するのに十分な期間学校に通う人はほとんどいないため、誰も知りません。 Set-logicはいくつかのルールを代数と共有しますが、エンジン(MSSQL、Oracleなど)自体がそれらのルールの実装のねじれた獣であるため、データベースの背後にある数学を理解する必要があるだけでなく、実装も理解する必要があります上で実行します。これは、優先するスクリプト言語(PL/SQL、TSQLなど)を知っていることも考慮に入れません。
次に、dbaとして、最も重要なビジネスデータが頻繁に手に渡されるようにする責任があることを考慮してください。 「愚かな間違い」の最悪の部分を乗り越え、自制心を少し学んでおく必要があります。 21〜23歳のほとんどの人はまだそのことを学んでいません。 30歳の私たちの中には、まだそうしていない人もいます。
OT:これが、少なくとも40歳になるまで何も知らないと人々が実際に何も知らない理由です。実際には、彼らは実際には彼らのストライドに達しているとき、丘を越えて考えられます。 (31歳の誰かとして言った)
DBAになるのは難しいとは思いません。 1つになることはしかし。
上で十分に議論されていない別の側面を追加するために答えたかった:視野。
開発者にはさまざまな役割があり、一部(たとえば、デバイスドライバーの開発、またはオペレーティングシステムスケジューラの開発)には、非常に狭い視野と、小さな問題を深く掘り下げ、純粋に技術的な観点からそれを検討する機能が必要です。 。非常に広い視野を必要とするが、それほど技術的な深さを必要としない他の分野があります(ERP選択したフレームワークによるビジネスアプリケーション開発)。
データベースは、データベースを適切に機能させるために、これらのモード間を迅速かつシームレスに移動できる必要があるため、ユニークです。データベースは数学エンジンですが、非常に複雑な方法でビジネス環境に適合する数学エンジンです。したがって、人は数学の問題として数学の問題に取り組むことができ、それが他のすべてにどのように適合するかを尋ねることもできる必要があります。
上級ネットワークエンジニアまたは上級システム管理者を見ると、これらはこの分野の上級DBAに最も近い人物です(ただし、各フィールドはかなり異なります。優れた上級システム管理者には、優れたdbaよりもさらに広い視野が必要です。優れたネットワークエンジニアには、より深い分野が必要です)。
言い換えると、優れたDBAになるには、実際のオンディスクストレージに関連する高レベルのビジネス要件と非常に低レベルの理解の間を行き来し、設計のリレーショナル数学と純粋に技術的な問題にすべて移行できる必要があります。実際の移行(およびおそらく特定の決定を評価する過程で)。
私はDBAおよび開発者として機能します。 2つの役割は非常に相補的ですが、私は最初にDBAであり、私が書いたライブラリを見た場合、それは明白です。しかし、それらが補完的である理由は、開発側ではソフトウェアのエンドユーザーと直接やり取りすることができるため、常に自分のビジョンの明るさについて押し付けられている一方で、db側では自分自身に挑戦しているからです。深さで。
リストされているものとは少し異なる別のパスがあります。
開発者として始め、次にデータベース設計者になり、次にDBAになります。この方法は、データベースがファイルベースのアプリケーションを大いに追い越し始めた約30年前、より普及しており、データベースの専門知識を持つ人はほとんどいませんでした。
PS:私が元プログラマーでDBAになったとき、プログラマーは「DBAの仕事は退屈ではないですか?」
私の答え:「あなたが正しくやっているときだけそれは退屈です!」。 :)
私はむしろDBAの旅の始まりですが、ここで人々がこの仕事を難しいと感じる理由のいくつかを紹介します...難しいのは次の理由からです。
Brad Mc Geheeはそれについて 本 を書いて、「例外的なDBAになる方法」を書いた。質問を深めるつもりなら、読む価値があります。
幸運を!
私は25歳でdbaになりました。資格を取得するために勉強を始めてから6か月かかり、2か月後に就職しました。決定は間違いなく重要な役割を果たすと思います。私にとっては、仕事を得ることは難しくありませんでした。必要なのは、勉強する力であり、自分の前にあるものを何でも学ぶことができたということです。
私が持っていたのは心理学の学位とヘルプデスクのバックグラウンドだけでした。 Oracle Apps DBAとしての仕事を受け取ったとき、すぐにOMGだと思ったのですが、CORE DBAになるために勉強したすべてのことは、少しも役に立ちませんでした。私は非常に圧倒された感じを覚えています。私はこれを学ぶことができることを毎日思い出さなければなりませんでした、そして2年後、私はとても多くの知識を得ました。
私が言っているのは、DBAになることは難しくなく、まったく難しくはありませんが、仕事中と仕事外ですべてを学ぶことです。以前のdbaが以前に言及したように、時間がかかり、多くの注意が必要です。私は27歳で、私の年齢以下のほとんどの人々が、そのような広範囲の技術を学びたいという熱心さも欲求もないことを発見しました。しかし、私はOracle AppsのDBAとしての私の仕事が大好きで、他のすべてのことを学び、常に学び続ける方法を楽しみにしています。あなたがそれを心に留めれば、あなたはそれをすることができます、あなたが何歳であるかは関係ありません!
DBAであることは、事後対応ではなく積極的であることも意味します。あなたは未来が何を保持するかを想像し、それに応じて計画することができる必要があります。これには、何度も何度も一生懸命働くことが含まれます。正しく実行すると、報酬は名前の認識の完全な欠如になります。 :-)また、人々(ボスを含む)に「ノー」と言う能力があり、客観的に、聴衆が理解できる理由を効果的に伝える必要があります。あなたは賢明であり、高圧の状況で合理的な決定をする必要があります。ミスをすばやく解決し、ブルースクリーンが発生しないようにする必要があります。代わりに、ギアを「私がやったばかりだとは信じられない」から「わかりました。これを修正する最善の方法は何ですか」に効果的に切り替えます。侮辱したり、気分を害したりしないように、開発者コードの改善を巧みに提案できる必要があります。これは、経験によって培われた技術でありながら、数人が習得したものです。
主にシステム管理者であり、次に偶発的なDBAであると考える人として、私はそれの一部は自分で立って仕事をするために、またはおそらくもっと重要なことに、仕事を理解するために必要な知識の量にあると思います。
古いMCDBA認定は、それをかなりよくまとめています。 SysAdmin試験、ネットワークインフラストラクチャ試験、データベース開発試験、SQL管理試験の4つの試験に合格する必要がありました。これはかなり広い範囲のトピックであるため、現実的には、最初にそれらのトピックの1つからアクセスする可能性があります。 SQL管理の多くは他の3つの肩の肩の上に立つので、ほとんどの人は最初はこれらのルートの1つを介してやって来ます。たとえば、SQLバックアップを処理するSysAdmin(私が何年も前に初めてSQLに取り組み始めた)や、開発者が書いているコード用のデータベースを設計している開発者です。始めはすべてを知っているわけではありませんが、少なくともSQLが実行されているシステムと、権限がどのように機能するか、またはデータベースとの通信に使用されるプログラミング方法など、そこからあなたはそれを基盤としています。残りを学ぶことができます。
DBAになることが本当にやりたいことかどうかを判断するのは、それを行うまでは難しいことですが、上記のルートを使用することで、徐々にDBAに成長することができます。あなたはそれを愛してそれをあなたのキャリアフォーカスにするか、それがあなたのためではないことを見つけて、あなたの以前のキャリアパスに固執するかもしれません。しかし、これには時間がかかり、業界では「年単位で賢くなる」というDBAの傾向に適合します。
優れたDBAになるためには、年齢に伴う傾向がある自信と成熟度も必要です。他の人はこれについて他の側面を挙げていますが、私はノーと言ってあなたの立場に立つ自信があり、いつそれが適切であるかを知るための経験を和らげます。
最後に、優れたDBAになるには一定の考え方が必要だと思います。それができるかどうかは、塹壕に入るまでわかりません。詳細に目を向け、前向きに計画する意欲、全体像を見る能力、および作業を文書化することを恐れないことが、安定したシステムを維持するための重要な側面です。一部のシステム管理者や開発者はそのような人で、簡単に移行できますが、現在の仕事に彼らのアプローチが価値がある一方で、DBAとしてこれらのことに苦労し、仕事を楽しんでいないことに気づく人もいます。
少なくともかなり非自発的なデータベース管理者になることの最も難しい部分は、偶然見つけた特定の組織のデータベースに何が起こっても耐えなければならないという事実です。
私の経験では、最初のショックは月曜日の朝、ハードウェアエラーのように思われるためにデータベースサーバーがクラッシュしたときでしたが、それでも何か問題があるのではないかと疑われました。
そのことを再び機能させるためには、生涯でこれまでに学んだり、行使したりしたことをすべて適用する必要があると想像できます。その後、もちろん、全体のクローンやフラッシュバックアップを作成することもできます。ここでは、リンクサーバーを介して他のコンピューターネットワークに物事をルーティングする小さなデータベースサーバーについて説明します。それでも、その瞬間、責任は非常に大きくなります。
ソフトウェア開発者またはソフトウェアテスターとしての責任も大きいですが、そのような困難な時期を経験したことはありません。その理由は、それぞれが情報技術の世界のクモの巣をほんの少し編んでいるという事実にあると想像できます。
私がデータベース管理者になった場合は、ここで今書いたことを更新します。
そして、はい、私は今38歳+1/2歳です。
ほとんどのスキルと同様に、dbaになるには時間がかかります。 good dbaになるには時間がかかります。読んで学ぶほど、適用できる知識が増えます。
Dbaになるもう1つの方法は、レポートの作成またはアプリケーションの専門家としての活動です。 SQLの操作に費やす時間が長いほど、dbsがどのように機能するかについて学ぶことができます。 SQLクエリに習熟すると、dbaになるための良い出発点になります。