/note/tech

Big Data is Dead

要約:

■ 1. 主張の概要

  • 「ビッグデータ」時代は終わりを迎えつつある
  • データ規模の問題を理由にした新技術への投資は、多くの場合で実際の問題を解決しなかった
  • 現在は、データサイズではなくデータをどう活用するかに焦点を移すべき時代にある
  • 本記事の根拠はBigQueryのクエリログ、顧客対応、ベンチマーク結果、業界アナリストとの対話などに基づく

■ 2. 著者の背景

  • Google BigQueryの創設エンジニアであり、ビッグデータ普及の推進者として世界中の会議で講演を行った
  • 2018年にプロダクトマネジメントに転身し、顧客との対話と製品メトリクス分析を担当した
  • BigQueryの利用実態を分析する中で、「ビッグデータ」を持たないユーザーが大多数であることを発見した

■ 3. ほとんどの組織はビッグデータを持っていない

  • BigQueryの顧客データ:
    • 大多数の顧客の総ストレージは1テラバイト未満
    • 頻繁に利用する顧客の中央値は100GB未満
    • 顧客のデータサイズはべき乗則分布に従う
  • 業界アナリスト(Gartner、Forresterなど)の見解:
    • 大多数の企業のデータウェアハウスは1テラバイト未満
    • 一般的な目安は100GB程度のオーダー
  • 投資家がポートフォリオ企業を調査した結果:
    • 大規模B2B企業でも約1テラバイト程度
    • 大規模B2C企業でも約10テラバイト程度
  • 一般的な業務では膨大なデータは生成されにくい:
    • 1,000顧客、1日100明細の受注でも1日1MB未満
    • 100万件のマーケティングリードでも数ギガバイト程度
  • NoSQLやNewSQLの停滞と、SQLite・PostgreSQL・MySQLの堅調な成長がこの実態を裏付ける

■ 4. ストレージとコンピュートの分離とその偏り

  • ストレージとコンピュートの分離は過去20年で最も重要なアーキテクチャ変革
  • S3・GCSなどのオブジェクトストレージの普及により、柔軟なスケーリングが可能になった
  • 実態として、ストレージはコンピュートよりはるかに速く増大する:
    • データは時間軸に沿って線形に蓄積される
    • 分析は主に直近のデータに対して行われるため、コンピュート需要はほぼ横ばい
  • 実例として、ある大手小売業者がオンプレミスからクラウド移行後にストレージは300倍(100TB→30PB)増加したが、コンピュート費用はごくわずかにとどまった
  • オブジェクトストレージの活用により、分散処理が不要なケースも多い

■ 5. ワークロードのサイズは実際には小さい

  • BigQueryの年間1,000ドル以上支出顧客の分析結果:
    • クエリの90%は処理データ量が100MB未満
    • テラバイト規模のクエリは極めて少数
  • 巨大なデータを持つ顧客も、日常的には少量のデータしかクエリしない
  • 大規模クエリはレポート生成目的が多く、パフォーマンスは優先されない
  • データ処理量を削減する技術的手法:
    • カラム射影(Column Projection)
    • パーティションプルーニング(Partition Pruning)
    • セグメント除去(Segment Elimination)
    • 圧縮データへの演算、述語プッシュダウン
  • 経済的なインセンティブも処理量削減を促す:
    • ステージ上で行ったペタバイトクエリは小売価格で5,000ドルの費用がかかる
    • クエリを小さくすることで、インスタンスサイズの縮小、コスト削減、並列実行数の増加につながる

■ 6. ほとんどのデータはほとんどクエリされない

  • データアクセス頻度は鮮度に強く依存する:
    • 処理データの大部分は24時間以内のもの
    • 1週間経過すると直近1日比で約20分の1の頻度
    • 1ヶ月以上経過したデータはほぼアクセスされない
  • ストレージの年齢分布はフラットだが、アクセス分布は直近に集中する:
    • 直近1ヶ月が全ストレージの5%でも全アクセスの80%を占める
  • 結果として、実際のワーキングセットサイズは想定より管理しやすい

■ 7. ビッグデータの境界は後退し続けている

  • 「ビッグデータ」の定義は「1台のマシンに収まらないデータ」であるが、該当するワークロードは年々減少している
  • ハードウェアの進化:
    • 2006年のAWS EC2初期インスタンスはシングルコア・2GBのRAM
    • 現在の標準インスタンスは64コア・256GBのRAM(RAMで約2桁の向上)
    • メモリ最適化インスタンスでは24TBのRAMや445コアも選択可能
  • コストスケールの変化:
    • クラウドではコンピュートコストはほぼ線形にスケールする
    • 2004年のDremelペーパーで3,000並列ノードを要した処理が、現在は単一ノードで実行可能

■ 8. データはリスクでもある

  • 「ビッグデータ」の別の定義は「削除対象を判断するコストより保持コストが低い状態」
  • データ保持に伴う法的・規制上のリスク:
    • GDPRやCCPAにより、特定データの利用追跡・削除義務が発生する
    • データレイクに放置された個人データは法令違反につながる可能性がある
  • データは訴訟においてリスク要因になり得る:
    • セキュリティバグやSLA違反を示すログが訴訟に利用される可能性がある
    • メール保持期限と同様に、データ保持期限を設けることがリスク管理として有効
  • データの「ビット腐敗」問題:
    • フィールドの意味の変化やデータバグの蓄積により、歴史データの解釈が困難になる
    • 時代ごとの参照フィールドの違いなど、複雑なビジネスロジックが生じる
  • データ保持の目的を明確にすることが重要:
    • 同じ質問を繰り返すなら集計データの保持で足りる
    • 将来のための保持なら、実際に必要になる可能性の評価が必要

■ 9. ビッグデータの1%に該当するか

  • 以下の問いに一つでも「否」があれば、ビッグデータへの大規模投資は不要である可能性が高い:
    • 本当に大量のデータを生成しているか
    • そのデータを一度に大量に使う必要があるか
    • データが1台のマシンに収まらないほど大きいか
    • 単なるデータホーダー(溜め込み癖、捨てる事への恐怖症的な意味)ではないか
    • 集計・要約では要件を満たせないか
  • 大多数の組織は実際のデータサイズに見合ったツールを選択することが合理的