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からのものが増えている
「`」で囲んでエスケープする必要がある
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からのものが増えている
「`」で囲んでエスケープする必要がある