GajumaleRecruit Site

ニュース

イベントや勉強会の様子をお伝えしています。
ガジュマルの雰囲気を、是非感じてみてください。

勉強会
DB

MySQL8とAmazon Aurora Version3

2022年02月19日(土曜日)
■概要
MySQLとAmazon Auroraについて、
概要の復習~最新のMySQL8とAmazon Aurora3について解説

■はじめに
 2021.11.18にMySQL8互換のAuroraがリリースされたお知らせ
 (あくまでMySQL8互換で=MySQL8ではない)
 →MySQL5系から8系へ移行していく流れが強くなっていく

■MySQL
 ⚫︎MySQLの歴史
  (1995年)Michael WideniusらによってMySQLが開発される
  (2001年)オープンソース化される
  (2005年)10月MySQL5.0リリース
  (2008年)MySQLがサンマイクロシステムズによって買収される
  (2010年~)Oracleがサンマイクロシステムズを買収する
       12月MySQL5.5リリース
  (2013年)2月MySQL5.6リリース
  (2015年)10月MySQL5.7リリース
  (2018年)4月MySQL8.0リリース

  幻のバージョンMySQL5.2〜MySQL5.4、MySQL6.X〜MySQL7.X

 ⚫︎MySQL8
  「MySQL5.7より最大2倍高速」と公式に銘打っているバージョン
  ・ユーザー認証の仕様が変わっていて、沼にはまるパターンが多い
  ・デフォルトの文字コードがutf8mb4
   カナソートしていると順番が拗音、長音、濁音の優先順序が変わる

 できるようになったこと
  ・CTE(Common Table Expressions):WITH句が使用可能に
  ・Window関数が使用可能に
  ・権限管理がロール単位で可能に *ユーザー認証に関わる
  ・ドキュメントストアが追加
  ・JSONサポート強化
  ・GIS(Geographic Information System ):
    SRS(Spatial Reference Systems)をサポート
 できなくなったこと
  ・クエリーキャッシュのサポート終了
  ・古いTIME型やTIMESTAMP型の廃止

  *WITH句
   SELECT文に別名をつけてテーブルと同様に使うことができる
   WITH句にまとめることでSQLがシンプルになる
  *Window関数
   分析関数とも呼ばれる
   SELECT文に対して分析を行うことができる関数

■Amazon Aurora MySQL
 MySQL互換エディション
 MySQLと比べて最大5倍のスループット

 ⚫︎AuroraバージョンごとのMySQL
  Version1:MySQL5.6
  Version2:MySQL5.7
  Version3:MySQL8.0

 ⚫︎変更点
  MySQL8.0の変更点とほとんど同じ
  Version2でのバグは解消しているはず
   ・インスタントDDLが使えるようになった
    →カラムの追加に時間がかからなくなった
   ・WITH句が使える
   ・Window関数が使える
   ・ユーザー管理の方法が変わった
   ・バイナリログについて改良

  今後、MySQLが新しくなるとAuroraも新しくなる予定

■移行の際の注意点
 ・文字コード照合順序のデフォルト値
 ・カウントを取るためのSQL
  (SQL_CALC_FOUND_ROWS と FOUND_ROWS() )が非推奨
 ・SQLモードの設定が増えたことで、
  SQL文が厳密にチェックされるようになった
  (今まで動いていたものが動かなくなった)*変更は非推奨
 ・予約語がMySQL8.0からのものが増えている
  「`」で囲んでエスケープする必要がある
一覧へ戻る