ちゅらデータのインターンに参加しました
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週間本当にありがとうございました。
インターン仲間のポスト
おまけ
沖縄の美味しいご飯たち
↓ ポークたまご
↓ シークヮーサーサワー
↓ 沖縄そば