NoSQLデータベースはもともと、業務アプリケーション向けのものだったが、アナリティクスにも影響を与えた。しかし、ビッグデータ時代における真の申し子と言えるのはHadoopというフレームワークだ。HadoopはNoSQLと同様の設計理念に基づいているが、当初からアナリティクスに焦点を当てている。Hadoopには以下の特徴がある。
- 多数のコモディティ化されたハードウェアノードを利用する。
- メインストレージとして「Hadoop Distributed File System」(HDFS)を採用している。
- データの局所性と、効率的な計算処理に向けた並列性を活用する「MapReduce」というプログラミングモデルを実装している。
これにより、以下のようなさまざまなメリットがもたらされた。
- Hadoopは、低コストでより多くのデータを格納できるアーキテクチャであるため、データウェアハウスよりもコストパフォーマンスに優れている。
- Hadoopは構造化された単なるリレーショナルデータだけでなく、どのような種類のデータでも格納できる。
- Hadoopはストレージだけでなく計算処理にも適している。
最後の項目についてはもう少し詳細に考察してみたい。MapReduceのフレームワークを用いることで、Hadoopの効率的なストレージや、分散型の階層型アーキテクチャを組み合わせ、さまざまな処理が実現できるようになった。これにより、実質的にデータベースアーキテクチャの分割につながっていく。
その結果、Hadoopとデータウェアハウスはしばしば組み合わせて用いられるようになり、Hadoopエコシステムの繁栄につながっていく。多くの企業はHadoopのコスト効率に優れたストレージをデータレイクとして利用し、後々の処理のためにあらゆる種類のデータを格納した後、プログラミングフレームワークを用いてETLデータをデータウェアハウスに移行するというわけだ。
ビッグデータから予測分析や機械学習(ML)、人工知能(AI)へ
Hadoopは画期的であったが問題もあった。あらゆる種類のデータを低コストで格納できる能力は素晴らしいが、MapReduceフレームワークは使いづらく、一筋縄では習得できない専門知識が必要だった。この問題に対処するために、Hadoopやその周辺に活気あるエコシステムが作り出され、最終的にMapReduceの力を手軽に使えるツールのほか、SQLインターフェースまでもが実現された。
つまり、この段階でもアナリティクスのソリューションは、リレーショナルDBやNoSQL、Hadoopといったあらゆるバックエンドをまたがって機能するものだった。ただ、Hadoopには問題がもう1つあった。Hadoopはバッチ処理向けツールとして設計されていたため、それを逸脱した使い方、すなわち対話形式でクエリを実行するという使い方は、ストレスを感じさせるものだったのだ。しかしこの問題も、Hadoop用のより高水準なAPIやフレームワークの登場によって解消されている。
ここで、Hadoopをはじめとする技術の最新状況に目をやる前に、ストレージ技術とコンピュート技術、アナリティクスそれぞれの進歩と要求が互いを進歩させるという相乗効果に着目しておくのは重要だろう。このため少し立ち止まり、ビッグデータ革命がアナリティクスに応用されるさまを見てみることにしたい。