昨日、2018-12-01 中国地方DB勉強会 in 鳥取(倉吉) を開催致しました!! 熱は熱い内に!!! ブログエントリーです!
テーマはメジャーバージョンアップ
中国地方DB勉強会は僕が開催する時は割とメインテーマを設定してコンテンツを決めています。
今回は DBのメジャーバージョンアップ をメインテーマとして主要セッションを構成しました。
このテーマにした理由として 自分のOSC 参加がきっかけだったりします。
今年は 2回 JPUGの活動としてOSCにブースの出展を行いました。 そこでは PostgreSQL11の新機能の話をさせて頂きました。 パラレルクエリの話を例として、とても感動して頂いた反面、「PostgreSQL11が凄いのはとても良く分かったし、使ってみたいけど 実務で使うとして どうやってバージョンアップするのが良いんですかね?」みたいな質問を非常に多く受けました。
僕自身、割とそこへの明確解を持っているわけではなく歯がゆいな・・って気持ちになる事が多かったです。
今回、その為 豪華な講師陣の方をお呼びして 「僕の聞きたいDBメジャーバージョンアップの話」をご提供させていただきました。
当日のTwitterまとめは以下リンクより御覧ください。
セッション
PostgreSQLをAWS DMSで安心安全バージョンアップ
私です。 豪華な講師陣の前座としてお話させてもらいました。
今、僕の働いてる 婚活サービスを運営してるオミカレ でDMSを活用して DBリファクタリングをやっています。
ちなみに その話はPostgreSQL Conference Japan でお話させて頂いていて 次の ブログエントリに書いてます。
今回は 実務でDMSを使った関係から DMSの入門話 と 実はDMSを使ってメジャーバージョンアップを行う事が出来るのでは?という事で挑戦してみました。
DMSさえ使えば完璧に移行できるわけでは無いことがわかった #ChugokuDB
— Yamamoto Kazuhisa (@kazuhisa1976) 2018年12月1日
実際に挑戦してみた結果 DMSだけ では完璧に移行出来るわけではないです。
例えば、セカンダリーインデックスなど諸々の諸テーブルはDMSではレプリケーション出来ません。 スライドでも書いてたりしますが、 uniqueキーの制約が外れていたり、 serial型のカラムが int型になっていたりします。
DMSは細かいテーブル定義の再現はしてくれないので、dumpで定義だけ先に持っていくか、SCTを使う。#ChugokuDB
— hmatsu47(まつ) (@hmatsu47) 2018年12月1日
まず、DB構造だけコピーしてその後でDMSの得意なデータ移行をやるのがいいのでは、って思ったりしました。
このDMSを使ったメジャーバージョンアップの手法としてのメリットとしては予めメジャーバージョンアップされたDBインスタンスが手に入るのでテスト等を予め行っておく事が出来る。 CDCLatency という継続的なレプリケーションの遅延メトリクスを監視する事で予め移行時間を計画立てる事が出来るのもメリットかな、と考えています。
MySQLバージョンアップの基礎知識
ここからは実セッションについてです。 Oracleの山崎様に MySQLのバージョンアップ についてご講演をしていただきました。 本当めちゃくちゃいい話だった・・・。
MySQL 5.5のExtended サポートは今月で終わるのでこれからはマイナーバージョンアップは出てこなくなる。MySQL 5.6は2月からExtended サポートになっているので新しいOS上ではサポートされない。 #chugokudb
— そーだい@初代ALF (@soudai1025) 2018年12月1日
マニュアルで非互換の場合は
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年12月1日
これが廃止される、って情報だけじゃなくて 廃止されて代わりにこうする、みたいな話がある。#ChugokuDB
もっとマニュアルを見たほうがいいよなー、って気持ちになる。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年12月1日
マニュアルってえいや、って頑張らないと見ない、って事に陥りがちなのよね(´・ω・`)#ChugokuDB
やっぱりマニュアルを呼ぶようにした方がいいな、って気持ちになったんだけど 例えばRSSだったり そういう何かきっかけとして見れるトリガーみたいなのあったりするんだろうかな??
そして切望される 日本語Document対応・・・。
MySQL 8.0の日本語ドキュメント、めちゃめちゃ欲しい!!頼む!! #chugokudb
— そーだい@初代ALF (@soudai1025) 2018年12月1日
かじやまさんが3人いればマニュアル日本語化が瞬時に完了する説。#ChugokuDB
— hmatsu47(まつ) (@hmatsu47) 2018年12月1日
5.6で特別に英語以外に日本語が対応されてる!
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年12月1日
なんと!!
MySQL の日本語Document翻訳頑張ってほしい。#ChugokuDB
MySQL 5.6で英語以外のドキュメントがあるのは実は日本だけ。 #chugokudb
— そーだい@初代ALF (@soudai1025) 2018年12月1日
例えば プルリク送ってマージされたらちょくちょく日本語化されていく仕組みとかどう? って思ったけど レビューだれするの?みたいな問題もあるし、難しいんだろうな・・・。
ちなみに僕、ちょっとそういうの興味あるな、って気持ちになったりしてる。
ちょっとPostgreSQLのドキュメント翻訳興味ある気持ちある。って思ってる。#ChugokuDB
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年12月1日
ちなみにPostgreSQL11では JPUGによって日本語ドキュメントが公開されています。
みんなもぜひ参加してくれ!! #chugokudb https://t.co/8NFTYGJFwz
— そーだい@初代ALF (@soudai1025) 2018年12月1日
そして、ちょろっと出てきた話ですが、 OracleさんのMySQLのサポート契約をするってのも手という事。 エンタープライズ・コミュニティ版 関係無くサポートが受けれたりとか、もちろん今回のようなDBメジャーバージョンアップについてサポートを受ける事が出来たり。 そして、イチオシとしてはチューニングのサポートを受けれたりします。 こういうめちゃくちゃ凄い人達にサポートをしていただけるのは凄い事なので 困っている人たちにこの情報はもっと届いてほしいなって思ったりします。
困った時にサポートサービスってのがあるらしい!!
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年12月1日
すごい!便利〜〜!!
コミュニティ版のバイナリでもウケれる!#ChugokuDB
MySQLサポートの凄いところはサポートの日本人があの知ってるあの人達ってのがすげーよな。ほんとすげーよ。 #ChugokuDB
— そーだい@初代ALF (@soudai1025) 2018年12月1日
PostgreSQLのバージョンアップ
続いて、弊社CTOの そーだいさんに PostgreSQLのバージョンアップ の話を行っていただきました。エモエモのエモでしたね。
- 書籍のご紹介
発表の中でご紹介されていた書籍です。PostgreSQLの内部構造の本は秒で購入してきた。
[改訂新版]内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design plus)
- 作者: 勝俣智成,佐伯昌樹,原田登志
- 出版社/メーカー: 技術評論社
- 発売日: 2018/09/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
- 作者: 高塚遙,桑村潤
- 出版社/メーカー: 技術評論社
- 発売日: 2018/07/26
- メディア: 大型本
- この商品を含むブログを見る
PostgreSQLの新機能の確認、「篠田の虎の巻」と「NTTデータさんの資料」がお勧めです。 #ChugokuDB
— Yoshiaki Yamasaki (@yyamasaki1) 2018年12月1日
「バージョンアップしてますか?」
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年12月1日
「メリットあるの?」#ChugokuDB
そーだいさんからは 「何のためにバージョンアップするのか?」 とかの観点から 実際にメジャーバージョンアップの手法に触れていただき、そして実例を元にメジャーバージョンアップをして良かった事などを発表いただきました。
バージョンアップのメリット
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年12月1日
「新機能が使える」
「パフォーマンスが向上する」#ChugokuDB
ダンプしてレストアするだけでもバージョンアップ出来る。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年12月1日
データ量に比例するが 1GBとか2GBとかだけの場合は本当数秒で終わる。
めっちゃ簡単でおすすめ。#ChugokuDB
大体の場合は pg_dump と pg_restore で解決出来る。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年12月1日
データが大きい場合とかはどうできるか。#ChugokuDB
そして、今回 ベスト・オブいい話 は そーだいさんのこの言葉だったんじゃないかなー、って思います。
一回も止めたことのないDBは止めにくいが、停止時間の短いマイナーバージョンアップを小まめにやっておくことで、長時間停止を伴うバージョンアップもやりやすくなる(関係者を説得しやすくなる) #ChugokuDB
— Yoshiaki Yamasaki (@yyamasaki1) 2018年12月1日
バージョンアップの文化を作っていくのは大事。
懇親会
うまそう…!
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年12月1日
#ChugokuDB pic.twitter.com/XF5rKNz6Iu
そして、中国地方DB勉強会の良い所のもう一つの事として各地域の美味しいものを食べれる、ということ。
山陰の海の幸に舌鼓を打ってきました!!!
後懇親会ならではの色んな話も出来ましたね。 皆様次回もよろしくお願いします!!
次回の中国地方DB勉強会
次回は 2019-02-02 (土) 、岡山にて 第26回 中国地方DB勉強会 in 岡山が開催されます。
いい話を今後も提供致したいと思いますのでぜひともよろしくお願いします!!