先日 11月22日、私も理事をしております JPUG(日本PostgreSQLユーザー会)主催で、 PostgreSQL Conference Japan 2018 が開催されました。
私自身は「MySQLからPostgreSQLへの移行とDBリファクタリング」というタイトルで異種DBの移行プロジェクトのについてお話させて頂きました。
熱は熱い内に打て、とも言いますし感想をブログにまとめて行きたいと思います。
自分の取り組みについて
初めてのCfP
今回は初めてCfPを出して、トークを採択して頂くという手順で当日発表を迎えました。
これまでCfPというのを書いた事がなかったので予め自分で作った後、弊社CTOの そーだい(@soudai1025)さんに予めレビューを頂きました。
レビューして頂いて考慮したのは以下の2点です。
- タイトルが長くてHPに乗っけた時にレイアウトが崩れるだろうからもう少し意識した方が良さそう。
- 概要はシンプルに書く事。(箇条書きにしたり、対象者を書いておくのも良い)
実際に提出したCfPはこちらです。
でも、本当に今の会社のこういう文化有り難いですね。
これをDMで聞いちゃったんですけど他のエンジニアの方にもアドバイス聞きたいしPublicのチャンネルでやっても良かったな〜、って思ったりしたので今後送る時はそうしようw。
8割位ダメ元で送ったのですが、まさかの採択で本当にびっくりしました。
当日講演について
当日のTweetに関しては この辺りから辿れますのでご参照ください。Twitterまとめとかは今回も ぬこ@横浜さんが作ってくださってます。毎回、本当にありがたい。
今回は現在の勤務先の 株式会社オミカレ で現在行っている DBリファクタリングプロジェクトとそれにあたってMySQLからPostgreSQLへ移行している、という内容で発表をさせて頂きました。
あらすじとしては以下のような感じです。興味があればスライドをご参照頂いたりとか後日動画が公開される、との事ですのでそちらをご確認ください。
- DBリファクタリングをやる理由。
- 何故、MySQLからPostgreSQLに移行するのか。
- 移行を支えているDMS というサービスについて。
- 移行失敗をどのように監視しているか。
登壇して良かった事
いっつも
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年11月22日
「何でCfP送ったんや俺・・・」ってなるけどやった後、絶対に
「やってよかった!」ってなる。
疲れた。
セッションは13時からだったんですが、割ともうずっとドキドキで大変だったし、直前までスライドを調整したりしてましたw
でも、本当に良かったと今は思います。
まず、フィードバックが返ってくるのがめちゃくちゃ嬉しかったですね。今でも当日のTweetまとめを数回見返したりしてるんですけど、「これ困ってたけどそうすれば良いのか!ありがとう!」みたいなTweet 本当に嬉しいです。
めちゃくちゃRT&いいねをして TLを汚してしまったw ざっと当日の話の流れのTweetをまとめておきます。
データベース構造を眺める会、めっちゃ面白そうw 誰も知らないテーブルがあるw #pgcon18j
— まみー (@mamy1326) 2018年11月22日
サービスとDBの間にAPIを立ててリファクタリングしていく#pgcon18j #pgcon18j_A
— もりはや (@morihaya55) 2018年11月22日
あー、データベースの移行は Amazon DMS 案件なのね。なるほど。そしてPostgreSQL内のtriggerが発動して変換する、と。 #pgcon18j_A #pgcon18j
— T.MOTOOKA@SVG手描き本 (@t_motooka) 2018年11月22日
このアーキテクチャの難しいところ、triggerがエラー吐いたときにどうするかってところですよね。たぶん。 #pgcon18j_A #pgcon18j
— T.MOTOOKA@SVG手描き本 (@t_motooka) 2018年11月22日
「ローカル開発環境を作れない」確かにw #pgcon18j_A #pgcon18j
— T.MOTOOKA@SVG手描き本 (@t_motooka) 2018年11月22日
DBはAWSのDMSを使ってMySQLからPostgreSQLへデータ同期。書き込みはMySQLのままで、参照を同期先のPostgreSQLにする。
— もりはや (@morihaya55) 2018年11月22日
全部リファクタリングできたらMySQLをとめる予定#pgcon18j #pgcon18j_A
PL/pgSQLよりもPL/v8(JavaScript)の方が速いの?知らなかった…(弊社はPL/pgSQLオンリー) #pgcon18j_A #pgcon18j
— T.MOTOOKA@SVG手描き本 (@t_motooka) 2018年11月22日
DMSの失敗は、サービス影響になるので監視をしっかりやる必要。
— もりはや (@morihaya55) 2018年11月22日
監視はmackerelのチェックプラグインで自作phpを回した。
なるほど、これ来週実装しよう、ためになる!!#pgcon18j #pgcon18j_A
@t_motooka さんが常に的確にTweetされてて本当後からみて驚愕しました。 補足であったりとかキレイにまとめてくださってありがとうございました!!
当日の勉強会について
【A3】 Best Practices for Running PostgreSQL on AWS -Amazon RDS for PostgreSQL/Aurora with PostgreSQL Compatibility のご紹介-
AWS の中の方から Amazon RDS for PostgreSQL / Aurora についてご紹介というセッションでした。
午前に貴重講演として Azure Database for PostgreSQL の Microsoftさんのセッションがあったので比較しながら進める事が出来ました。
SQLのチューニングやアプリからどのように使うかに注力出来る。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年11月22日
それがRDSのメリット。#pgcon18j #pgcon18j_A
RDS、改めて本当に便利ですよね。
【A4】 運用が大分変わるよ。オンプレ PostgreSQL から AWS のマネージド PostgreSQL の担当になっての知見
オンプレを運用されたご経験から RDS と オンプレの違いであったりを聞くことが出来ました。
「あ〜〜〜、そうな。。。。」って言う感じで共感・共感のセッションでしたね。
スピーカーの方もDMSを利用されていて、 ログ監視は困ってるとの事で 「ログ監視は午後一番のセッションの オミカレの高橋さんの手法が良いと思います」っておっしゃって頂いたのが死ぬほど嬉しかったです。
懇親会
今回は自分がスピーカーした事もあったのか めちゃくちゃ沢山の方に話かけていただけました。
話をしながら色々な質問を頂いたりとか生の反応を頂けたのもとっても楽しかったです。
勉強会へ参加して
クラウド(AWS)を利用した発表が多かったな〜、って印象でした。
今後の勉強会の運用もどうするか考えていきたいな、って思うような勉強会でした、本当にいい刺激を貰えたしとっても楽しかったです。
後、でかい顔して、シルバースピーカー代表として懇親会中で喋らされる お話させて頂く機会を頂きました。w
シュッと良い事言えるアドリブ力は僕には無かったんですが、その時の話を〜。
弊社オミカレはJPUG理事が二人います。 二人とも(少なくとも自分は)コミュニティにどっぷり浸かって育てて頂いた人間です。
今後もしっかりとコミュニティに貢献させて頂きたいですし、自分が運用している勉強会の発展にも今後しっかり貢献したいな、って改めて頑張りたいきっかけになりました。
まあ、何はともあれめちゃくちゃ楽しかったぞっ!!
告知
僕が運用しているコミュニティの中国地方DB勉強会です。PostgreSQL11へのメジャーバージョンアップであったり、MySQL8.0 へのメジャーバージョンアップの方法について取り上げて展開をしたいと思います。
まだ、残ってるので何卒!!
ではでは、今年も後一ヶ月、良いPostgreSQLライフを〜