0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

「[増補改訂]ビッグデータを支える技術」第4章と第5章を読んだ感想

こんにちは!前回に引き続き、「増補改訂 ビッグデータを支える技術 ——ラップトップ1台で学ぶデータ基盤のしくみ」を読んだので、その感想をシェアしますね。今回は第4章と第5章についてお話しします。

第4章:ビッグデータの蓄積

ファイルサイズの管理

ビッグデータの蓄積において、ファイルサイズの管理は重要です。ファイルが小さすぎると、多数のファイルを管理するオーバーヘッドが発生し、効率が悪くなります。逆に、大きすぎるファイルは扱いが難しくなるため、1MBから1GBの間くらいが推奨されています。小さいファイルは統合し、大きいファイルは分割することが効果的です。適切なファイルサイズの選定がシステムのパフォーマンスに影響する、大事なポイントだそうです。

書き込みの工夫

データの書き込みが増えていくと、プロセス時間とイベント時間の差異を考慮する必要があります。バルク型のデータとストリーミング型のデータの違いを理解し、定期的にまとめて書き込む工夫が求められます。例えば、バルク型データは一定の時間ごとに一括で処理し、ストリーミング型データはリアルタイムに逐次処理します。リアルタイムにデータを集めるにはメッセージブローカーを利用し、メッセージを欠損なく、重複なく送信し書き込みを完了させることが重要です。このため、Kafkaなどのメッセージングシステムを導入することが推奨されています。

第5章:ビッグデータのパイプライン

ワークフロー管理とは

ビッグデータのパイプラインにおいて、ワークフロー管理ツールは欠かせません。タスクの実行に失敗するリスクを減らすために使われ、タスクを定期的に実行し、その結果を通知する機能を持っています。有名なツールとしては、Apache AirflowやLuigiが挙げられます。これらのツールは、データパイプラインの管理を簡単にし、トラブルシューティングを容易にします。

冪等性の重要性

冪等(読み方は「べきとう」)な操作(何度繰り返しても同じ結果になる操作)はデータ処理において重要です。例えば、SQLでテーブルを消してから作り直す操作は冪等な操作の一例です。しかし、現実には常に冪等なタスクを実装できるとは限りません。過去データを全て消すのは非効率で、予期せぬ性能の劣化を招く可能性があります。このため、テーブルパーティショニングを使って1日ごとなどの区切りで置き換えを行う工夫が必要です。具体的には、日次、週次、月次などのパーティションを設定することで、データの管理とアクセス効率を向上させることができます。

バッチ型とストリーミング型のデータフロー

ワークフロー全体を冪等にするためには、バッチ型のデータフローとストリーミング型のデータフローの違いを理解することが重要です。バッチ型では定期的に大量のデータを処理し、ストリーミング型ではリアルタイムにデータを処理します。具体的な例として、バッチ型は夜間に大量のログデータを処理し、日中のレポート作成に利用されます。一方、ストリーミング型はリアルタイムでの株価分析やSNSのトレンド解析に使用されます。それぞれのフローに合わせた適切な管理が求められます。

データパイプラインの実装例

この章では、実際のデータパイプラインの実装例も紹介されています。例えば、データソースからデータを収集し、データをクリーニングして変換し、最終的にデータマートにロードする一連の流れが解説されています。特に、データのクリーニングや変換では、PythonやSQLを使った具体的なコード例もあり、実践的な知識を得ることができます。

感想

この本を読んで、ビッグデータの蓄積とパイプライン管理について深く理解できました。特に、ファイルサイズの管理や冪等性の重要性について学ぶことができ、実際のデータ基盤の構築に役立てられると感じました。また、ワークフロー管理ツールの活用や具体的なデータフローの設計についても、多くのヒントを得ることができました。次回は、6章と7章に触れていきたいと思います。

今回もご覧いただきありがとうございました!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?