🎧チームリーダーに聞くデータ基盤チームの取り組みとアーキテクチャ #notetechtalk
見出し画像

🎧チームリーダーに聞くデータ基盤チームの取り組みとアーキテクチャ #notetechtalk

noteのエンジニアがお届けするPodcast「note tech talk」の第6回目は、noteのデータ基盤チームについてのお話をチームリーダーである森さんにお聞きしました。

noteのデータ基盤チームは、データを蓄積し活用しやすい形で提供をすることや、データから知見を得て施策提案を行うことを目的とした組織です。今回は森さんに、チームとしてどんな取り組みをしているのか、どのようなアーキテクチャや技術を採用しているのかをお話していただきました。

進行はエンジニアリングマネージャーの福井です。

================================
【雑談】
0:00 〜 オープニング
2:25 〜 住んでみて良かった県は?

【本編】
5:20 〜 データ基盤チームに入ってみて
12:00 〜 データ基盤チーム全体として取り組んでいること
16:00 〜 データマートのアーキテクチャについて
19:40 〜 なぜDocumentDBを使用しているのか
21:22 〜 リアルタイムダッシュボードについて
26:55 〜 技術的に難しいと思っていることは?
================================

ざっくりあらすじ文字おこし

※ 本編の内容がざっくりわかるように、箇条がきで内容を抜きだしています。あくまで「ざっくり」なので詳しい内容は本編をお聞きください。

■ データ基盤チームとして取り組んでいること(12:00〜)

================================
Q:現在、データ基盤チームはどのような取り組みをしている?
A:データレイク、データマート、ターゲティング基盤、ダッシュボード基盤などの開発を進めている
================================

・現在は5人チーム(2021年8月時点)

・データレイク、データマート、ターゲティング基盤、ダッシュボードと大きくわけて4つの開発を進めている

■ データマートのアーキテクチャについて(16:00〜)

================================
Q:データマートのアーキテクチャは?
A:AWSはGlueやS3、Athena。言語はPythonを使用
================================

・GlueのデータソースとしてS3を利用

・データレイクが取得したアクセス履歴やアプリ側のRDBのデータをGlueで集計しS3に保存している

・Glueで集計したデータをエンジニアやアナリストが使用できるように、Athenaのテーブルを作って参照できるようにしている

・Athenaをバックエンドにすると制限が厳しい。S3に吐き出したものは制限がないのでメインの保存先として使用している

・使用用途によってはS3から各ストレージに保存してレスポンス速度をあげている

・エンジニアやアナリストがデータを確認するときは、手軽さを考慮して直接Athenaからデータを引いてもらっている

■ なぜDocumentDBを使用しているのか(19:40〜)

================================
Q:DynamoDBの方がメジャーだと思うが、なぜDocumentDBを?
A:データ基盤チームとしては集計でデータを使用することが多い。DynamoDBは集計にあまり強くなかったため、DocumentDBを利用している
================================

・DynamoDBは集計が弱いのがネック

・noteで開発しているダッシュボード基盤は、日ごとのデータを入れて集計して表示している

・月〜土など決まった期間だけで集計するのであればDynamoDBで良かったが、日にちや時間などバラバラに集計することがnoteでは求められている

・集計の機能差を考えるとDynamoDBではなく、DocumentDBの方が今回は用途として合っていた

■ リアルタイムダッシュボードについて(21:23〜)

================================
Q:データレイクとしての取り組みは?
A:社内でリアルタイムにデータを閲覧できる「リアルタイムダッシュボード」をリリースした
================================

・noteのデータを見るときにGAを利用していたが、リアルタイム制がないので活用しづらくなってきた

・社内で閲覧できるリアルタイムダッシュボードを作成し、アクセス数の増加の確認や、記事がバズったときの調査などをしやすくした

・技術的にはInfluxDBとGrafanaを使用

・リアルタイムダッシュボード以外にも、取得するデータの整理や、トラッキング処理の改修なども行っている

・データ基盤チームは、インフラからデータベース周りやフロントまで担当するため、幅広い知識が必要

■ 難しいと思っている部分(21:23〜)

================================
Q:データ基盤チームとして難しいと思っていることは?
A:noteのデータ量も増えてきたので、データとしてのありかがわかりづらくなってきた
================================

・noteもデータが多くなりテーブルも増えてきたためデータのありかがわかりにくくなってきた

・データを集計するのにもデータマートやデータレイクに入れたときにも、どういう条件で集計されているのかわかりやすくする必要がある

・資料やドキュメントを作っても更新されないことも多いので、そのあたりをどうしていくのかは課題

・データ基盤チームとして開発が走り出して速度があがってきたので、安定運用ができるルールをつくりつつデータのうまい活用ができるようにしていきたい


▼noteを一緒に作りませんか?

▼エンジニアの紹介記事


最後まで読んでくれた方へ。note社の様子や採用情報などをTwitterで発信しています。

オフィスにはnoteから生まれた作品がたくさん並んでいます。
“だれもが創作をはじめ、続けられるようにする。“をミッションに、表現と創作の仕組みづくりをしています。note(ノート)では、クリエイターが各自のコンテンツを発表してファンと交流することを支援しています。cakes(ケイクス)は、cakes発のベストセラーを多数輩出しています。