DBテーブル設計入門に参加してきました
感想
サポーターズCoLabの「DBテーブル設計入門」に参加してきました。
DB設計ムズイ。
データの種類によってテーブルを分割したり、ミドルウェアを変更したりと考慮するべき点が多いなと改めて感じました。 アンチパターンは存在するが、正解があってないような世界だと思うので、勉強し続けることと良質な経験を重ねることが大事なのかなという所感です。
ゲームアプリのDBテーブル設計を実例にどのような設計にするべきなのかということを学べました。
スライド
共有はありませんでした。
メモ書き
自己紹介
- 梶川 琢馬さん
- サーバーサイドエンジニア3年目
DBテーブル設計の重要性
- データの蓄積や検索を楽にする
- データはシステムより長く残り続ける
- 後から変更しづらい
- 影響範囲が広いため
- メンテナンスがしづらいため
DBテーブル設計の流れ
- 論理(概念)設計:人間のための設計
- ビジネス要件をデータモデルとして表現する
- エンティティやリレーションの定義
- 正規化
- 物理設計:システムのための設計
- セキュリティやパフォーマンスを考慮
- 水平/垂直分割、Master/Slave構成
- 正規化を崩す
- ミドルウェアを変更する
オンラインゲーム
- ユーザ数が多い
- リリース後に継続して改修
データの分類
- マスタ
- 一度登録すると頻繁に更新されないデータ
- トランザクション
- 頻繁に更新されるデータ
- サマリ
- 集計結果を保存する。主に分析用。
- キャッシュ
- 頻繁に参照されるデータの置き場所。
- ログ
- 分析・デバッグ用
テクニック
- 1対1テーブル
- 基本的に1つにできるがトランザクション頻度によって分ける
- クラス継承
- ビジネス要件を把握する
- チームメンバーと議論する
- 既存のテーブル設計について
- コードレビューよりも早めにテーブル設計レビューを依頼する
データ特性に応じたミドルウェア選択
- RDB
- KVS
- DWH
おすすめ書籍
- 作者: Bill Karwin,和田卓人,和田省二,児島修
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/01/26
- メディア: 大型本
- 購入: 9人 クリック: 698回
- この商品を含むブログ (46件) を見る
- 現場で役立つシステム設計の原則
現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法
- 作者: 増田亨
- 出版社/メーカー: 技術評論社
- 発売日: 2017/07/05
- メディア: Kindle版
- この商品を含むブログ (3件) を見る