Upgrade to Pro — share decks privately, control downloads, hide ads and more …

実践的データ基盤への処方箋輪読会_20220203

Hiroaki ONO
February 03, 2022

 実践的データ基盤への処方箋輪読会_20220203

Hiroaki ONO

February 03, 2022
Tweet

More Decks by Hiroaki ONO

Other Decks in Technology

Transcript

  1. サマリ • データベースからの収集方法 ◦ SQL 利用 ◦ ファイル経由 ◦ 更新ログ収集

    • 収集方法はうまく使い分ける ◦ 取得元データベースの種類 ◦ データベースへの負荷 ◦ 予算 など
  2. • メリット ◦ 実装が簡単で敷居が低い、開発できるエンジニアが多数 ◦ 取得対象をSQL で加工、絞り込みが可能 • デメリット ◦

    取得元DB へ高い負荷がかかる ▪ データ収集クエリによるキャッシュ汚染 ▪ 長時間クエリによるリソース消費 ▪ ディスク容量枯渇によるシステム不安定 DBからの収集 SQL実行 (1/4) 本番DB から全件取得 本のページ p85-86
  3. • ポイント ◦ 取得データが減るためデータ収集時間の削減が見込める ▪ データ追記型 : 追加されたデータを収集し挿入 ▪ データ更新型

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

    取得元のストレージの分散状況により遅くなる可能性あり ▪ 取得の際にインデックスを利用しないと負荷軽減にはならない可能性あり 本のページ p90-91
  5. DBからの収集 エクスポート • メリット ◦ SQL 実行よりもDB への負荷が小さい ◦ DB

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

    DB への負荷が小さい • デメリット ◦ 復元用DB を用意する必要がある ◦ ダンプ時に絞り込みなどができない 本のページ p94-95
  7. DBからの収集 更新ログ • メリット ◦ DB に対する負荷が小さい ◦ データ収集速度が向上、必要帯域が小さくて良い •

    デメリット ◦ 専用の製品を使う必要がある ◦ 復元用DB の用意など構築が複雑化 本のページ p96-99 データに対する操作
  8. DBからの収集 更新ログ CDC • メリット ◦ ほぼリアルタイムにDB のデータを収集 ◦ 復元用DB

    が不必要 • デメリット ◦ 専用の製品を使う必要がある ◦ DB に更新が多い場合、収集が間に合わない可能性がある ◦ 処理が止まったときの再実行が困難 本のページ p100-102
  9. DBからの収集方法まとめ • 使い分けのコツ ◦ 取得元DB の重要度 ▪ 高・低 ◦ 使える予算

    ▪ 潤沢・不足 ◦ ユースケース ▪ リアルタイム収集 ▪ 取得データ削減 本のページ p102-104