1
/
5

DATA DRIVER OF THE YEAR受賞!Snowflake移行チームによるヒーローインタビュー

こんにちは。REVISIO株式会社データプラットフォームチームマネージャーの片岡です。先日9/8、Snowflake社によるデータ活用企業・技術者を表彰するDATA DRIVERS AWARDSにおいて、当社がDATA DRIVER OF THE YEARをいただきました!!!
チーム一丸となって取り組んだプロジェクトを評価していただき、本当に嬉しく思っています。せっかくの機会なのでチームメンバーに今回のプロジェクトについてインタビューを行いました。まずは簡単に、今回のチームメンバーの自己紹介をさせていただきます。

写真左より
曽我:データサイエンティスト。アンケート基盤やダッシュボード移行を担当。
植草:シニアエンジニア。主にインフラ構築、バッチシステム改修を担当。
藤原:データエンジニア。主に移行データと移行後の抽出データの信頼性の担保を担当。
針谷:バックエンドエンジニア。主にインフラ構築、バッチシステム改修を担当。
片岡:データプラットフォームチームマネージャー。移行プロジェクトの発起人でプロジェクトリーダー。
森下:データ担当執行役員。目的設定の支援、意思決定の支援、社内調整を担当。
松村:シニアエンジニア。データベースエンジニアとして主にDB周りを担当。

RedshiftからSnowflakeに移行しようとみんなに相談した時どう思いましたか?

片岡:
移行しようと思った最初のタイミングで皆さんがいたわけではないので改めて話すと、うちのシステム全体として結構まずいというか深刻で、どうしよう…と危機感を持っていたんですよね。その中でデータ分析基盤界隈でSnowflakeというワードが凄い出てきていて。遠目から見ていて自分たちの状況と重なって、気にはなっていたんですが実際移行するとなったら出来るのかな・・と不安がありましたね。

森下:
ビジネスの拡大に伴って日々のバッチ処理時間の増加、不安定さ、コスト増でどんどん危機感が高まっていました。どうにかしないといけないという思いが募る一方で、どうすれば問題を解決できるのか、どんなスキルを持つ人が必要なのか、どのくらいの時間がかかるのかも不透明でした。そんな中、片岡さんが色々調べてくれて、Snowflake移行で今抱えている問題が解決できそうというのが見えてきて決断に至ったという感じでした。

片岡:
いよいよ本気で移行をやろうってなったのをX(旧Twitter)でポストしたらSnowflakeの営業の方から是非一回お話ししましょうとご連絡いただいて、僕としてもちょうど聞きたかったので、是非お願いしますと。2021年の秋ごろから情報収集を開始して、2022年4月に本格始動、5月にSnowflakeの担当の方とMTG、6月にトライアル、という流れですね。2022年6月~12月に半年位かけて事前設計から移行完了まで進めた形になります。その間に4月に針谷さん・6月に松村さん・9月に植草さんがREVISIOに入社されましたね。

曽我:
Redshiftのタイムアウトエラーが頻発してTelescopeのバッチが終わらないという社内の声や、そもそもTelescopeの機能が拡張して処理が増えていったことや、ありがたい事にクライアントも増加していき、このままでは破綻する未来が見えていて自分に何かできることがあればトライしたいと思ってたので、この話が出た時にはやろう!という気持ちでした。

プロジェクトがどのように始まったのか、始まる前の自信や不安

松村:
僕はトライアルが始まった頃の6月に入社したのですが、大きなプロジェクトが来たなって思いましたね。マイグレーション自体はOracleからPostgreSQLやRDS、PostgreSQLからMS SQL Serverなどで経験済みでしたので、ハマりどころや注意すべき点などはある程度把握していました。もちろん、これほど大きなマイグレーションは初めてでしたが、できないはずがないと思っていたので正直不安はありませんでした(笑)ただ正直今まで経験したことのないほど膨大なデータ量でしたので、その面で少なからずトラブルは起こるかなと思っていました。結局起こらなかったのですけど。

針谷:
そこはすごかったですよね。

片岡:
結構事前にいろんな計測をしたり、検証でデータ移行のやり方を把握したり、ファイル形式は一番Parquetが速いとか、準備作業を皆で様々な方面からこういうのをやっていったらいいんじゃないかとかを積み上げていったり、実際に検証したりとかして、チーム皆で出来たなって感じがしますね。ただ実際に不安はあって、始まる前は全部ちゃんと綺麗に移行できるのかな、移行するにはどうやればいいんだろうっていうのはありましたね。

