失敗から学ぶ RDBの正しい歩き方

はじめに

この記事を読むのに必要な時間:およそ 0.5 分

はじめに

本書では,筆者が業務系,Web系のシステム開発を通じて見てきた「RDBアンチパターン」について話していきます。
⁠データベースの寿命はアプリケーションよりも長い」が筆者の持論です。なぜならば,データベースはサービス開発当初から存在することが一般的で,アプリケーションコードのようにリプレースされることは稀だからです。また複数のサービスから参照されることも多々あり,その場合,最初に使われていたサービスが終了しても,データベースはほかのサービスとともに運用され続けます。
このように,データベースは長く付き合っていかねばならない相手であり,開発者はその特性ゆえの問題にぶつかることがあります。そういった,開発の現場で実際に起こっている,発生しやすいリレーショナルデータベース(RDB)全般の問題をアンチパターンとして紹介していきます。
RDBは広く使われている反面,次のような注意事項があります。

  • データベースの停止はサービスの停止を伴うことが多いため,メンテナンスしにくい
  • データは常に増え続け,リファクタリングしにくい
  • サービスの中核を担うため,変更による影響が大きい

このように,RDBのアンチパターンはアプリケーションのアンチパターン以上にダメージが大きいのです。
そして厄介なことに,RDBの問題はある日を境に顕在化するということが多いです。当初は良かれと思った設計が,あとになって問題を引き起こすこともままあります。しかし,誰かが経験したその問題をパターン化して共有しておくことで,初めのうちからその問題を避けられます。そういった点から,RDBアンチパターンを紹介することはたいへん有意義なのです。
本書ではRDBのアンチパターンを通して問題を提起し,多くの方に周知していただくことで問題を未然に防ぎ,現在の問題と戦っていくための1つの答えを提供できればと思います。

著者プロフィール

曽根壮大(そねたけとも)

Twitter:@soudai1025
株式会社オミカレ副社長兼CTO。数々の業務システム,Webサービスなどの開発・運用を担当し,2017年に株式会社はてなでサービス監視サービス「Mackerel」のCRE(Customer Reliability Engineer)を経て現職。コミュニティ活動としては,Microsoft MVPをはじめ,日本PostgreSQLユーザ会の理事兼勉強会分科会座長として勉強会の開催を担当し,各地で登壇もしている。そのほか,岡山Python勉強会を主催し,オープンラボ備後にも所属。「builderscon 2017」「YAPC::Kansai 2017」などのイベントでベストスピーカーを受賞するなど,わかりやすく実践的な内容のトークに定評がある。『Software Design』誌ではデータベースに関する連載「RDBアンチパターン」などを執筆。