-
DDD ハンズオン
- ドメインから考えてテーブルに落としたり。
- https://www.slideshare.net/SoudaiSone/ddd-50659329
- 無人有料駐車場(時間貸し) の管理システム
ざっくり考えてはみた
Window 関数、マテビュー便利そう
https://www.slideshare.net/SoudaiSone/webpostgre-sql3
マテビューはリフレッシュコストなどとのトレードオフ。
サービスが成熟してきたら使うとか、ある程度変更も見据えられるようにならないときつそう。
実行計画、explain の見方
https://speakerdeck.com/soudai/shi-xing-ji-hua-falsehua?slide=51
DB中国支部資料
https://dbstudychugoku.github.io/
Mysql で window わかりやすかった記事。8系から使える。check 制約も 8系から。 https://qiita.com/okumurakengo/items/b428827ee7930d2b6a25
check 制約はオンラインDDLできない模様
https://yoku0825.blogspot.com/2019/04/mysql-8016checknot-enforced.html
オンラインDDL
https://qiita.com/doriven/items/6d31f01589d6cfcc1b85
https://gihyo.jp/dev/serial/01/mysql-road-construction-news/0030
データが何億とかある場合テーブル情報変更時にロックかからないかは慎重にみたほうがよい。
8.0.12 以降では INSTANT でカラム追加もロックなしに実行できる模様。
Aurora での fastDDL ↑と似た機能
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.FastDDL.html
auroralabmode が有効になっているか確認する必要あり
その他tips
-
画像を扱うときはバイナリをhash化して持っておけば同じものかすぐわかる
- hash はindex効かせられるのもいい
- Redash ユーザ用に view 作って、Redash 用にユーザ作れば閲覧権限かけられる
-
AWS DMS
- MySQL -> postgres へデータ移管できる
-
Aurora より RDS のとき
- OSS の機能を使っていきたい
- AuroraはOSSではない
-
トリガーなど
- Auroraは lambda 呼び出せる
- ローカルで商用と同じものをしっかり検証したい