Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データウェアハウスを使ってみよう
Search
みかん大学
June 01, 2024
Technology
91
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データウェアハウスを使ってみよう
- データウェアハウスを使ってみよう
- BigQuery の使用例
みかん大学
June 01, 2024
More Decks by みかん大学
See All by みかん大学
VRChatのワールド情報が大量に集まっていた
hidetobara
0
190
VRChat と cluster ワールドの違い-その1-
hidetobara
0
390
VRChat 続・日本語圏のワールドの特徴
hidetobara
0
180
VRChat日本語圏のワールドの特徴
hidetobara
0
250
VRChat Lab抜けの条件
hidetobara
0
3.1k
アンドロイドは電気羊の絵を描くか?
hidetobara
2
77
Other Decks in Technology
See All in Technology
認証認可だけじゃない! ID管理の構成要素と ライフサイクルを意識しよう
ritou
1
520
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
3.8k
知見・人・API・DB・予算 ─ ナイナイ尽くしだった人事データ整備 with dbt、5年間の学び
ken6377
1
170
AIDLC_ヤフーショッピングの取り組み
lycorptech_jp
PRO
0
570
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
1
140
Keeping applications secure by evolving OAuth 2.0 and OpenID Connect
ahus1
PRO
1
150
デジタル・デザイン:次の50年を描く「進化する青写真」
y150saya
0
840
攻撃者がいなくてもAIエージェントはインシデントを起こす
nomizone
0
200
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
8.1k
ループエンジニアリングでE2Eテストを実践
noriyukitakei
0
310
Text-to-SQLをAgentCoreで実現し、生成されるSQLの精度を定量的に評価する
yakumo
2
680
“ID沼入口” - 基本とセキュリティから始める、考え続けるためのID管理技術勉強会 告知&イントロ
ritou
0
440
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
460
A Soul's Torment
seathinner
6
3k
Code Review Best Practice
trishagee
74
20k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
310
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Building an army of robots
kneath
306
46k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.1k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
630
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Transcript
データウェアハウスを 使ってみよう みかん電機
DWH (Data Warehouse)とは • 「データの倉庫」を意味する言葉 • 大量のデータを管理し、分析計算を高速に行うシステム • 例 ◦
Apache Hadoop, Spark, Hive ◦ AWS Athena, Redshift ◦ GCP BigQuery ◦ Azure SQL Data Warehouse ◦ Snowflake ◦ Databricks etc…
RDB (Relational Database) とは何が違うの? • 方言の違いはあるものの SQL でクエリを記述できるのは共通 • RDB
は行指向データベース、DWH は列指向データベース • DWH はデータ量がテラ、ペタ級になっても実用的に動作 • RDB はレコードの更新も速い、DWH だと更新は遅いもしくは不可 • RDB を使うのはWebアプリケーションなどのシステム、DWH を使うのは分析基盤 などのシステム user_id ・・・ 名前 年齢 1234 山田 21 1235 田中 30 1236 伊藤 60 行指向 列指向
Datalake とは何が違うの? • Datalake は生ログが置いてあり、DWH はそれらを整形して入れたものだったはず が・・・ ◦ AWS S3,
Athena は Datalake で、AWS Redshift が DWH • BigQuery は、改善によって、JSON形式の生ログを入れても大丈夫になっていた ・・・ ◦ 境界はあいまいな気が ◦ 本によっても言葉がぶれており
例)ECサイトの中での立ち位置 • Web Framework に Laravel • RDB に、AWS RDS
• Datalake として、AWS S3 / Athena • DWH に、AWS Redshift DWH RDB WEB サーバ Datalake ユーザデータ 生ログ • 購買ログ • ページ遷移
わざわざ分けるの面倒だし RDB でも良くないんですか? 「購買ログ・テーブルも、RDBに入れますね」 「カラムは、購買日時、ユーザID、商品ID でいいか」 「えっ、どこの県の人が買っているか調べたい?」 「ユーザ情報と JOIN して検索すると今の県しか分からないって?」
「購買ログ・テーブルのカラムにその時点での住所情報も追加しますね」 「え、年齢も年収も所帯も子供数もさらに必要って?」 「大変です、CMの影響でユーザ数が増大しています」 「RDBの容量の9割以上が購買ログなのですが!」 ・・・・・( ゚Д゚)
RDB
大量のデータを集めて分析するために作られたのが DWH 課題 • 分析用ログは正規化できないのでデータ量は膨大に • 分析対象となる膨大なデータは、RDB の検索性を圧迫しコストも増大 解決策 •
DWH を使おう! • BigQuery は、DWH の中でスタートアップや個人でも使いやすい ◦ 1ヶ月1Gのデータ保存で約3円、長期になると1.5円 ◦ スキャンしたデータ量だけ課金される、いわゆるサーバーレスの課金方式 ▪ 他のサービスのように最低でも月に〇万円かかる、ということは無い ▪ 1Gのスキャンで約0.937円 ◦ 初期の契約でも、GCP上の計算リソースが空いているならば最大 2000並列で計算してくれるので、 めっちゃ速い
まとめ • DWHは、大量のデータを管理することができます • そのデータの分析を高速に行うことができます • 餅は餅屋 • SQL でデータの操作はできるので実例は略
• DWH おススメの本→ • おまけ ◦ VRChat のワールドデータ公開します
おまけ)VRChat ワールドデータ (Parquet) • VRC API にて、ワールドの更新があるとその一覧が取得できるので、そこからデー タ取得 • ワールド名や作者名、訪問数、お気に入り数、説明文、タグなどがあります
おまけ)BigQuery で、月毎のワールド公開数を調べる • クエリを実行する前に、スキャンするデー タ量が表示され、計算コストが分かるので うれしい↑ • WITH 構文が使えるので、サブクエリのネ ストしなくても良い
• 最大2000並列で計算するので速い • クエリ結果は見やすいとは言えないので、 スプレッドシートや JupyterLab などにエク スポート