針谷:
不安はあったんですね(笑)

片岡:
勿論ありましたね(笑) それなりに大きくなっているシステムの構成要素の中に何がどれくらいあって、これとこれが依存関係にあって、どれくらいデータが大きいのかとか…。知れば知るほど大変だなっていうのが増していきましたね。

藤原:
片岡さんが今のシステムを全て構築してきたわけではないし、全体が把握できるのか不安はありましたよね。

植草:
僕は途中からこのプロジェクトに参加したのですが、移行にあたって現行のシステムを知らないといけないっていうのがあったので、そのタイミングが凄く良かったなって思ってます。
移行を進める中でシステムの全体感をつかめることができたし、いろんな課題を抱えていることも分かりました。その課題をSnowflakeに移行したらどうなるんだろうっていうのは楽しみではありました。どれくらい効果があって改善できるのかっていう興味で、モチベーション高くやれたなって感じがします。

針谷:
松村さんが一日のバッチ処理のタイムテーブルを作成してくれましたが、その出来栄えは本当に見事でしたね。

片岡:
移行作業をするからこそあれを作っていただいたっていうのがありまして。あの図によってこういう風に実は流れていたんだねっていうのが改めて分かったので大変助かりました。僕自身でも見えていなかった部分が結構あったので。

松村:
色々調べていく中で知らないクエリや知らない機能が沢山出てきて。こんなマイナーな機能があったんだって思いながら網羅していきましたね。

片岡:
その移行する過程でSnowflake触ってて、こんな面白い機能があるとか、こんなすぐ起動できるんだとかそういう楽しさが大きかったなって。

藤原:
検証している段階で結構速度も速いしサクサク動くので、Redshiftとは全然違うみたいな(笑)これ移行したらバッチも絶対速くなるだろうし、早く移行してみたいなとは思っていました。

片岡:
その一方で実際に移行を検証していく中で、当然ですが構文の違いには悩まされましたね。同じ構文なのに動作が違うとか、オーダーをかけるとかかけないとかの細かな違いがやらないと分からなくて。皆で話して洗い出したやつを集めたRedshiftとSnowflakeの違い40数個みたいなの記事化したところ、Snowflakeの方にもめちゃくちゃ凄いですよねって言っていただけて、凄い良い情報が集まったなって思いました。僕はあまり大きく関わっていないのですが、森下さんとかは社内調整とかもあったので、大変だったんじゃないでしょうか。

森下:
僕よりも皆さんの方が大変だったと思いますよ。僕は移行やりたいんですーみたいなのを郡谷さん(弊社代表)にお願いしていただけなので(笑)

片岡:
そこが一番大変ですよね(笑)特にコストの方とかやっていただいていましたよね。このプロジェクトを経営層にしっかりと理解してもらうみたいな部分が大変だったというか、よく決断したなとは思います。その辺りを森下さんが状況を把握して説明できるというのが凄く効いたんだろうと思います。その辺りにすごい時間がかかったとか、説明を分かってもらえないっていうのはあまり無かったんじゃないかな。

森下:
そうですね。突然「DBが限界!Snowflake移行をしたい!」と言い始めるのは良くないので、現状や考えていることは常に共有するよう気をつけていました。共通認識が出来上がっている上での意思決定だったのでスムーズに進んだのかなと思います。なので、皆さんの実作業の方が大変だったんじゃないでしょうか。藤原さんのSQLのデータ差分確認の部分とかすごく大変そうだなって思っていました。

藤原:
実際大変だったんですけど、一人じゃなくてチームのみんなで協力してやっていたので。大変だなっていうのは分かっていたので、皆で分担してやり方の相談とかを密にやったなって思っています。植草さんの方も並行稼働中の差分データチェックしましたよね。

植草:
あれは愚直にやっていかないといけないので、合わない時にはなんで合わないんだろうってだいぶ悩みました(笑)データが入ってきてこのバッチ時点まではあっているけどここからは違うとか、ここの部分のどこが違うとか小数点の違いとかキリがないので、どこまでの差分を良しとするのか無しとするのかという判断が難しかったですね。

