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

シッパイ カラ マナブ アールディービー ノ タダシイ アルキカタ

失敗から学ぶ RDB の正しい歩き方の表紙
データベース
著者:
曽根壮大(ソネ, タケトモ)
出版社:
技術評論社
出版日:
2019年03月
ISBN:
9784297104085
シリーズ:
Software Design plus
在庫:
在庫あり
4.5(13 件 / 楽天ブックス)
中級者向け
RDBMySQLPostgreSQLデータベース設計データベース運用エラー対応ベストプラクティスパフォーマンス最適化データモデリングリレーショナルデータベース

なぜ注目されているか

言及数
206位
総合413位 ↑ 5 ランクアップ 言及 20 件・うち記事 13 件を掲載
02320222023202420252026

書籍紹介

MySQL・PostgreSQL の設計と運用を見直す。

技書の森解説

動いているデータベースに潜む設計と運用の失敗を、20 のアンチパターンとして名前を付け、生まないための手立てまで解説する本です。『失敗から学ぶ RDB の正しい歩き方』は曽根壮大 氏の単著で、技術評論社の Software Design plus シリーズから 2019 年 3 月に刊行されました (版元の発売日は 2019 年 3 月 6 日)。書誌の紹介文によると、MySQL と PostgreSQL の設計と運用を見直す本です。版元のプロフィールでは、著者は株式会社オミカレの副社長兼 CTO で、日本 PostgreSQL ユーザー会の理事を務め、『Software Design』誌でデータベースに関する連載「RDB アンチパターン」などを執筆してきたと紹介されています。

全 20 章、どの章もアンチパターンの解説から始まる構成

版元の試し読み PDF に載る詳細目次では、全 20 章のどれもが「アンチパターンの解説」で始まり、「アンチパターンを生まないためには?」と「アンチパターンのポイント」へ進む同じ型をとります。章によっては、その間に背景の知識を補う節が入ります。第 4 章「効かない INDEX」には「INDEX の役割」、第 5 章「フラグの闇」には「とりあえず削除フラグ」、第 14 章「ロックの功罪」には「トランザクション分離レベル」、第 15 章「簡単過ぎる不整合」には「非正規化の誘惑」といった節があります。章題の並びを見ると、第 1 章から第 9 章はテーブル設計と SQL の使い方、第 10 章から第 12 章はバックアップ、エラーログ、監視という運用、第 13 章と第 14 章はロック、その先はキャッシュ、複雑なクエリ、設定、バージョンアップ、フレームワークへの依存と、設計から運用の周辺へ広がる組み立てと読めます。第 6 章の Redis、第 7 章の EAV の代替としての JSON データ型、第 9 章の PostgreSQL の遅延制約のように、コラムで関連する話題を補う章もあります。

動いているから気づけない、RDB の失敗が表に出るまで

データベースの設計の誤りは、作った直後にはほとんど表に出ません。データ量が少ないうちは、使われない インデックス でも全件を読む検索でも応答は速く、削除フラグで済ませた論理削除も問題を起こしません。行が増え、同時に書き込む利用者が増え、担当者が入れ替わったころに、遅いクエリやロックの待ち、説明のつかない不整合として現れます。多くの章が解説、背景の知識、防ぎ方、ポイントの順に節を並べているのは、症状だけでなく原因の仕組みまでたどれるようにするためと読めます。たとえばロックの章でトランザクション分離レベルを扱い、不整合の章で非正規化の誘惑を取り上げています。読み取りを速くするためにデータをあえて重複して持つ 非正規化 も、同時に動く処理どうしで変更がどこまで見えるかを決める トランザクション分離レベル の設定も、後から整合性の問題として返ってくることがあり、その関係を示す配置と読めます。運用の章でバックアップ、エラーログ、監視、設定、バージョンアップを独立した失敗として扱っている点も、データベースの問題をテーブル設計だけに閉じない本書の視点を表しています。

障害に悩む MySQL と PostgreSQL の担当者と新人に向く理由

版元は、MySQL や PostgreSQL を使ったシステムやサービスを設計、運用していて、原因の分からない障害によく出くわす人、そしてそれを改善したい人に勧めています。あわせて、それぞれの章で問題解決に必要な RDB や SQL の基礎知識も押さえるため、RDBMS を触り始めた新人にも勧められると案内しています。前任者から引き継いだテーブルや SQL の意図が読み解けない人、フレームワークに SQL の組み立てを任せてきて、その裏で何が起きているのかを知りたいアプリケーション開発者にも、章ごとの失敗例は具体的な手がかりになります。一方、本書はアンチパターンを入り口に必要な基礎を補う組み立てなので、リレーショナルモデルの理論を最初から順に学びたい人は、理論を主にした入門書と組み合わせると目的に近づきます。また、2019 年の刊行なので、製品ごとの細かな挙動や設定の名前は、手元の版の公式文書で確かめながら読む前提です。自分のシステムで起きている症状に名前を付け、次の設計で同じ失敗を繰り返さないための一冊として、データベースを日々扱う人には投じた時間に見合う本です。

言及した記事 (13 件)

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: