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. Hiroaki ONO (@hihihiroro)
    実践的データ基盤への処方箋 輪読会
    2022/02/03 (2-5 〜 2-8)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide