ちゅらデータのインターンに参加しました

cover

9 月に行われたちゅらデータのインターンに参加し、2 週間かけてデータ基盤構築を実践的に学びました。

インターンで得られたこと、感じたことを共有します。

参加まで

ちゅらデータを知ったきっかけは、サポーターズのイベント「データベースの内部動作を把握しよう」という勉強会です。

CTO の菱沼さんがなぜか VTuber として講師をしており、びっくりしましたが、菱沼さんの知識量がすさまじく、内容も非常に面白かったため、ちゅらデータという謎の会社にかなり興味を持ちました。

イベントでインターンが紹介されていたため、有給で、しかも沖縄に行けるインターンだったら相当倍率高いだろうな〜と思いつつ応募してみたところ、運良く参加させていただけることになりました。

1 週目 (9/4 ~ 9/8)

1 週目はオンラインの講義形式で以下に挙げたような技術をしっかり勉強しました。

AWS

モダンなサービスには不可欠といってよいクラウド技術です。EC2 や S3、Lambda の基本的な使い方から VPC を用いた構成の仕方までを学習しました。

Snowflake

大規模データの集約、分析を一貫して行う事ができる流行りのデータクラウドです。Snowflake のメリット・デメリット、ユースケースなどの概要から、データのロード、加工といった実践的なことまでを学びました。

これは流石に学生ではできないなーと思っていたら、実務で触ったことがあるインターン生がいてびっくり。

Airbyte

オープンソースのデータパイプラインツールです。今回は EC2 上に Docker 環境を立ち上げ、そこでホスティングする形で使用しました。各種データベースや S3 上の CSV ファイルなどの様々なデータソースを Snowflake 等のデータウェアハウスに繋げ、データを流してやることができます。

なおインターン中、Airbyte のデータ送信間隔を 2 分おきに設定し、常時 Snowflake に課金し続ける設定にした猛者もいました。

dbt

データ加工のフローELT (Extract, Load, Transform) では T に当たる部分、つまり集約されたデータを加工するパートを担うツールです。Snowflake に集約されたデータを SQL で吸い出してまとめ、新たなビューを作成するという内容を実践しました。

今回はオンラインエディタを Git と Snowflake と連携して使いましたが、環境構築も難しくなく、非常に使い勝手がいいツールだと感じました。

Tableau

データ可視化を行う BI ツールです。データウェアハウスに集約したデータを Tableau に渡し、可視化することで、今まで数字の羅列だったデータが一気に意味のある情報に変わりました。めっちゃ感動。


また、これら以外にも他ツールとの比較などのデータ基盤裏話を聞けたり、社員さんによる LT があったりと、非常に有意義な一週間でした。

2 週目 (9/11 ~ 9/15)

2 週目からはついに沖縄!

10 人のインターンメンバーが 5 人チーム ×2 にわかれ、顧客の要件を満たすようなデータ基盤を構築するという課題に取り組みました。

前半

課題は、「AWS S3、PostgreSQL、MySQL 上のそれぞれのデータを Snowflake 上に集約するデータ基盤を構築せよ」というものでした。

自分たちのチームでは相談の上、以下のようなシステムを設計しました。

詳細は省略しますが、これを一から組むのはなかなか大変でした。自分はクラウドを触るのが初めてだったので、チームの人に頼り切りでしたが、協力しつつもなんとか完成まで持っていけました。(最終的には Terraform を使って一括でこのクラウド環境を作成できるようにしてくれました。すご)

また、チームのリソース管理には Notion を利用しました。個々人がどのタスクを進めているかを一覧で見られるようにしたり、ドキュメントを整備したりと、チーム開発をスムーズに進めるためのスキルも身につけられたと感じます。

後半

前半で構築したデータ基盤を活用し、今度はデータの成形、可視化までを行うという課題でした。

全体構成としては、Snowflake に集約されたデータを dbt で成形、モデリングし、Tableau で可視化を行うといった形です。

売上データを日付、店舗、商品といった項目別に整理して表示するためにスタースキーマというデータモデリング手法を用いました。データモデリングは、「データに適切な前処理をすることでクエリに高速に答えられるようにする」という点が結構競プロっぽくて面白かったです。

↓ チームで行ったデータモデリングの様子

本番データにはところどころ罠が仕組まれており(在庫の数がマイナスになる、など)、いじわるだな〜とは思いつつ、現実のデータを相手にする大変さも実感しました。


チームに分かれての対戦形式だったこともあり、かなり盛り上がる展開でした。

なかなか難しい課題でしたが、海に行ったり沖縄のご飯を食べたりと観光も楽しみつつ各チーム完成させる事ができました。

さいごに

インターンを通じて得られた知識、技術は言わずもがな有意義なものでしたが、優秀な方々と交流できる機会をいただけたという点が最も価値ある経験でした。

社員の皆さんは日頃のゆるい姿とは一転して仕事はバリバリできる人たちでとても尊敬しています。

また、学生インターンの方々のスキルもなかなかのもので、学生とは思えない知識と経験には驚かされ、チーム開発では大きく助けられました。

準備してくださった社員のみなさん、インターン生の皆さん、2 週間本当にありがとうございました。

インターン仲間のポスト

おまけ

沖縄の美味しいご飯たち

↓ ポークたまご

↓ シークヮーサーサワー

↓ 沖縄そば