1
/
5

RedshiftからSnowflakeへの移行

データエンジニアリングチームがいかにして大規模な「リフトアンドシフト(lift and shift)」を達成したか。

これを想像してください:

それは正午頃の月曜日です、我々のETLは夜通しいくつかの問題に対処した後にちょうど前日の負荷を完了しました。 私達は85%のディスクフル状態にあり、Redshift VACUUMは先週からすべてのソフト削除をクリーンアップするためにキックインしました – この間に重要なことは何も実行できません。 VACUUMにその仕事を完了させるために、私たちはすべてのプロセスを一時停止します。 週1でデータをクリーンアップするために予約されているクラスターに対して行っています…

一方、社内外の顧客は、データの鮮度と全体的な低さについて、懸念を示しています。 データエンジニアリングチームは、新しい機能を開発する代わりに、バックログを埋めて運用上の問題に対処することで、進めています。 別のクラスタ構成への移行には48時間かかることがありますが、速度の問題が解決するかどうかはわかりません。

これはInstacartのデータエンジニアリングチームにとっては普通の1日でした。 Instacart全体(機械学習、カタログ、データサイエンス、マーケティング、ファイナンスなど)が協力して当社の業務についてより多くを学び、より優れた製品を構築するための分析プラットフォームを構築し、維持します。 私たちは数年前からクラウドデータストレージウェアハウスとしてRedshiftを使っていましたが、当時はその目的を達成していました…しかし、成長とともに安定性とスケーリングの問題に直面し始めたため、プラットフォームをSnowflakeに移行することにしました。 私たちは、あなた自身で始められるようにするために私達は主要なマイグレーション観察と学習のいくつかの要点をまとめました。

戦略

Redshiftで作成したスキーマとテーブルを、データ構造を大きく変更することなくコピーすることにしました。(構造を変更することなく)マイグレーション(移行)のみに焦点を当てることが、依存関係に満ちた、大規模で複雑なシステムのマイグレーションを成功させるための鍵となりました。 このアプローチによって、古いシステムと新しいシステムの間でデータを簡単に比較し、それらを並行して実行して、公式な切り替え前にその安定さを確認することもできました。


ストレージとコンピューティングの分離

Snowflakeのアーキテクチャがもたらす大きな利点の1つは、ストレージとコンピューティングの分離です。 主要なアプリケーション用に専用のウエアハウス(倉庫)を作成し、そのウエアハウス(倉庫)に必ず名前を付けて、組織内の誰が使用しているのかを簡単に識別できるようにしました。 チームがウェアハウスを使用するための許可を与えた後は、各アプリケーションおよび事業単位に関連するコストを特定するのは簡単でした。 これはとても役に立ち、そしてこれはRedshiftではできなかったことです。

コード変更

Redshiftが使っていたgitリポジトリを fork(フォーク:プロセスのコピーを生成するもの)し、新しいブランチをSnowflakeで動作するように修正しました。最終的な移行中に多くの問題が起こさないため、数日ごとにマスターブランチを新しいブランチにマージ (併合:merge)しました。

データとDDLの移行

最初のステップとして、Redshiftですべてのスキーマを取り、Snowflakeで同じスキーマを作成しました。 特定のスキーマまたはテーブルについてRedshift information Schemaをスキャンする自動スクリプトを使用しました。次に、vw_admin_generate_table_ddl(Redshiftビュー)を使ってRedshiftからDDL(データ定義言語)を抽出し、DDLをSnowflakeに拡張し、RedshiftからS3にデータをアンロードし、新しいテーブルでSnowflakeにロードし直しました。 SnowflakeデータがRedshiftと整合するように、移行中にこのプロセスを数回実行しました。気になる続きは👇👇👇

RedshiftからSnowflakeへの移行
データエンジニアリングチームがいかにして大規模な「リフトアンドシフト(lift and shift)」を達成したか。 これを想像してください: それは正午頃の月曜日です、我々のETLは夜通し
https://magazine.techcareer.jp/career/%e8%8b%b1%e8%aa%9e/7059/

他にも『techcareer magazine』では
エンジニアやクリエイターの人生やキャリアのお役立ち情報を配信中!

techcareer magazine
techcareer magazineは、株式会社アイデンティティーが運営する、エンジニアのキャリアを親身になってサポートするWebメディアです。国内だけでなく海外の最新IT技術や転職情報をいち早く翻訳し、グローバルな視点で発信していきます。
https://magazine.techcareer.jp/
株式会社アイデンティティー's job postings

Weekly ranking

Show other rankings
Invitation from 株式会社アイデンティティー
If this story triggered your interest, have a chat with the team?