DBAは今でも良い職業ですか?
(news.ycombinator.com)「IT業界でDBAは消えつつあるのか?」という内容でHNに投稿された質問への回答いろいろ
-
私は開発者からDBAになったのだが、開発者だった頃はDBAから必要な助けを得られなかった。だから今は、自分が助けを求めたかったその人になろうとしているが…
→ やっと問題が分かった。うちの会社にはDBAがたった2人しかいないのに、私たちはその2人全員に自分の時間を割くことはできない
→ DBAになるというのは、開発者たちが作り出そうとするエントロピーとの終わりなき戦いだ
→ データモデルは、より多くの知識と経験を持つ人が常に検証すべきで、若い開発者は時々おかしなアイデアを持ってくることがある(FKを使ってはいけません!みたいな…)。悪いアイデアがストリーミングのように次々と飛び出してくる感じだ
→ こうした悪いアイデアが実際に実装されてしまうと取り消しが難しく、さらに大きな混乱を招きがちだ。たとえば重複モデリングを避けるためにMaterialized Viewが必要になったり、重複データを補うための奇妙なViewが必要になったりする
→ だから答えは「Yes」だ。DBAは本当に重要だ。もちろん、会社がそれをどれだけ真剣に受け止めて開発プロセスに参加させるか次第だが、そうでなければものすごいストレスを受けることになる -
実際、多くの会社ではアウトソーシングされてはいる。ただし、重要なビジネスデータを扱う安定したシステムは常に必要だ。データを扱うことを学ぶのは今後も重要だろう
→ あるいは単に開発者に押し付けられるか… -
DBAは必須の役割で、ますます重要になっていると思う。自分のITキャリア25年を振り返ると、普通の開発者はデータモデリングや管理について関心も薄く、知識もあまりなかった
→ 小さなスタートアップでは見つけにくいかもしれないが、大企業ではDBAは必須だ。私のプロジェクトには2〜3人いて、いつもさらに人を探している
→ ひどいデータ要求/SQLや、まずいデータモデル/テーブルが性能に何倍もの影響を与えるかを知ったら驚くだろう。また、特定のインデックスやチューニング統計を追加することが実行にどれほど役立つかも
→ 優秀なDBAを雇うよりも、「ハードウェアは安い」のだからより良いハードウェアを追加すればいい、で済ませられる規模もあるが
→ 私はよく、経験豊富な開発者ですら1行の答えを得るために100億行をバッファで読むSQLを書くのを目にする(もちろん必要なこともあるが、たいていは違う) -
データをモデリングし、データウェアハウスを構築し、スキーマを管理・保守し、アナリストが効率的なSQLを書くのを助けられるなら、「あなたは非常に長く雇われ続けるだろう」。単にシステム管理者の観点だけで見れば、SaaS/PaaSソリューションのせいで消えていくだろうが
1件のコメント
途中で挙げられていた例のせいで、Github は Foreign Key をまったく使用していません(2016) という記事を思い出しました