スマートフォンがインターネットのエンドポイントとして中心的な役割を果たす時、ECサイトも否応がなく最適化が必要だ。多くの人がスマートフォンでモノを買う時代に、単にサイトをスマートフォン対応にするだけではなく、チャットを使って接客したり、ユーザーに合わせたクーポンを発行したりすることで、受け身ではなく積極的に利用者を引きつけようとするサービス「Flipdesk」を開発しているのがSocketである。
Flipdeskはサイトにコードを埋め込むだけでチャットやおすすめ、クーポンなどを提示。ユーザーの滞留時間やコンバージョンなどを上げる仕掛けをECサイトなどに提供するサービスだ。サイトへの訪問者をCookieによって識別し、行動パターンなどからさまざまなエンドユーザー向けの機能を実現できるという。
SocketのCTO、生内洋平氏
データベースはAWS上に構築した「MySQL」で、2015年末の時点で累計のユニークユーザーが1億を超えるという規模のシステムとなっている。サービスを導入している企業もGolf Digest Onlineや東急ハンズ、リクナビなど大手が名を連ねていることからも分かるように、ネットを最大限に活用する企業からの要求は厳しいものがあるのは容易に想像できる。
前置きが長くなったが、そのFlipdeskを支えるバックエンドのデータベースをAWS上のMySQLから、AWS自身が提供するMySQL互換のデータベースサービス「Aurora」に移行したということで、移行に関する苦労や発見などをSocketの最高技術責任者(CTO)、生内洋平氏にインタビューした。
--移行したのはいつごろですか?
実際に移行を決めたのが2015年の11月くらいです。当時はまだMySQLで稼働していたのですが、1億を超えるユニークユーザーを処理しなければいけない状況になってきた時に、そろそろこれはなんとかしないとまずいということで、その少し前から検討を始めました。そこから実際に移行のための作業を進め、終了したのは2月末です。
--MySQLで稼働していたシステムの概要と移行した理由を教えてください。
当時はAWS上でMySQLをマスター1台、レプリカを5台という計6台の構成で運用していました。マスターをレプリカであるサブのデータベースに順次レプリケーションするのですが、その複製の処理に時間がかかってしまっていました。しかも、何かトラブルがあるとその対応に手間が掛かってしまい、常時3人ぐらいが張り付いて運用している状況だったのです。
ECサイトからのアクセスを高速にしなければいけない、というのは常に抱えている命題ですので、それを実現するためにも、より高速であるということがキャッチコピーだったAuroraに移行しようということになりました。
--移行はスムーズだったのでしょうか?
一言で表すと「力技」で移行したという感じでした(笑)。データを移行し、テストとしてSQLを投げてみると思ったよりも速度が出ないということがよく発生して、結局、全てのSQL文を1つ1つ試しながら、性能が出ないものはSQL文の構造を変えたりして、試行錯誤しました。
実際には何千もSQL文があるわけではなくて、百数十のSQLを全てAuroraに適した形式に変えるというのをコツコツとやったというイメージです。なるべく複雑なSQLにせずに、とにかくシンプルにというやり方で全SQLを見直しました。