Slide 1

Slide 1 text

クロスクラウドデータ管理の未来: BigLakeで実現するAWS S3とBigQuery のデータ統合戦略 2024.7.12 データ事業本部 三上 裕貴

Slide 2

Slide 2 text

Xへの投稿の際は、 ハッシュタグ #devio2024 でお願いいたします。 2 お願い

Slide 3

Slide 3 text

⾃⼰紹介 3 クラスメソッド株式会社 データ事業本部 インテグレーション部 イニシアティブチーム 三上 裕貴(みかみ ゆき) u 職歴 • 組み込みエンジニア • Webエンジニア u 業務内容 • データ分析基盤構築 • プロジェクト/チーム管理 • プリセールス • 採用活動

Slide 4

Slide 4 text

本⽇、お伝えしたいこと 4

Slide 5

Slide 5 text

BigQuery から S3 データそのまま分析できます。 5

Slide 6

Slide 6 text

おしながき 6

Slide 7

Slide 7 text

おしながき • はじめに • BigQuery Omni と BigLake • BigQuery から S3 データにアクセスする準備 • ユースケース • 注意点 • おわりに 7

Slide 8

Slide 8 text

はじめに 8

Slide 9

Slide 9 text

はじめに データ管理アプローチ ü データレイク データソースを⼀箇所に集める ü データファブリック 異なる場所にあるデータソースをシームレスに統合 9

Slide 10

Slide 10 text

はじめに データレイクのデメリット • データパイプラインの構築が必要 • データスワンプ(無秩序なデータ蓄積)のリスク • データ品質やデータ整合性の確保が困難 • データ管理コストの増加 • 専⾨知識と多⼤なリソースが必要 10

Slide 11

Slide 11 text

はじめに データファブリックとは • 異なるデータソースの統合 • ⼀貫したデータ管理 • リアルタイムアクセス実現 • インフラの抽象化 • データガバナンス、セキュリティ管理の簡素化 11

Slide 12

Slide 12 text

BigQuery Omni と BigLake 12

Slide 13

Slide 13 text

BigQuery Omni と BigLake BigLake とは • Google Cloud Next ʻ22 で発表された、ストレージエ ンジンだよ。 • 異なるストレージシステムのデータをシームレスに クエリできるよ。 • どこのデータにも BigQuery からアクセスできるよ。 13

Slide 14

Slide 14 text

BigQuery Omni と BigLake ※抜粋: https://cloud.google.com/biglake?hl=ja https://cloud.google.com/blog/ja/products/data-analytics/unifying-data- lakes-and-data-warehouses-across-clouds-with-biglake 14 BigLake は、分析エンジンと AI エンジンでマルチフォーマット、マルチクラウド、マルチモーダルのデ ータを安全かつ管理されたパフォーマンスの⾼い⽅法でクエリするための統合インターフェースを提供 するストレージ エンジンです。 BigLake は基盤となるストレージ形式やシステムを意識 することなくデータを分析できるようにするもので、デ ータの複製や移動が不要になり、コスト削減と効率化を 図ることができます。

Slide 15

Slide 15 text

BigQuery Omni と BigLake BigQuery Omni とは • BigQuery から AWS や Azure にクエリできるよ。 • コンピューティングリソースを Google Cloud か ら AWS/Azure にオフロードしたよ。 • クエリの実⾏は AWS/Azure 側でやって、データ は VPN 接続で転送するよ。 15

Slide 16

Slide 16 text

BigQuery Omni と BigLake ※抜粋:https://cloud.google.com/bigquery/docs/omni-introduction?hl=ja 16 BigQuery Omni を使⽤すると、BigLake テーブルを使⽤して、Amazon Simple Storage Service (Amazon S3)または Azure Blob Storage に保存されたデータに対して BigQuery 分析を実⾏できます。 BigQuery Omni は、クロスクラウドの分析ソリューションで、データが存在する場所で分析する機能と、 必要に応じてデータを複製する柔軟性を備えています。

Slide 17

Slide 17 text

BigQuery Omni と BigLake BigLake テーブルとは • BigQuery の外部テーブルみたいなものだよ。 • AWS/Azure のファイルストレージをソースとし た外部テーブルも作成できるよ。 • データ移動なしでファイルデータにクエリできる よ。 17

Slide 18

Slide 18 text

BigQuery Omni と BigLake ※抜粋:https://cloud.google.com/bigquery/docs/biglake-intro?hl=ja 18 BigLake テーブルでは、アクセス権の委任を使⽤して外部データストアの構造化データをクエリできま す。アクセス権の委任により、BigLake テーブルへのアクセス権と基盤となるデータストアへのアクセ ス権が分離されます。 BigLake テーブルは、次のデータストアで使⽤できます。 ‧Amazon S3(BigQuery Omni を使⽤) ‧Blob Storage(BigQuery Omni を使⽤) ‧Cloud Storage

