Slide 1

Slide 1 text

Copyright(C) Net Protections,Inc. All Rights Reserved. Amazon Aurora Cluster Clone を用いたDataLake構築

Slide 2

Slide 2 text

Copyright(C) Net Protections,Inc. All Rights Reserved. 自己紹介 2 佐久間仁 Sakuma Jin 東京大学 情報理工学系研究科 博士課程中退。 大学院では自然言語処理を研究。 2021年4月にネットプロテクションズに新卒入社。 新卒1年目の時に機械学習の事業活用PJTを立ち上げ、 MLOpsの構築から事業適用までを行った。 現在は、data分析基盤チームのリーダーを務める。 株式会社ネットプロテクションズ データサイエンスグループ

Slide 3

Slide 3 text

Copyright(C) Net Protections,Inc. All Rights Reserved. 目次 3 01 | Net Protectionsのdata分析環境 ● なぜdata分析環境を作るのか? ● Net Protectionsのdata分析環境 02 | Cluster Cloneを用いたDataLake連携 ● 一般的なRDBからのDataLake連携 ● Aurora Cluster Cloneの仕組み ● Copy-on-write protocol ● Step Functionを用いたOrchestration 03 | 副次的効果 ● DataLake連携システムを誰が作るか? 04 | まとめ

Slide 4

Slide 4 text

Copyright(C) Net Protections,Inc. All Rights Reserved. Net Protectionsのdata分析環境 4

Slide 5

Slide 5 text

Copyright(C) Net Protections,Inc. All Rights Reserved. 社員一人ひとりの意思決定力を高めるためのdata分析環境 5 data分析環境がないと、「非開発者が気軽にデータを分析する」ができない data分析環境がない時 data分析環境がある時 本番DB 分析者 開発チーム データ抽出依頼 SQL文 本番DB 分析者 アクセス SQL文 data分析環境

Slide 6

Slide 6 text

Copyright(C) Net Protections,Inc. All Rights Reserved. Net Protectionsのdata分析環境 6 IT経験の少ない人でも気軽に分析できる環境を全社に広く公開 Data Scienceチーム datalake 連携 DataLake data warehouse data分析環境 事業システム 分析者

Slide 7

Slide 7 text

Copyright(C) Net Protections,Inc. All Rights Reserved. Cluster Cloneを用いたDataLake連携 7

Slide 8

Slide 8 text

Copyright(C) Net Protections,Inc. All Rights Reserved. 一般的なRDBからのDataLake連携 8 SELECT * FROM … data upload 本番DB 定時batch S3 bucket シンプルなDataLake連携システムは以下の仕組み 1. 定時batchで本番DBにSQLを発行し、更新されたrecordを取得 2. 結果をparquetなどの形式に変換してS3 bucketにupload 3. S3 bucketに対してGlue Crawlerを実行しGlue Catalogを作成 本番DBに対して、大きな負荷がかかる

Slide 9

Slide 9 text

Copyright(C) Net Protections,Inc. All Rights Reserved. Aurora Cluster Cloneを用いたDataLake連携 9 SELECT * FROM … data upload 本番DB 定時batch S3 bucket 本番DBを「Clone」したDBから抽出する 1. 本番DBと同じ中身を持つ別のDB(Clone DB)を作成 2. 定時batchでClone DBにSQLを発行し、更新されたrecordを取得 3. 結果をparquetなどの形式に変換してS3 bucketにupload 4. S3 bucketに対してGlue Crawlerを実行しGlue Catalogを作成 本番DBの負荷がほぼ0になる Clone DB clone

Slide 10

Slide 10 text

Copyright(C) Net Protections,Inc. All Rights Reserved. DB Restore Read Replica, DB Restoreとの比較 10 Read Replica Cluster Clone 非同期 replication DB Read Replica Data Data copy Data DB Clone DB DB Restored DB Cluster CloneはRead ReplicaやDB Restoreと近い機能 常にMain DBをRead Replicaに同期 一部のデータの実体を共有 データの実態をコピー

Slide 11

Slide 11 text

