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
実践的データ基盤への処方箋輪読会_20220203
Search
Hiroaki ONO
February 03, 2022
Technology
0
810
実践的データ基盤への処方箋輪読会_20220203
Hiroaki ONO
February 03, 2022
Tweet
Share
More Decks by Hiroaki ONO
See All by Hiroaki ONO
改正個人情報保護法実務ガイドブック輪読会_20220316
hihihiroro
0
410
Kubernetesに入門したい
hihihiroro
47
16k
Dockerコマンド
hihihiroro
2
950
20170602_sqlstudy
hihihiroro
2
700
Other Decks in Technology
See All in Technology
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
380
田舎で20年スクラム(後編):一個人が企業で長期戦アジャイルに挑む意味
chinmo
1
1.6k
I tried making a solo advent calendar!
zzzzico
0
150
Scrum Guide Expansion Pack が示す現代プロダクト開発への補完的視点
sonjin
0
730
Introduction to Bill One Development Engineer
sansan33
PRO
0
350
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
2
920
旬のブリと旬の技術で楽しむ AI エージェント設計開発レシピ
chack411
1
290
アウトプットはいいぞ / output_iizo
uhooi
0
120
CQRS/ESになぜアクターモデルが必要なのか
j5ik2o
0
1.2k
Databricks Free Edition講座 データエンジニアリング編
taka_aki
0
2.7k
AWSと生成AIで学ぶ!実行計画の読み解き方とSQLチューニングの実践
yakumo
2
580
チームで安全にClaude Codeを利用するためのプラクティス / team-claude-code-practices
tomoki10
7
3.4k
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
190
My Coaching Mixtape
mlcsv
0
26
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
WENDY [Excerpt]
tessaabrams
9
35k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
The Language of Interfaces
destraynor
162
26k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
150
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
120
Designing for humans not robots
tammielis
254
26k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
560
GitHub's CSS Performance
jonrohan
1032
470k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
250
Transcript
Hiroaki ONO (@hihihiroro) 実践的データ基盤への処方箋 輪読会 2022/02/03 (2-5 〜 2-8)
サマリ • データベースからの収集方法 ◦ SQL 利用 ◦ ファイル経由 ◦ 更新ログ収集
• 収集方法はうまく使い分ける ◦ 取得元データベースの種類 ◦ データベースへの負荷 ◦ 予算 など
目次 2-5 SQLを利用したデータベース収集ではデータベースへの負荷を意識する 2-6 データベースの負荷を考慮したデータ収集では、エクスポートやダンプファイル活用を視野に入れる 2-7 更新ログ経由のデータベース収集はデータベースの負荷を最小限にしてリアルタイムに収集できる 2-8 各データベースの収集の特徴と置かれた状況を理解して使い分ける
目次 2-5 SQLを利用したデータベース収集ではデータベースへの負荷を意識する 2-6 データベースの負荷を考慮したデータ収集では、エクスポートやダンプファイル活用を視野に入れる 2-7 更新ログ経由のデータベース収集はデータベースの負荷を最小限にしてリアルタイムに収集できる 2-8 各データベースの収集の特徴と置かれた状況を理解して使い分ける
• 企業に重要なデータはDBへ蓄積されている ◦ 業務はコンピュータシステムで行われることがほとんど ◦ データ構造を決めて管理 ◦ データの一貫性を保つ • データの例
◦ 顧客との取引データ ◦ 商品や在庫のデータ ◦ 企業会計のデータなど 重要なデータはDBへ 本のページ p84
• メリット ◦ 実装が簡単で敷居が低い、開発できるエンジニアが多数 ◦ 取得対象をSQL で加工、絞り込みが可能 • デメリット ◦
取得元DB へ高い負荷がかかる ▪ データ収集クエリによるキャッシュ汚染 ▪ 長時間クエリによるリソース消費 ▪ ディスク容量枯渇によるシステム不安定 DBからの収集 SQL実行 (1/4) 本番DB から全件取得 本のページ p85-86
• ポイント ◦ 取得データが減るためデータ収集時間の削減が見込める ▪ データ追記型 : 追加されたデータを収集し挿入 ▪ データ更新型
: 更新されたデータを収集し更新、挿入 ◦ 取得の際にインデックスを利用しないと負荷軽減にはならない可能性あり DBからの収集 SQL実行 (2/4) 本番DB から一部取得 本のページ p87-89
DBからの収集 SQL実行 (3/4) 本番DB から並列取得 • ポイント ◦ 並列実行するためデータ収集時間の削減が見込める ▪
取得元のストレージの分散状況により遅くなる可能性あり ▪ 取得の際にインデックスを利用しないと負荷軽減にはならない可能性あり 本のページ p90-91
• ポイント ◦ クエリ収集専用DB なので負荷をあまり考える必要がない ▪ レプリカを作成するために費用、手間がかかる DBからの収集 SQL実行 (4/4)
レプリカDB から取得 本のページ p91-92
目次 2-5 SQLを利用したデータベース収集ではデータベースへの負荷を意識する 2-6 データベースの負荷を考慮したデータ収集では、エクスポートやダンプファイル活用を視野に入れる 2-7 更新ログ経由のデータベース収集はデータベースの負荷を最小限にしてリアルタイムに収集できる 2-8 各データベースの収集の特徴と置かれた状況を理解して使い分ける
DBからの収集 エクスポート • メリット ◦ SQL 実行よりもDB への負荷が小さい ◦ DB
によってはエクスポート時に絞り込みができることがある • デメリット ◦ エクスポートファイルがテーブルサイズより大きくなることがある ◦ SQL 実行ほどではないが DB への負荷がある 本のページ p93-94
DBからの収集 ダンプファイル • メリット ◦ SQL 実行よりもDB への負荷が小さい ◦ データの変換がいらないため
DB への負荷が小さい • デメリット ◦ 復元用DB を用意する必要がある ◦ ダンプ時に絞り込みなどができない 本のページ p94-95
目次 2-5 SQLを利用したデータベース収集ではデータベースへの負荷を意識する 2-6 データベースの負荷を考慮したデータ収集では、エクスポートやダンプファイル活用を視野に入れる 2-7 更新ログ経由のデータベース収集はデータベースの負荷を最小限にしてリアルタイムに収集できる 2-8 各データベースの収集の特徴と置かれた状況を理解して使い分ける
DBからの収集 更新ログ • メリット ◦ DB に対する負荷が小さい ◦ データ収集速度が向上、必要帯域が小さくて良い •
デメリット ◦ 専用の製品を使う必要がある ◦ 復元用DB の用意など構築が複雑化 本のページ p96-99 データに対する操作
DBからの収集 更新ログ CDC • メリット ◦ ほぼリアルタイムにDB のデータを収集 ◦ 復元用DB
が不必要 • デメリット ◦ 専用の製品を使う必要がある ◦ DB に更新が多い場合、収集が間に合わない可能性がある ◦ 処理が止まったときの再実行が困難 本のページ p100-102
目次 2-5 SQLを利用したデータベース収集ではデータベースへの負荷を意識する 2-6 データベースの負荷を考慮したデータ収集では、エクスポートやダンプファイル活用を視野に入れる 2-7 更新ログ経由のデータベース収集はデータベースの負荷を最小限にしてリアルタイムに収集できる 2-8 各データベースの収集の特徴と置かれた状況を理解して使い分ける
DBからの収集方法まとめ • 使い分けのコツ ◦ 取得元DB の重要度 ▪ 高・低 ◦ 使える予算
▪ 潤沢・不足 ◦ ユースケース ▪ リアルタイム収集 ▪ 取得データ削減 本のページ p102-104