Slide 19

Slide 19 text

BigQuery Omni を使えば、 BigLake テーブル経由で S3 データに直接アクセス することができます。 19

Slide 20

Slide 20 text

BigQuery から S3 データに アクセスする準備 20

Slide 21

Slide 21 text

BigQuery から S3 データにアクセスする準備 1. [AWS] IAMポリシー&ロール作成 2. [Google Cloud] BigQuery Connection 作成 3. [AWS] IAMロール更新 4. [Google Cloud] BigLakeテーブル作成 21

Slide 22

Slide 22 text

1. [AWS] IAMポリシー&ロール作成 22

Slide 23

Slide 23 text

2. [Google Cloud] BigQuery Connection 作成 23 $ bq mk --connection --connection_type='AWS' ¥ --iam_role_id=arn:aws:iam::10XXXXXXXX08:role/temp_biglake_mikami ¥ --location=aws-us-east-1 ¥ temp_biglake Connection 79XXXXXXXX23.aws-us-east-1.temp_biglake successfully created Please add the following identity to your AWS IAM Role 'arn:aws:iam::10XXXXXXXX08:role/temp_biglake_mikami' Identity: '1066XXXXXXXXXXXXX3637' ※⼀部、伏字に変更しています。

Slide 24

Slide 24 text

3. [AWS] IAMロール更新 24

Slide 25

Slide 25 text

4. [Google Cloud] BigLakeテーブル作成 25 $ bq --location=aws-us-east-1 mk --dataset ds_biglake_aws_us Dataset 'cm-da-mikami-yuki-XXXXXX:ds_biglake_aws_us' successfully created. $ bq mkdef ¥ --autodetect ¥ --source_format=CSV ¥ --connection_id=aws-us-east-1.temp_biglake ¥ --metadata_cache_mode=AUTOMATIC ¥ s3://cm-mikami-biglake/temp/sample_data.csv > schema/table_def $ bq mk --max_staleness="0-0 0 4:0:0" --external_table_definition=schema/table_def ds_biglake_aws_us.table_sample Table 'cm-da-mikami-yuki-XXXXXX:ds_biglake_aws_us.table_sample' successfully created.

Slide 26

Slide 26 text

Use Case 1: S3 データを BigQuery から参照したい 26

Slide 27

Slide 27 text

S3 データをBigQuery から参照したい 27 BigQuery から SQL 実⾏するだけ

Slide 28

Slide 28 text

Use Case 2: S3 データを BigQuery に取り込みたい 28

Slide 29

Slide 29 text

S3 データを BigQuery に取り込みたい 29 CREATE TABLE構⽂で、 BgLake テーブルデータを BigQuery テーブルに取り込み

Slide 30

Slide 30 text

S3 データを BigQuery に取り込みたい 30 BigLake テーブル作成なしで、LOAD DATA も可能

Slide 31

Slide 31 text

Use Case 3: S3 データと BigQuery テーブルデータ を結合したい 31

Slide 32

Slide 32 text

S3 データと BigQuery テーブルデータを結合したい 32 BigLake テーブルと BigQuery テーブルを JOIN

Slide 33

Slide 33 text

おまけ: S3 データを分析した結果 を S3 に出⼒したい 33

Slide 34

Slide 34 text

S3 データを分析した結果を S3 に出⼒したい 34 BigQuery から SQL で S3にファイル出⼒可能。

Slide 35

Slide 35 text

注意点 35

Slide 36

Slide 36 text

注意点 • 東京リージョンではまだ使えない • BigQuery Standardエディションでは未サポート • クエリデータ量、⾏サイズ制限あり • クエリ結果:20GiB(⾮圧縮) • クエリ結果合計サイズ:1TB / ⽇ • ⾏の最⼤サイズ:10MiB • GROUP BY 利⽤時のクエリ結果:256 MB • 通常の BigQuery より少しお⾼い • BigQuery(オンデマンド US):$6.25 per TiB • Omni(オンデマンド AWS バージニア北部):$7.82 per TiB • やっぱりちょっと遅い(?) 36 ※参考:https://cloud.google.com/bigquery/docs/omni-introduction?hl=ja#limitations https://cloud.google.com/bigquery/quotas?hl=ja#query_jobs https://cloud.google.com/bigquery/pricing

Slide 37

Slide 37 text

おわりに 37

Slide 38

Slide 38 text

BigQuery から データパイプライン構築なしで AWS S3 や Azure Blob Storage に アクセスできます。 38

Slide 39

Slide 39 text

快適なクロスクラウドライフを! 39

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

41