データ分析基盤の理解を深めるために、ビッグデータを支える技術を学習。2017年9月の本で、もっと新しい技術が出ているかもですが、基礎を学び、まとめていきます。今回は、ビッグデータが定着した背景と技術についてです。
スモールデータDWHとビッグデータDWH
従来(スモールデータ)ではRDB(Relational Data Base)から、DWH(データウェアハウス)にデータを蓄積。データ量が増えるにつれ、大量のデータ処理・大量のデータの蓄積などの問題。また、データ自体も多様化し、RDBで対応できない場合も。
そこで、大量のデータ(ビッグデータ)に対応する技術として「Hadoop」と「NoSQL」。
Hadoop
Hadoopは「多数のコンピュータで大量のデータ処理を行う」ためのシステム。
Hadoopは元々、Googleで開発された分散処理フレームワーク「MapReduce」を参考に作られていた。MapReduceを動かすために、Java言語によるプログラミングが必要だったが、「Hive」が開発され、SQLのようなクエリ言語でデータ集計できるようになった。
時期 | イベント |
---|---|
2004年12月 | GoogleからMapReduce論文が発表 |
2007年9月 | Hadoopの最初のバージョン(0.14.1)がリリース |
2009年5月 | Hiveの最初のバージョン(0.3.0)がリリース |
2011年12月 | Hadoop 1.0.0リリース |
NoSQL
NoSQLは伝統的なRDBの制約を取り除くことを目指したデータベースの総称。NoSQLの種類は以下の通り。
NoSQLの種類 | 説明 |
---|---|
キーバリューストア (KVS) | 多数のキーと値を関連づけて保存 |
ドキュメントストア | JSONのような複雑なデータ構造を保存 |
ワイドカラムストア | 複数のキーを用いて高いスケーラビリティを実現 |
時期 | イベント | 製品の種類 |
---|---|---|
2009年8月 | MongoDB 1.0 リリース | ドキュメントストア |
2010年7月 | CouchDB 1.0 リリース | ドキュメントストア |
2011年9月 | Riak 1.0 リリース | キーバリューストア |
2011年10月 | Cassandra 1.0 リリース | ワイドカラムストア |
2011年12月 | Redis 1.0 リリース | キーバリューストア |
ビッグデータとクラウドサービス
多数のコンビューターで分散処理するためのハードウェアを揃えて管理するのは簡単ではないので、時間単位でリソース確保できるクラウドサービスを利用。
また、大量のデータを蓄積するためのDWHとしてもクラウドサービスを利用。
時期 | イベント | サービスの特徴 |
---|---|---|
2009年4月 | Amazon Elastic MapReduce発表 | クラウド向けHadoop |
2010年5月 | Google BigQuery発表 | データウェアハウス |
2012年10月 | Azure HDInsight発表 | クラウド向けHadoop |
2012年11月 | Amazon Redshift発表 | データウェアハウス |