[増補改訂]ビッグデータを支える技術 --ラップトップ 1 台で学ぶデータ基盤のしくみ
ゾウホカイテイ ビッグデータヲササエルギジュツ ラップトップイチダイデマナブデータキバンノシクミ
- 著者:
- 西田 圭介(ニシダ ケイスケ)
- 出版社:
- 技術評論社
- 出版日:
- 2021年02月13日頃
- ISBN:
- 9784297119522
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
「ビッグデータ」をテーマに、データ分析基盤技術をまとめた解説書。
AI の発展、コンテナ技術の進歩をはじめ、ビッグデータを取り巻く技術が大きく変わり始めました。ビッグデータの技術には、元々大きく分けて 2 つのバックグラウンドがありました。一つは業務系システムで、RDB (Relational Database) から取り出したデータをバッチ処理して役立つ情報を提供する。もう一つは Web/IoT 系システムで、RDB では扱いきれない大量のログを分散システムを使い、データ処理をする。この 2 つの流れが融合し、膨大なデータを収集/変換し、分析/可視化するための一連の基盤システムの重要度は格段に上がりました。さらに昨今の AI/機械学習の台頭で、新たな潮流が生まれています。
本書では、ビッグデータを支える基盤技術の「今」に焦点を当て、前半ではデータ量や分散処理など基本概念の整理と、代表的なテクノロジーを徹底解説。合わせて、各技術登場の歴史的な背景も丁寧に追います。後半は実践編としてオープンソースや無償版が利用できるソフトウェアを中心にラップトップ 1 台でビッグデータを体験しながら学べるよう解説を進めます。今回の改訂では、ビッグデータの技術を活用した応用分野のうち注目度の高い機械学習や特徴量ストア、MLOps の話題も新たに盛り込み、充実の内容でお届けします。
技書の森解説
データ分析の仕事では、分析そのものより前に、データを集めて整え、すぐに引き出せる形で貯めておく仕組みが要ります。『[増補改訂]ビッグデータを支える技術』は、この仕組みをつくるデータ分析基盤の技術を、基本概念と各技術が登場した歴史的な背景から整理し、後半ではラップトップ 1 台で実際に基盤を組みながら学ぶ解説書です。著者は西田圭介氏、版元は技術評論社 (WEB+DB PRESS plus シリーズ) で、2021 年 2 月 13 日に発売されました。版元は、データインフラに携わるエンジニア、データ処理の効率化や自動化に関心のある人、データを扱う一線の業務システムを知りたい学生を読者として挙げています。
全 7 章の構成、基礎知識から分析基盤の構築まで
版元の紹介文は、ビッグデータの技術には元々 2 つのバックグラウンドがあったと説明します。一つは RDB から取り出したデータをバッチ処理して役立つ情報を提供する業務系システム、もう一つは RDB では扱いきれない大量のログを分散システムで処理する Web や IoT の系統で、この 2 つの流れが融合して、データを収集、変換し、分析、可視化する一連の基盤の重要度が上がったという整理です。目次は第 1 章「ビッグデータの基礎知識」から始まり、第 2 章「ビッグデータの探索」、第 3 章「ビッグデータの分散処理」、第 4 章「ビッグデータの蓄積」、第 5 章「ビッグデータのパイプライン」と続きます。第 3 章では Hadoop と Spark、Hive、Presto を、第 5 章ではワークフロー管理とバッチ型、ストリーミング型のデータフローを扱います。増補改訂で加わった話題として紹介文が挙げる機械学習、特徴量ストア、MLOps は第 6 章「ビッグデータと機械学習」にまとまっており、Kubeflow の項目もあります。最後の第 7 章「[実践]ビッグデータ分析基盤の構築」が実践編です。
データ基盤の設計が難しい理由と、歴史から学ぶ意味
データ基盤の難しさは、個々のツールの使い方よりも、ツールの組み合わせ方を決める判断にあります。分析のための集計は大量の行から少数の列だけを読み出すことが多く、行単位で保存するデータベースのままでは読み出しの無駄が大きくなります。そこで列ごとにまとめて保存する 列指向の形式 が使われ、圧縮も効きやすくなります。また、データの流れは途中で失敗することを前提に組まなければならず、同じ処理を再実行しても結果が重複しないように各タスクの 冪等性 を保つ設計が欠かせません。加工する前のデータを形式を問わず そのまま貯めておく置き場 と、集計用に整えたデータを分けて持てば、後から分析の目的が変わっても元のデータから作り直せます。こうした設計の理由は、Hadoop から Spark、対話型のクエリエンジンへと技術が移り変わった経緯を知ると見えやすくなります。本書は各技術の歴史的な背景を追う構成をとっています。
ラップトップ 1 台の実践で使うソフトウェアと前提
第 7 章は、ノートブックとアドホック分析、バッチ型のデータパイプライン、ワークフロー管理ツールによる自動化の 3 節と、まとめの節で構成されています。目次の項目を見ると、Multipass で Ubuntu 20.04 を起動して作業環境を作り、pandas でデータを確かめ、Spark で分散環境を整えて Tableau Public で可視化する流れから始まり、Docker で組んだ環境の上で MinIO のオブジェクトストレージ、Hive メタストア、Spark による ETL、Presto での集計、Metabase のダッシュボードへと進み、最後に Prefect でパイプラインを自動化します。サンプルコードは版元のサポートページから GitHub で公開されています。ソフトウェアの版は 2021 年の刊行時点のものなので、手元で再現するときは各ソフトウェアの版の違いを確かめながら進めてください。
特定のクラウドサービスの操作手順をそのまま知りたい人には、本書の範囲は合いません。アプリケーションの開発からデータ基盤の担当へ移る人や、自社のデータ分析の仕組みを一から見直したい人に向けて、全体の地図を手に入れたうえで自分の手で一通り組んでみられる一冊です。