片岡:
色々難しい部分もありましたが完璧にチェックできたんだなって感覚があります。Redash SQLの比較とテーブルの比較でもしっかりと担保できたので、安心して前に進めていました。大変でしたけど凄いやりがいのある部分でしたね。

曽我:
本番環境が並行稼働しているときにもRedshiftの方も機能アップデートしていかないといけなくて。移行と改修が同時に走っていたので。改修するにしてもRedshiftでまず改修を検証してからSnowflakeでやらないといけないんですけど、運用は運用でみたいな(笑)値が合わないってなったときにクエリの間違いなのか、nullとかの違いなのか1つ1つ調べてつぶしていくのが大変でしたね。

片岡:
最初全然分からなかった部分が原因を突き詰めて分かった!ってなったときが気持ちいいんですよね。

針谷:
これか〜!みたいなね(笑)

曽我:
仮説を発見した時も嬉しいし、値が一致した時の良し!みたいなのが凄く気持ちよくて。

植草:
エンジニアあるあるですよね(笑)各種データのチェックリストにどんどん丸がついていくのが楽しくて。最初はNGばっかりで真っ赤だったのが皆で原因は何ですって書いていって、ここにいるメンバーだけでなく色んな人と〇にしていったのがチームでやったなって印象に残っています。

今回の移行によるもっとも価値のあるものはなんですか?

針谷:
大規模な移行作業を期日内にトラブルもなく対応できたことそのものに価値があると思いますね。本当に。

松村:
データ量も、システムとしての大きさも膨大なものを他に移すっていうのを、下手したら何年かかけてやるっていうのを割とスムーズに一気にやって、その上大きなトラブルが無かったので。これは本当に凄いと思います。

藤原:
大きな移行プロジェクトでこれだけスムーズに出来たっていうある種の成功体験が自分の中で出来たっていうのは大きいですね。

片岡:
中々ないですからね。エンジニア人生の中で一回あるかないかの規模で、ほとんどのエンジニアには無い事だと思います。

松村:
正直今回の移行プロジェクトが出来たら他のことは大体できるだろうっていう自信にもなりましたね。「あれが上手くできんだから、あれに比べれば」みたいな。中々他にも事例が無かったので。

植草:
Redshift→Snowflakeの移行事例あまり無かったですよね。みんなやりたいけど出来ないのかなって思っていて、それがほとんどトラブル無く出来たのは本当にすごいことだなと思います。

森下:
プロジェクトの進め方が何より勉強になりました。大きく、複雑で、人数も沢山必要なプロジェクトをうまく進めるにはどうしていけばいいのかを学びました。最初は多少非効率に感じても、みんなで認識を揃えて、みんなで考えていくことが大切でした。短期間で大きなトラブルなくプロジェクトを完了できたのは、知識をみんなで共有していけたからだと思っています。

チームとして協力する中で特に印象に残ったエピソード

植草:
既にもう話してはいますがそれ以外で言うと、Slackのハドルが色々なところで行われているのはありましたね。またハドルが終わったら別のハドルに入ったり、みんなハドルのはしごをしてましたね笑。一人一人がフォローする意識が強く、いろんな課題をチームで解決していく。まさにOneTeamでした。

片岡:
皆で話すことにより理解が深まるし、より新たな発見に気付けたり、振り返ってみると、そういう細かい部分で沢山印象的なことがあったなって思います。リリースが終わった瞬間は感無量でした。

針谷:
やっぱりその瞬間ですよね。バッチを実行して動いて、データを確認して大丈夫で、皆さんお疲れ様でした!、の時には本当に感無量でした。

藤原:
本番環境への移行準備が整って、本番移行開始!とした時にSlack上で様々なサービスや機能の移行スレッドが立ち上がり、次々と無事に移行完了の報告が上がってくるのを見た時には感動しましたね。チームの一体感が凄かったです。

曽我:
それぞれ移行作業があり忙しいにも関わらず、困ったときにはハドルで相談したりすぐ誰かが声をかけてくれて、本当に助けていただきました。藤原さんの言うように全員で移行するぞ!のチーム意識をずっと感じながら作業できたと思います。

針谷:
森下さんが「このメンバーの内誰か一人でも欠けていたら、成功しなかった」と言ってくれた時は嬉しかったし、忘れられない思い出です。

