データモデリングとSQL
データベース製品側での実装戦略では以下の2つが求めらていることが多い。
- クライアントの処理を一切ブロックせずにオンラインで定義変更が出来るもの(MySQL Cluster, InnoDB)
- そもそもテーブル定義すらなくても一定以上の品質で動作するようにするもの(NoSQL)
InnoDBを利用して、ロックをかけずにSELECTして、
開始した時点でコミットされていたデータを読み取ること(=トランザクション)が可能にする。
定義変更の際にマスタとスレーブを交互に切りかえる。
など。