Kindle本『壊れないDB設計』を出版しました。

タイトルは、
壊れないDB設計
判断順序で学ぶDB設計の全体像
です。
PostgreSQLを題材にしながら、DB設計をテーブル定義だけで終わらせず、運用中に判断できる設計として整理した本です。
Kindle Unlimitedに加入している方は、追加料金なしで読むことができます。
なぜこの本を書いたのか
これまで業務で複数のDB設計や運用に関わってきました。
その中で感じていたのは、DB設計は単にテーブルを作る作業ではない、ということです。
テーブル、カラム、主キー、インデックス、正規化。
もちろん、それらは大事です。
ただ、実務で本当に迷うのは、その前後にある判断です。
どのデータを守るのか。
どの処理を優先するのか。
どこまで同期させるのか。
障害時に何を止め、何を続けるのか。
変更時に既存データをどう扱うのか。
レビューで何を確認すればよいのか。
こうした判断は、現場で経験しないと見えにくい部分でもあります。
だからこそ、業務で携わってきたDB設計から得られた知見を、どこかに残しておきたいと思い、最初はnote記事として書き始めました。
note記事から、1冊のKindle本へ
最初は、テーマごとに分けた有料note記事として公開していました。
全部で5本です。
DB設計という限られたテーマなので、そこまで多くの人に届くものではないと思っていました。
それでも、私が想定していたより多くの反応がありました。
読まれた数だけでなく、DB設計や運用判断に悩んでいる人が一定数いることも感じました。
そこで、個別記事として置いておくよりも、全体を体系的にまとめ直した1冊の本にしたいと思うようになりました。
今回のKindle版は、note記事をそのまま並べたものではありません。
全体の流れを見直し、重複を整理し、章立てを組み直し、1冊の本として読めるように再構成しました。
最終的には、約148,000字の本になりました。
この本で扱っていること
本書では、DB設計を「判断順序」として整理しています。
主に扱っているテーマは、以下のようなものです。
- 設計判断の全体像
- 高負荷設計の考え方
- 業務理解とDB設計の関係
- システム全体アーキテクチャ
- レプリケーション方式の判断
- 巨大データの設計判断
- 障害対応の判断順序
- 変更に強いデータ設計
- データ移行の考え方
- 設計レビューで確認すべきこと
- 判断できる設計として何を残すか
PostgreSQLを題材にしていますが、PostgreSQL固有機能の細かい解説だけを目的にした本ではありません。
物理レプリケーション、論理レプリケーション、WAL、複製範囲などにも触れていますが、中心にあるのは「どの機能を使うか」ではなく、「どの条件で設計判断を変えるか」です。
どんな人に向けた本か
この本は、DB設計という比較的限られたテーマを扱っています。
そのため、すべての人に向けた本ではありません。
ただ、次のような人には役に立つ内容だと思っています。
- これからDB設計に関わる人
- 今まさにDB設計をしていて、判断に迷っている人
- テーブル設計だけでなく、運用まで見据えた設計を考えたい人
- 障害や変更に強いDB設計を考えたい人
- 設計レビューで何を見ればよいか整理したい人
- PostgreSQLを使った実務設計の考え方を知りたい人
DB設計は、一度作って終わりではありません。
運用が始まると、負荷が変わります。
データ量が増えます。
障害が起きます。
仕様変更が入ります。
既存データを保ったまま移行しなければならない場面も出てきます。
そのときに必要なのは、最初に作ったテーブル定義だけではありません。
なぜその設計にしたのか。
どの条件なら見直すのか。
どこを守り、どこを割り切るのか。
そうした判断条件が残っていることが、運用に耐えるDB設計につながると考えています
Kindle Unlimitedでも読めます
本書はKindle本として公開しています。
Kindle Unlimitedに加入している方は、追加料金なしで読むことができます。
DB設計や運用判断について整理したい方は、ぜひ読んでみてください。
Amazonページはこちらです。

最後に
この本は、派手な新技術を紹介する本ではありません。
DB設計という、地味だけれど後から効いてくる領域について、判断の順番を整理した本です。
テーブルをどう作るかだけではなく、運用中に何を判断できる状態にしておくか。
その視点でDB設計を見直したい方に届けばうれしいです。

