Slide 1

Slide 1 text

Hiroaki ONO (@hihihiroro) 実践的データ基盤への処方箋 輪読会 2022/02/03 (2-5 〜 2-8)

Slide 2

Slide 2 text

サマリ ● データベースからの収集方法 ○ SQL 利用 ○ ファイル経由 ○ 更新ログ収集 ● 収集方法はうまく使い分ける ○ 取得元データベースの種類 ○ データベースへの負荷 ○ 予算 など

Slide 3

Slide 3 text

目次 2-5 SQLを利用したデータベース収集ではデータベースへの負荷を意識する 2-6 データベースの負荷を考慮したデータ収集では、エクスポートやダンプファイル活用を視野に入れる 2-7 更新ログ経由のデータベース収集はデータベースの負荷を最小限にしてリアルタイムに収集できる 2-8 各データベースの収集の特徴と置かれた状況を理解して使い分ける

Slide 4

Slide 4 text

目次 2-5 SQLを利用したデータベース収集ではデータベースへの負荷を意識する 2-6 データベースの負荷を考慮したデータ収集では、エクスポートやダンプファイル活用を視野に入れる 2-7 更新ログ経由のデータベース収集はデータベースの負荷を最小限にしてリアルタイムに収集できる 2-8 各データベースの収集の特徴と置かれた状況を理解して使い分ける

Slide 5

Slide 5 text

● 企業に重要なデータはDBへ蓄積されている ○ 業務はコンピュータシステムで行われることがほとんど ○ データ構造を決めて管理 ○ データの一貫性を保つ ● データの例 ○ 顧客との取引データ ○ 商品や在庫のデータ ○ 企業会計のデータなど 重要なデータはDBへ 本のページ p84

Slide 6

Slide 6 text

● メリット ○ 実装が簡単で敷居が低い、開発できるエンジニアが多数 ○ 取得対象をSQL で加工、絞り込みが可能 ● デメリット ○ 取得元DB へ高い負荷がかかる ■ データ収集クエリによるキャッシュ汚染 ■ 長時間クエリによるリソース消費 ■ ディスク容量枯渇によるシステム不安定 DBからの収集 SQL実行 (1/4) 本番DB から全件取得 本のページ p85-86

Slide 7

Slide 7 text

● ポイント ○ 取得データが減るためデータ収集時間の削減が見込める ■ データ追記型 : 追加されたデータを収集し挿入 ■ データ更新型 : 更新されたデータを収集し更新、挿入 ○ 取得の際にインデックスを利用しないと負荷軽減にはならない可能性あり DBからの収集 SQL実行 (2/4) 本番DB から一部取得 本のページ p87-89

Slide 8

Slide 8 text

DBからの収集 SQL実行 (3/4) 本番DB から並列取得 ● ポイント ○ 並列実行するためデータ収集時間の削減が見込める ■ 取得元のストレージの分散状況により遅くなる可能性あり ■ 取得の際にインデックスを利用しないと負荷軽減にはならない可能性あり 本のページ p90-91

Slide 9

Slide 9 text

● ポイント ○ クエリ収集専用DB なので負荷をあまり考える必要がない ■ レプリカを作成するために費用、手間がかかる DBからの収集 SQL実行 (4/4) レプリカDB から取得 本のページ p91-92

Slide 10

Slide 10 text

目次 2-5 SQLを利用したデータベース収集ではデータベースへの負荷を意識する 2-6 データベースの負荷を考慮したデータ収集では、エクスポートやダンプファイル活用を視野に入れる 2-7 更新ログ経由のデータベース収集はデータベースの負荷を最小限にしてリアルタイムに収集できる 2-8 各データベースの収集の特徴と置かれた状況を理解して使い分ける

Slide 11

Slide 11 text

DBからの収集 エクスポート ● メリット ○ SQL 実行よりもDB への負荷が小さい ○ DB によってはエクスポート時に絞り込みができることがある ● デメリット ○ エクスポートファイルがテーブルサイズより大きくなることがある ○ SQL 実行ほどではないが DB への負荷がある 本のページ p93-94

Slide 12

Slide 12 text

DBからの収集 ダンプファイル ● メリット ○ SQL 実行よりもDB への負荷が小さい ○ データの変換がいらないため DB への負荷が小さい ● デメリット ○ 復元用DB を用意する必要がある ○ ダンプ時に絞り込みなどができない 本のページ p94-95

Slide 13

Slide 13 text

目次 2-5 SQLを利用したデータベース収集ではデータベースへの負荷を意識する 2-6 データベースの負荷を考慮したデータ収集では、エクスポートやダンプファイル活用を視野に入れる 2-7 更新ログ経由のデータベース収集はデータベースの負荷を最小限にしてリアルタイムに収集できる 2-8 各データベースの収集の特徴と置かれた状況を理解して使い分ける

Slide 14

Slide 14 text

DBからの収集 更新ログ ● メリット ○ DB に対する負荷が小さい ○ データ収集速度が向上、必要帯域が小さくて良い ● デメリット ○ 専用の製品を使う必要がある ○ 復元用DB の用意など構築が複雑化 本のページ p96-99 データに対する操作

Slide 15

Slide 15 text

DBからの収集 更新ログ CDC ● メリット ○ ほぼリアルタイムにDB のデータを収集 ○ 復元用DB が不必要 ● デメリット ○ 専用の製品を使う必要がある ○ DB に更新が多い場合、収集が間に合わない可能性がある ○ 処理が止まったときの再実行が困難 本のページ p100-102

Slide 16

Slide 16 text

目次 2-5 SQLを利用したデータベース収集ではデータベースへの負荷を意識する 2-6 データベースの負荷を考慮したデータ収集では、エクスポートやダンプファイル活用を視野に入れる 2-7 更新ログ経由のデータベース収集はデータベースの負荷を最小限にしてリアルタイムに収集できる 2-8 各データベースの収集の特徴と置かれた状況を理解して使い分ける

Slide 17

Slide 17 text

DBからの収集方法まとめ ● 使い分けのコツ ○ 取得元DB の重要度 ■ 高・低 ○ 使える予算 ■ 潤沢・不足 ○ ユースケース ■ リアルタイム収集 ■ 取得データ削減 本のページ p102-104