松村:
色んな得意分野の人たちが集まって、その得意分野を中心に周りの領域を発掘してその組み合わせが上手くいくと、こういう大きなプロジェクトであっても大きな問題を起こさずに出来るんだなって感動しました。

実際にSnowflakeに移行してみてどうでしたか?

片岡:
エンジニアの中で満足するというのはある程度見えていたのですが、全社的に悩まされていた部分が凄く快適になったと言っていただけました。Redashを皆使用していたので、その部分が速くなって皆の時間を節約できて、より多くの事が出来るようになったのは感じています。

松村:
遅延トラブルが無くなったとか品質が上がったとか、スピードも速くなって、QCD全てが改善されたのが大きいです。ただ、改善できる余地がまだまだあって、どう改善すればいいのかみたいなのを日々考えています。Snowflakeはやれることが無限に近いので、今よりももっと快適に使用できるように出来たらなと思います。

今後Snowflakeを使って取り組みたいプロジェクトやアイディアを教えてください

藤原:
StreamlitやSnowflakeを使ったデータ連携をしてみたいですね。

針谷:
あとはSnowflakeを使ったビジネスにつなげていく部分にチャレンジしてみたいです。今後Snowflakeに AIを活用した機能拡張が導入されると思うので、それをビジネスに活用したいです。

松村:
Streamlitでのアプリケーション開発やMarketplaceでのデータ連携、今までやりきれなかった視聴データの詳細解析など、やりたいことがまだまだ沢山あって、これからどんどん取り組んでいきたいです。

植草:
既に進めているのですが、Streamlitの開発は本当に面白く、いろんな可能性を秘めているので社内で広めていきたいです。アイディアを今までよりも簡単に実現化出来るようになっているので、どんどん新しいリリースを出来るという事はどんどん新しいことが出来るようになるという事なので、色々な可能性を秘めていると思います。

最後にDATA DRIVER OF THE YEAR受賞を聞いた時の感想を教えてください。

片岡:
一瞬信じられませんでした(笑)今年2月のSNOWDAYの基調講演で、2022年に受賞されたNTTドコモさんのセッションを聞いていてすごいなぁと思っていたので、まさかその賞をいただけるとは思ってもいませんでした。

針谷:
大賞って一番だっけ?って一瞬なっちゃうくらい驚いてしまって(笑)本当にうれしかったです。プロジェクトをチーム全員で成功できたというのが大きかったのかなと思います。

松村:
なんでうちなんだろうという疑問が最初に来ました(笑)大規模なプロジェクトを成功させたのはもちろん、移行に必要な情報やツールをオープンソースとして提供したことが今回の受賞に繋がった1つの理由だと思うので、頑張って良かったなと本当に思いました。

曽我:
受賞したと聞いて驚きました。移行プロジェクトは会社にとって必要なことだと思って取り組んでいたので、このような評価をいただけるとは思ってもいませんでした。

植草:
正直まだ実感が無いのですが、徐々に実感が湧いてくるのかなって思います。

藤原:
移行の結果として社内で評価されるのも嬉しかったのですが、今回の受賞は移行プロセス自体が上手くできたのかどうかも客観的に評価されている気がしていて、その点においても嬉しく思いました。

森下:
素直に嬉しかったです。最高のチームを社外からも評価してもらえるのは本当に嬉しいですね。このような形で評価していただいて感慨深いです。

片岡:
森下さんの「このメンバーの内誰か一人でもかけていたら、成功しなかった」の言葉の通り、今日このインタビューメンバーだけでなく、全社的に取り組んだり応援をいただいて約半年間進めてこれました。これからもまだまだ取り組みたいことも沢山あるので、引き続きSnowflakeを使ってもっと皆でチャレンジできればと思います。

<テックリードを募集中です>
私たちは常に技術の最前線で挑戦を続けています。Snowflakeへの移行は終点ではありません、新たなスタートです!次の壮大なプロジェクトに向けて、共に新しいチャレンジを目指すテックリードの仲間を求めています。

REVISIO株式会社では一緒に働く仲間を募集しています
4 いいね!
4 いいね!
同じタグの記事
今週のランキング
REVISIO株式会社からお誘い
この話題に共感したら、メンバーと話してみませんか?