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
640
実践的データ基盤への処方箋輪読会_20220203
Hiroaki ONO
February 03, 2022
Tweet
Share
More Decks by Hiroaki ONO
See All by Hiroaki ONO
改正個人情報保護法実務ガイドブック輪読会_20220316
hihihiroro
0
270
Kubernetesに入門したい
hihihiroro
47
15k
Dockerコマンド
hihihiroro
2
830
20170602_sqlstudy
hihihiroro
2
620
Other Decks in Technology
See All in Technology
Git 研修 Basic【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
310
What if...? 처음부터 다시 LLM 어플리케이션을 개발한다면
huffon
0
1k
たくさん本を読んだけど 1年後には綺麗サッパリ!を乗り越えて 学習の鬼になるぞ👹
yum3
0
160
開発と事業を繋ぐ!SREのオブザーバビリティ戦略 ~ Developers Summit 2024 Summer ~
leveragestech
0
620
How to Think Like a Performance Engineer
csswizardry
4
590
GoとアクターモデルでES+CQRSを実践! / proto_actor_es_cqrs
ytake
1
150
可視化プラットフォームGrafanaの基本と活用方法の全て
hamadakoji
0
230
フルリモートワークはエンジニアの夢を叶えたか? #cm_odyssey
mamohacy
2
600
Scaling Technical Excellence at 104: Evolution in AWS and Developer Empowerment
scotthsieh825
1
150
テストケースの自動生成に生成AIの導入を試みた話と生成AIによる今後の期待
shift_evolve
0
180
AI研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
130
クラウド利用者の「責任」をどう果たす?AWSセキュリティ対策のススメ #AWSSummit
hiashisan
0
270
Featured
See All Featured
5 minutes of I Can Smell Your CMS
philhawksworth
200
19k
Building Your Own Lightsaber
phodgson
101
5.9k
Documentation Writing (for coders)
carmenintech
63
4.2k
The Power of CSS Pseudo Elements
geoffreycrofte
64
5.2k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
26
2.1k
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
149
45k
Side Projects
sachag
451
42k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
23
1.9k
Scaling GitHub
holman
458
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
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