こんにちは、Eight Engineering Unitの井上です。
Eightのデータ抽出基盤である Data Management Platform(以下、DMP)の開発を担当しています。
はじめに
Eightは330万人を超えるユーザーにご利用いただいており、お預かりしているデータ量も日々多くなっています。
データが多いことに加えて抽出条件もさまざまなため、データアクセスは基本的にフルスキャンとなり高い負荷がかかります。
負荷は高いのですが頻度は高くないこともあり、DMPではサーバーレスのGlueとAthenaを利用して低コストで安定した稼動となる構成を採用しました。
ざっくりとしたシステム構成は以下になります。
- Glue JobでEightデータをS3へエクスポート
- エクスポートしたファイルはGlue Data Catalogでテーブル定義
- アプリケーションからAthenaへクエリを投げてデータ抽出
この記事では Athena のデータソースを用意するGlueの開発で工夫した点をご紹介します。
続きを読む