→データベース関連
- 論理削除が云々について - mike-neckのブログ 2015
- テーブルに状態を持たせない
- 究極には機械が認識するキーと、人間にとって意味のあるデータだけのエンティティだけですべての業務のデータを構成できる
- 日付を持つデータはイベント(これもひとつのエンティティ)
- NULLのデータは絶対に持ってはならない
- テーブルはでかく作るな、小さく作れ
- テーブル同士の関連は直接持つな、関連を表すテーブルを作れ
- 1:1の関連になったとしても、イベントとそれに付随するデータは分離しろ
- データが増える?金と物理で殴れ(ディスク増強しろ)
ER図†
→ドキュメント作成
インデックス†
mixiはいかにして増え続けるトラフィックに対処してきたか†
- http://itpro.nikkeibp.co.jp/article/NEWS/20060330/233820/
- Webサーバーは単純に増やせばいいのであまり問題にならない。
- MySQLのスケーラビリティをどう確保するか
- mixiは更新処理が多いためレプリケーションはあまり有効ではない
- そこでまずデータベースの分割で対応
- この対応でもおっつかなくなった
- 次にユーザ単位でのDB分割
- パーティション・マップ用DBの追加
- アプリケーションの中だけでパーティション・マップを処理
- (これらはパーティション・マップが増えることへの対応か?)
- DB分割によるコネクションの増加→メモリ・キャッシュで対応
- 将来は更新日時によるデータ分割も検討する
Last-modified: 2024-12-06 (金) 11:21:01