All Articles

db とかまたキャッチアップ

ざっくり考えてはみた 01

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 呼び出せる
    • ローカルで商用と同じものをしっかり検証したい