ハウテレビジョンブログ

『外資就活ドットコム』『Liiga』『Mond』を開発している株式会社ハウテレビジョンのブログです。

2024年データエンジニアの振り返り

この記事は HowTelevision Advent Calendar 2024 15日目の記事です。

株式会社ハウテレビジョンのPlatform Engineeringチームで主にデータエンジニアをやっているEngineer Managerの縄司です。インフラ基盤やデータ基盤のアップデートを通じて、日々の運用の課題を改善しながら、プロダクトの成長を支えています。

本記事では、今年取り組んだEKSのアップデート、Aurora MySQLのメジャーアップデート、そしてデータ基盤整備のプロジェクトについてまとめます。

EKSのアップデート:基盤の安定性を維持するための計画的な対応

EKS(Amazon Elastic Kubernetes Service)は、弊社インフラ基盤の中核を担っています。約半年ごとに訪れるEKSの標準サポート終了に伴い、計画的なアップデートを実施しました。

  • 背景と目的

    標準サポート終了により発生する追加コストを抑えつつ、サービス運用の安定性を確保することが主な目的です。

  • 準備

    • EKS Upgrade Journey」を参考に、非推奨APIや削除APIの影響を調査

    • 使用中のアドオンが最新バージョンと互換性を持つことを確認

  • 結果と教訓

    英語ドキュメントの解読に苦労したものの、先輩方のドキュメントが大いに役立ち、スムーズなアップデートを実現できました。次回以降のアップデートでも、早期準備と継続的なナレッジシェアが鍵になると感じています。

Aurora MySQLのメジャーアップデート:困難を乗り越えた成功と学び

Aurora MySQL v2の標準サポート終了を迎えるにあたり、v3へのアップデートを実施しました。この取り組みは、運用の中核であるデータベースの信頼性を維持しつつ、将来的な成長に備えるための重要なプロジェクトでした。

  • 背景と目的

    標準サポート終了(2024年10月31日)後のコスト増加を回避し、MySQL 8.0の新機能を活用する基盤を整備することです。

  • 準備

    テスト環境を活用し、予約語の増加やCHARSET/COLLATIONの変更が与える影響を入念に検証しました。

  • 結果

    1回目のアップデートはインデックスのページ破損によるサーバーダウンというトラブルにより失敗するも、問題を切り分け再挑戦しました。2回目では無事成功しました。

  • 感想

    初回の試みではトラブルが発生し、サービス停止という痛い失敗を経験しました。しかし、再挑戦によって無事にアップデートが完了したことに安堵しています。この経験を活かし、リスク管理とテストデータの精度向上を今後の基盤運用に活かしていきたいです。

ダッシュボード:Looker Studioでの運用最適化

エンドユーザーがデータを活用しやすい環境を提供するため、ダッシュボード化を進めています。

詳しい背景は以下をご覧ください。

blog.howtelevision.co.jp

  • 目的

    ユーザーがデータにアクセスしやすい仕組みを構築すること。

  • 結果

    • 使用していない物を除きRedashで利用していたダッシュボードの約9割は移行が完了しました。現在では、Looker Studioを中心に戦略を立てる文化が根付いてきています。

    • データに関する依頼もダッシュボード化を進めたことで、定期的に必要になっていたSQLによるデータ抽出が徐々に減ってきました。

感想と将来

ダッシュボード設計ではデータ加工以上に構成やデザインに時間がかかることを痛感しました。この時間を短縮できる方法やツールを再検討するのが今後の課題です。

データの民主化をさらに促進させ、見る人によってデータが異なるエラーを減少させるにはSemantic Layerの存在は大きいと感じています。

dbt Semantic Layerと相性が良い、LightdashやSteep、ダッシュボード自体をIaC管理できるStreamlit や Evidence といったツールも広まってきているので意思決定の架け橋として効果的なダッシュボードにアップデートできていければと思います。

データマートの整備:DBTでの効率的な基盤構築

DBTを活用したデータ基盤整備は、組織のデータ活用能力を向上させる重要なステップです。プロジェクト拡大に伴う運用課題に対して、以下の施策を講じました。

  • 背景と目的

    分析基盤がプロダクトの成長に柔軟に対応できるよう、構成とコストを最適化を検討しました。

  • 現状と対策

    • sources層interface層: データソース管理を一意化。

    • 中間層の導入:SQLをコンポーネント化して再利用性を向上。

    • Marts層の整理:ディレクトリ構成や命名規則を見直し、拡張性を確保。

  • 感想と将来

    データ基盤運用が整理され、少人数チームでも効率的な管理が可能になりました。次のステップとして、未使用テーブルの削除やパフォーマンス改善など、基盤全体のライフサイクル管理を強化していきます。

まとめと今後の展望

今回の取り組みを通じて、インフラとデータ基盤の運用における課題を洗い出しつつ、効率的な改善を実現しました。チーム全体で共有した知見や経験は、次なる挑戦への礎となります。

今後は以下を重点的に進めていく方針です:

  • 継続的な改善プロセスの確立とリスク管理の強化。
  • 新技術やツールの活用によるデータ活用のさらなる促進。
  • チームの成長を支えるナレッジ共有とスキル向上。

チーム全体が安心して挑戦できる環境を整えつつ、プロダクトの成長に貢献できるようにしていきたいです。