連載
Hadoopはどのように動くのか ─並列・分散システム技術から読み解くHadoop処理系の設計と実装
「どのような場合にHadoopを用いて,どのような場合に同類のデータ処理系であるImpalaやSparkを用いれば良いかが“明確に”わからない」
「Hadoopなどのデータ処理系の使い方はなんとなくわかるが,その内部をあまり理解できていない。または,内部の動作原理がよくわからないので,本格的に使う気にならない」
このような問題を解決するために,Hadoopなどのデータ処理系の基礎である並列データベース技術や分散システム技術を解説し,データ処理系の設計や実装を読み解いていきます。
- 第22回[最終回] まとめと本連載で解説できなかったこと
- 連載を終えて
- 本連載では解説できなかったこと
- おわりに
2016年7月7日
- 第21回 Sparkの設計と実装[2]~Sparkにおけるデータ共有の仕組みと耐障害性の実現方法
- はじめに
- 複数ジョブにおけるデータ共有の方法
- 耐障害性の実現方法
- おわりに
2016年6月8日
- 第20回 Sparkの設計と実装[1]~登場の背景とデータ処理の特徴
- はじめに
- Sparkが登場した背景
- Sparkの抽象データ構造の利点
- 複雑なデータ処理を効率的に行うためのデータ処理モデル
- 計算機上でのRDDの処理
- おわりに
2016年5月11日
- 第19回 Impalaの設計と実装[3]
- はじめに
- Short-Circuit Local ReadsによるI/Oの高効率化
- IO ManagerによるI/Oの並列化と先読み
- Apache Parquetを用いた列指向データ処理
- おわりに
- 謝辞
2016年4月13日
- 第18回 Impalaの設計と実装[2]
- はじめに
- Impalaのクエリ処理の特徴
- 実行計画とplan fragment
- Hash Joinの並列化
- ノード内処理の並列化
- LLVM JIT Compile
- おわりに
2016年3月23日
- 第17回 Impalaの設計と実装[1]
- はじめに
- Impala開発の背景
- Impalaの特長
- Impalaの構成要素
- クエリ実行時の処理の流れ
- おわりに
2016年3月2日
- 第16回 並列データ処理系 Apache Tez
- はじめに
- MapReduceの制約
- Apache Tezの概要と仕組み
- おわりに
2016年2月9日
- 第15回 計算機クラスタのためのリソース管理基盤 Hadoop YARN
- はじめに
- 多種多様な処理系の登場
- 複数のデータ処理系を用いる場合の懸念点
- リソース管理基盤システムにおける計算リソースの管理
- YARNのResourceManagerにおける3つのスケジューリングアルゴリズム
- おわりに
2016年1月26日
- 第14回 Hadoopの設計と実装~並列データ処理フレームワークHadoop MapReduce[2]
- はじめに
- Apache Hadoopの実装における特徴
- HDFS,YARN,MapReduceの実装
- MapReduceと並列データベース
- おわりに
2015年12月22日
- 第13回 Hadoopの設計と実装~並列データ処理系Hadoop MapReduce[1]
- はじめに
- MapReduceとは
- 高い性能スケーラビリティを実現する設計方針
- 高い耐障害性を実現する設計方針
- 抽象化インターフェース
- おわりに
2015年12月9日
- 第12回 複数のプロセスにおける協調動作のための仕組み─コーディネーション
- はじめに
- コーディネーションとは
- コンセンサスアルゴリズム
- Hadoopなどのデータ処理系で用いられているコンセンサス
- まとめ
- 第二部について
2015年10月21日
- 第11回 耐障害性のための仕組み─レプリケーションとロギング
- はじめに
- レプリケーションとは
- データのロギング
- おわりに
2015年10月7日
- 第10回 データ処理の最適化
- はじめに
- データ処理(問い合わせ)の最適化
- System-R最適化方式(Selingerアルゴリズム)
- 並列データ処理系における最適化方式
- おわりに
2015年9月16日
- 第9回 データ処理における性能の見積り
- はじめに
- データ処理性能の見積り
- データ処理性能の見積りにおける注意点
- おわりに
2015年8月19日
- 第8回 データ処理における並列アルゴリズム[3]
- はじめに
- ハッシュ結合における並列アルゴリズム
- Impala/Prestoにおける結合処理
- ImpalaやPrestoの高速性の理由
- おわりに
2015年8月5日
- 第7回 データ処理における並列アルゴリズム[2]
- はじめに
- 結合処理の並列化方法
- ソートマージ結合における並列アルゴリズム
- Hadoop MapReduceにおける結合処理
- Hadoop MapReduceにおける整列処理
- おわりに
2015年7月15日
- 第6回 データ処理における並列アルゴリズム[1]
- はじめに
- 並列システムや並列アルゴリズムにおける性能指標
- データ処理のアルゴリズム
- 選択処理における並列アルゴリズム
- Hadoopなどにおける選択処理
- おわりに
2015年6月24日
- 第5回 データ処理の並列化
- はじめに
- データ処理における並列性について
- 問い合わせ内の並列性
- データの分割方法
- ケーススタディ―Hadoop/Impala/Presto/Sparkで活用されている並列性
- おわりに
- 謝辞
2015年5月27日
- 第4回 データ処理の方法
- はじめに
- 手続き型言語によるデータ処理と宣言型言語によるデータ処理
- 実行プラン(実行計画)
- 宣言型言語によるデータ処理における実行プラン
- おわりに
2015年5月13日
- 第3回 並列システムと分散システム
- はじめに
- 並列と分散
- 分散システム技術を活用したデータ処理専用の並列システム
- 並列データ処理系において活用される分散システム技術
- おわりに
2015年4月30日