Web、業務系アプリを問わず、どんなシステムにも必ずデータベース(以下DB)は存在します。
DBはシステムの要であり、壊れる or 不整合が生じた瞬間にシステムは停止し、企業の業務や私たちが普段から使用しているサービスはストップします。このような障害は稀に起こる事象ではなく、しばしば人の手により引き起こされます。
そんな大障害を引き起こさないために、どんなエンジニアであっても(経験年数、インフラ、アプリエンジニア問わず)DBの知識は身に付けておいてほしいものです。
アプリ開発経験3年、DB設計構築&運用経験2年の私がおすすめしたい参照書をまとめました。初級編の書籍に関しては、近年急増している駆け出しエンジニアの方にも読んでいただきたいと思っています。
筆者は何者なのか
導入部分でも軽く触れましたが、アプリ開発経験3年、DB設計構築&運用経験2年の20代SEです。キラキラしていない部類のエンジニアになります。基本的に憧れの対象にはなりません。
大学では電気工学系の学部であったものの、電気に興味を持てず(オームの法則くらいしか覚えていない)、4年次に情報系の研究室に配属されたことからITに興味をもち、そのまま中小SIerに就職。
そこで3年ほどアプリ開発を経験しましたが、段々と管理寄りの業務が多くなり、楽しさややりがいを見いだせず、転職を決意。元々、SEには技術力や専門性が必須だと信じていたタイプだったので、管理業務から方向性を180°変えて、DB関連業務を専門的に請け負っているSIerに転職。
保持資格は下記の通りです。
・Oracle Master 12c Gold
・基本情報技術者
・Microsoft Azure Administrator(AZ-104)
初級編:ORACLE MASTER Bronze Oracle Database 12c
こちらはOracle Master資格の参考書です。
Oracleの参考書なので微妙じゃない?という声が聞こえてきそうですが、他のDBの構造、SQLはほとんどOracleと同じです。(というかOracleを参考にしているのではないか)
他にも「絵で学ぶ~~」とか分かり易そうな本が色々でていますが、感覚的ではなく本質的な知識を身に付けるのであれば資格の参考書はおすすめです。
資格まで取る必要はないので、こちらを使用してDBの基本的なアーキテクチャ、SQLを学びましょう。
↓DBのアーキテクチャに関して学習できます。
↓よく使用されるSQL構文について学習できます。
中級編:プロとしてのシリーズ
ある程度現場経験を積んでいるエンジニアであれば、「プロとしての」シリーズは超おすすめです。
基礎的なこともそこそこ書かれていて、読み飛ばすページも多いですが、現場で役立つヒントが多数記載されています。設計構築~運用までカバーされているのがいいですね。
↓より深くDBのアーキテクチャについて学習でき、設計構築のヒントになることが多く記載されています。
↓PL/SQLについて詳しく記載されています。アプリ開発者の参考になる一冊。
↓DBの運用設計について記載されています。アーキテクチャ関連の記載も多いですが、運用のヒントになる記載も非常に多い。
まとめ
今回はおすすめ書籍ということでしたが、DBエンジニアからしたらかなり基礎的なことが記載されている書籍ばかりを紹介ました。
より専門性を高めるには、Oracleやその他DBベンダーの主催するセミナーに参加したり、ベンダー公式ブログを追っかけるのが一番だと思います。これらの情報をまとめた記事も今後投稿していこうかなぁと思っています。