失敗から正しい設計⁠運用を学ぶ

RDBはエンジニアの必修科目

給与計算といった社内システムでは社員の個人情報、ECサイトといったWebサービスではユーザの購入情報というように、ほとんどのITシステムはデータの管理という責務を持っています。データの管理には行と列からなる表形式のデータベース、RDB(リレーショナルデータベース)を使うのが一般的です。システムを開発する以上、RDBを使うことは避けられず、RDBを管理するMySQLやPostgreSQLといったRDBMSの習熟は、エンジニアの必須科目と言えるでしょう。

何が起こるかわからないRDB

RDBの開発・運用には、正規化やSQLなど求められる基礎知識が多いのですが、それ以上に現場のノウハウが重要となります。⁠WebサービスがTVのニュースで取り上げられることで会員が急に増えたとき、気を付けるべきことは何か⁠⁠、⁠業務の切り替えで新しい種類のデータも管理しなければならなくなったとき、どのように改修を行えば良いか」など、入門書には書いていないような生きた知識が求められる場面が非常に多いのです。そういった知識がないと、いざ処理が極端に遅くなったり、システムが止まったりした際、何が原因かもわからず途方に暮れることでしょう。

最初の設計が何より大事

こういったRDBの問題には最初の設計時点で防げるものも多く、あらかじめどのような失敗例があるのかを知っておくことがとても大切です。たとえば、⁠表と表を結合するJOINの操作を多く設定しており、データ量が増えたときに処理がなかなか終わらないシステムになってしまった」といったものです。データが増えることを想定してインデックスを適切に設定しておき、JOINの数を抑えておけば、こういった問題は防ぐことができます。

失敗から学ぶ

失敗から学ぶRDBの正しい歩き方は、執筆者が実際に体験したものも含め、開発・運用現場でよくみられるRDBの失敗例を紹介しながら、どうすればその問題を防げるのかを解説しています。本書では問題解決に必要なRDBの基礎も、その都度紹介しているので、中級者は復習しつつ、初級者は基本を押さえつつ、現場で培われた実践的な知識を得られるでしょう。MySQLやPostgreSQLを使っている、またこれから使う人は、本書で「失敗」を疑似的に体験してみてはいかがでしょうか。