[レポート]LTと対談で学ぶ データ基盤アーキテクチャトレンド 2023 #data_findy
さがらです。
2023年4月11日19時~20時30分に、ファインディ株式会社主催でLTと対談で学ぶ データ基盤アーキテクチャトレンド 2023というイベントが開催されました。
本記事はこのイベントのレポートブログとなります。
イベント概要
※connpassより引用
常に新しいツールが出たり、フェーズやドメインによっても変わるアーキテクチャ。
自社にあったものは何かを考えながら最新のトレンドやどんなツールを組み合わせると良いのかなど新しい情報を取得していくことも重要です。 今回は、データ基盤アーキテクチャにおいて各社が意識していることをLT形式で発表、最後にSnowflake 本橋さん、ちゅらデータ 菱沼さんに2023年のトレンドについてお話しいただきます。
LT①『プロダクトへ貢献するためのデータ基盤活用事例』
登壇者
dely株式会社 データエンジニア 張替 裕矢(harry)氏
内容
- 自己紹介
- クラシルのデータ基盤の新規構築、パーソナライズレコメンド関連のチームのデータエンジニア、社内活用推進、などを行っている
- 2022&2023 Snowflake Data Superheroes
- クラシルについて
- レコメンドエンジンの開発に注力
- 子育てをしている方、筋トレをしている方、ニーズはユーザーによって様々。ユーザーごとに最適なレコメンデーションが必要
- TL;DR
- 元々はAWS環境で、ETL~BIでの可視化を行っていた
- Snowflakeを導入
- dbtを導入
- この段階では、まだ分析周りのユースケースのみ
- データパイプラインのデータセットをリアルタイムにアプリケーションへ
- SnowflakeからアプリケーションへのReverseETLっぽいことを行っていた
- Snowpark for Pythonを利用したE2E ML Pipelineの構築
- Snowflake上で推論を行って、推論結果をアプリケーション側に返すパイプラインを構築
- まとめ
- ELT処理の中にPythonを活用できるようになってきている。dbt Python ModelやSnowpark for Pythonなど
- Snowpark for Pythonのおかげで、ML関係はいい感じにスモールスタートできた
質疑応答
- Snowparkの実行環境は?
- たしか1日1回、Snowflake上で学習用のバッチ処理を実施
LT②『データ品質を重視したデータ基盤プロダクト開発』
登壇者
株式会社タイミー データ統括部DREチーム 土川 稔生氏
内容
- 自己紹介
- タイミーの一人目のデータエンジニア
- データ品質とは?
- 「データ利用者の期待と要求を満たす度合い」。この度合いを上げるほど、高品質なデータを提供できていると言える(DMBOKも参考にしている)
- 高品質なデータとは?
- ニーズごとに、リアルタイム性やデータの正確性を見定めて提供していること
- データの目的と提供データの品質が合致していることが大事。あらゆるデータにリアルタイム性も正確性も高いデータを提供する必要はない
- 現在のデータ基盤概要
- 品質の高いデータ提供のために
- 適時性、一意性、完全性、の3つを重要視
- データ品質目標はバランスが大事
- ユーザーの方と会話をしてデータのニーズを把握し、SLAを定義
- SLI・SLA・SLOについて、DREチームで独自に定義
- SLAが定義されていると、本当に必要な品質を担保しつつ、データ基盤を開発に注力できる
質疑応答
- Firebaseからのデータの適時性・完全性をどう担保しているか?
- Firebaseのデータは、ロードした後の品質についてDREチームで確認し担保している
- 最近の課題は?
- 新しい人が会社にどんどん増えているため、ユーザー側もDREチーム側もいかに共通認識をもって運用していけるようにするかが課題
LT③『ニアリアルタイム分析の実現に向けた Change Data Capture の導入』
登壇者
GMOペパボ株式会社 技術部データ基盤チーム シニアエンジニア 堤 利史氏
内容
- 今日の話
- 「ニアリアルタイム分析」と「Change Data Capture(CDC)」について話したい
- これまでのデータパイプライン
- 日時データ転送によって生じるタイムラグがあった。特に大きいテーブルのロード処理を待たないと分析・集計できなかった
- このため、BigQueryで集計・分析可能となるまでに必要な時間が伸びていく、という課題があった
- ユーザー行動とストリーム処理
- RDBに書き込まれるたびにロードできればいいのでは?
- CDCが使えるのではないか??
- Change Data Capture(CDC)とは
- データベースで生じたデータ変更を補足すること
- 選定したツール
- Debezium Serverならば、Kafkaなしで変更イベントをメッセージングサービスへ直接送信できる
- 候補は、Debezium Server、Debezium、Airbyte、があった。プライベートネットワーク内にあるRDBにアクセスできるか、1ヶ月で構築できるか、運用負荷、を考慮して選定
- 構築したアーキテクチャ
- Merged Viewの作り方
- 構築時に気をつけること
- Debeziumのデフォルト設定だとRDBに対してロックが、かかりっぱなしになってしまう
- 構築後の評価
- Debezium Serverのリソース効率は問題なく、計画よりも小さいインスタンスタイプで稼働できている
- 今後の展望
- Cloud Dataflowによるストリーム分析をしていきたい。(これが、Pub/Sub経由にしている狙い)
- 日次データ転送を前提としていた集計・分析業務の見直し
質疑応答
- 以前Airbyteのブログを書いていらしたと思いますが、なぜAirbyteは採用しなかったのか?
- Airbyteは今も部分的に使っている。Airbyteのハンドリングの良さは感じている
- Debeziumの方が軽量で動かせるため、Debeziumを採用
- Debezium Serverで要件を満たせないときは、Airbyteで進めようと考えていた
- Debezium Server用のEC2のインスタンスタイプは?
- データ転送量によると思うが、4CPU・8~16GBで全然処理を担えている
LT④『シンガポールの保険企業 Singlifeが取り組むデータ基盤統合』
登壇者
Sinapore Life LTD, Lead Data Engineer 大西 洋平氏
内容
- データ基盤統合の背景
- 2020年、入社直後にSinglife社とAviva社が経営統合し、システム統合をしている
- データ基盤統合のためのアーキテクチャ
- 処理の80%はバッチ
- GitLab CI/CDを利用してdbtモデルのデプロイ
- システム設計のポリシー
- マネージドサービスを積極的に採用
- OSSを採用してコスト削減
- GitLab CI/CDを活用し、手作業ではなく自動化
- データガバナンス
- 事業単位でDBを管理し、ビジネスオーナーがデータオーナーとしてアクセス管理
- Snowflakeのロール管理は、プラクティスに沿ったFunctional RoleとAccess Roleの構造で管理。Functional RoleはAzure ADなどのIdPから組織構造を取り込んでいる
- PCI(決済情報)とPII(個人情報)
- PCIはS3にロードする前から弾いている
- PIIは、Masking Policyを用いて暗号化している
質疑応答
- オーナーが認証する際、オーナーが忙しくて承認できない、ということは実情としてないのか?
- 組織間である程度、権限付与可能な対象者と権限の範囲を決めており、認証時の判断を楽にしている
パネルディスカッション Snowflake 本橋さん × ちゅらデータ 菱沼さん
登壇者
ちゅらデータ株式会社 CTO 菱沼 雄太氏
Snowflake株式会社 Senior Solutions Architect 本橋 峰明氏
内容
Big data is deadを皮切りに
- この記事について
- 元々BigQueryの中の人で、DuckDBのFounderの方が書いた記事
- 正直、この記事を見たときは「なんだこれは」となった。直近のデータしか見ないケースではこの記事の考え方は合っていると思うが、大量のデータを分析しなきゃいけないケースもあるので、一概には言えないことだと思う
-
多くの会社で扱うデータ量は、BigQueryやSnowflakeなどの技術の発展のおかげで楽に扱えるようになってきている
-
最近流行りのChatGPTも裏側では大量データを処理しているはずのため、「ビッグデータが死んだ」と言うことはないと思える
オブザーバビリティ関連
-
本橋さんがピックアップした企業を紹介
-
Ataccama
- 昔からある会社
- Gartnerのレポートで10年くらいリーダーを維持している
- Chaos Genius
- DWHでクエリを分析してコスト最適化ができるらしい。現状はSnowflakeのみに対応
- acceldata
- 機械学習を用いて、運用の推奨事項も提示してくれるらしい。今後、AIが組み込まれている製品は注目分野
- Dwh.dev
- dbtとの連携も可能らしい
- metaplane
- Snowflakeのマーケットプレイスから連携可能
- Monte Carlo
- 「ML-enabled data anormaly detection」というワードの名の通り、機械学習を組み込んでいる
- Observe
- Snowflakeをベースに作り始めたサービスらしい
※2枚目はスクショ取り逃しました…。Monte CarloとObserveの紹介が書かれていました。
- そもそも、オブザーバビリティとは
- k8sが生まれ、k8s上でたくさんのコンテナを管理しようとすると、人手で検知するのは正直無理だった。これを自動で監視・検知するためにオブザーバビリティ関連のサービスや機能が生まれた
- これをデータの観点で考えたのが、Data Observability
- このあたりのオブザーバビリティ系のSaaSを日本で採用している企業はいるのか?
- 正直、オブザーバビリティまで話に上がらないケースのほうが多いと感じる
- もし採用する場合には、要件を整理し、自社にあったサービスを選定するのが重要
コネクティッド/ネイティブアプリケーション
- マネージドアプリケーション
- 従来のやり方。アプリケーション提供者側がフロントエンド~DBまで全て管理していた
- コネクティッドアプリケーション
- データ部分は顧客のデータを使う、という考え方
- ネイティブアプリケーション
- Snowflakeのマーケットプレイスではデータを簡単に共有できるが、アプリケーションも共有してしまおう、という考え方
- アプリケーション実行環境をアプリ開発ベンダー側で用意する必要がなくなる
- アプリケーションはユーザーのSnowflake環境で動かせる
- CSP:Cloud Service Provider
- ネイティブアプリケーションの詳細
- 開発~提供までSnowflake上で実施できるため、ユーザーが増えるたびにアプリケーションの基盤の拡張が不要。
- マネタイズも可能
- ネイティブアプリケーションの海外事例
- 今後の展望
- データとアプリケーションがシームレスに繋がる未来が近づいている
- これまで、データは社内のDB管理者に問い合わせしないと手に入らないということがどうしても発生していた。ビジネスユーザーvsDB管理者。しかし、Snowflakeという1つのプラットフォームでアプリ開発~アプリ提供~データ活用を完結できることで、この垣根がなくなるのではないか
-
ネイティブアプリケーションの実装について
- 正直まだ日本でも実例はないし、どのように開発をしていくかも決まっていない、最先端の領域
- データエンジニアは国内でも増えてきたが、データプロダクト・データアプリケーションを作る人というのはまだ増えていない。このネイティブアプリケーションを期に増えていくのではないか
- ネイティブアプリケーション開発に興味がある方は、ぜひ本橋さんのTwitterをフォローしてSnowflakeの最新情報をウォッチして!!
- データエンジニアは正直不足しがちのため、SaaSを活用したデータ基盤「Modern Data Stack」のトレンドはまだ続くのではないか…
最後に
「LTと対談で学ぶ データ基盤アーキテクチャトレンド 2023」のイベントの内容をまとめてみました。
各社で構築しているデータ基盤のアーキテクチャの話はもちろん、オブザーバビリティやネイティブアプリケーションといったデータ基盤界隈でトレンドである内容についても知ることが出来る、素晴らしいイベントでした!
特にネイティブアプリケーションはSnowflake好きの私も気になっておりますが、今後本機能が一般公開されたときにどのようなアプリケーションが開発・公開されるのか本当に未知で、わくわくしますね!