Copyright(C) Net Protections,Inc. All Rights Reserved. Read Replicaではダメなのか? 11 replication DB Read Replica Read ReplicaでSELECT文実行中に同期が走ると整合性が保てない Read ReplicaのSELECTがWriterをlockすることがある SELECT … UPDATE …

Slide 12

Slide 12 text

Copyright(C) Net Protections,Inc. All Rights Reserved. Copy-on-write protocol 12 Clone clusterを作成すると、Pageを共有する新しいDBが作成される データのコピーが必要なく、高速・低コスト Page1 Page2 Page3 本番DB Clone DB Clone

Slide 13

Slide 13 text

Copyright(C) Net Protections,Inc. All Rights Reserved. Copy-on-write protocol 13 Clone DBに対してSELECTすると、共有している本番DBのpageからデータを持ってくる Page1 Page2 Page3 本番DB Clone DB SELECT … 定時batch data

Slide 14

Slide 14 text

Copyright(C) Net Protections,Inc. All Rights Reserved. Copy-on-write protocol 14 Page1 Page2 Page3 本番DB Clone DB SELECT … 本番DBの変更は、対象Pageをコピーしてから書き込む 定時batch data Page1’ UPDATE … Clone DBがSELECT文を実行中でもLockなく書き込める

Slide 15

Slide 15 text

Copyright(C) Net Protections,Inc. All Rights Reserved. Cluster Cloneのメリット・デメリット 15 完全に個別のDB Instanceなので、本番DBへの負荷がほぼ0 データのコピーがないため、DBサイズの依存せず高速に立ち上がる 変更のないPageは共有するので、Storageの削減 本番DBへの更新はClone DBに反映されない

Slide 16

Slide 16 text

Copyright(C) Net Protections,Inc. All Rights Reserved. 副次的効果 16

Slide 17

Slide 17 text

Copyright(C) Net Protections,Inc. All Rights Reserved. DataLake連携システムを誰が作るか? 17 DataLake連携は「事業システム」と「データ分析環境」をつなぐシステム Data Scienceチーム 事業システム 開発チーム DataLake 連携 DataLake data warehouse data分析環境 事業システム 分析メンバー

Slide 18

Slide 18 text

Copyright(C) Net Protections,Inc. All Rights Reserved. 事業システム開発チームが作る場合 18 全ての事業の開発チームにDataLake連携システムの開発依頼をすることになる Data Scienceチーム 事業システム 開発チーム DataLak e連携 DataLake data warehouse data分析環境 事業システム 分析メンバー ドメイン外の領域で事業ごとに車輪の再開発が発生

Slide 19

Slide 19 text

Copyright(C) Net Protections,Inc. All Rights Reserved. Data Scienceチームが作る場合 19 本番DBにアクセスするシステムを事業システム開発チーム外で開発することになる Data Scienceチーム 事業システム 開発チーム DataLake 連携 DataLake data warehouse data分析環境 事業システム 分析メンバー DB負荷についてコミュニケーションが多く発生し、非効率

Slide 20

Slide 20 text

Copyright(C) Net Protections,Inc. All Rights Reserved. Cluster Cloneによりコミュニケーションを減らす 20 事業システムのDBに負荷をかけないので、細かい変更でコミュニケーションが発生しない Data Scienceチーム 事業システム 開発チーム DataLake 連携 DataLake data warehouse data分析環境 事業システム 分析メンバー Data Scienceチームが自立して開発可能に Clone DB

Slide 21

Slide 21 text

Copyright(C) Net Protections,Inc. All Rights Reserved. まとめ 21

Slide 22

Slide 22 text

Copyright(C) Net Protections,Inc. All Rights Reserved. 今日のまとめ 22 Aurora Cluster Clone ● 独立したDBなので、本番DBへの影響をほぼ0でDataLake連携システムが作れる ● Clone作成時にデータのコピーをしないため、高速+低コスト Copy-on-write Protocol ● できるだけデータは共有しつつ、DB間の影響をなくす仕組み ● 書き込みのあったPageをコピーしてから書き込む DataLake連携システムを誰が作るのか? ● 事業システム開発チームとData Scienceチームの間に落ちがちなタスク ● 本番DBへの影響が少なくなることで、Data Scienceチームが独立して作りやす い

Slide 23

Slide 23 text

No content