HadoopTimes

実践 機械学習:レコメンデーションにおけるイノベーション
製品情報

改めて知っておきたい!ビッグデータとデータベースの関係

ビッグデータ”と“データベース”、2つのキーワードの意味はなんとなく理解しているけど、その関係性まで詳しくは知らない。知りたいけど、今さら人に聞けない…。

本記事はそんな方のために、ビッグデータとデータベースの関係性について解説していきます。

IDC Japanの調査によると2020年のビッグデータテクノロジー市場は2,889億円となり、2015年の947億7,600万円から約3倍の増加率であり、今後ビッグデータに対する注目度はさらに加速すると予測されています。

参考:国内ビッグデータテクノロジー/サービス市場予測を発表

そして、今後のビジネスではビッグデータ分析を成功させた会社が”競合優位性を取る”とも言われているのです。

その第一歩としてビッグデータとデータベースについて知り、徐々にビッグデータ分析について理解を深めていただければと思います。

従来のデータベースではビッグデータに対応できない?

現在主流とされているデータベースは“RDBMS(Relational DataBase Management System)”であり、乱雑するデータを“行と列”の表形式で格納します。

 

RDBMSイメージ

こうしたシンプルなデータ管理環境を提供するRDBMSですが、ビッグデータの特徴でもある“3V”まで対応できないというのが現状です。

理由の一つとしてビッグデータは非構造化データを格納することが多くなり、RDBMSではスキーマの再定義に時間がかかりすぎるという点です。

また、高速なデータ処理を行いつつアクセスが集中した際のパフォーマンスも維持しなければならないので、ビッグデータ分析に向いていません。

こうした弱点を補いつつ、並列処理により高パフォーマンスを維持することができるのが“Hadoop”なのです。

ビッグデータ分析に最適な“Hadoop”とは?

Hadoopとはいわゆる“並列処理システム”であり、複数のサーバでデータを並列的に処理することで、ビッグデータのような膨大・高速・多種多様なデータに対してパフォーマンスを維持しつつ処理することができます。

データベースとの違い

スキーマを定義し、構造化されたデータを格納するデータベースに対し、Hadoopは構造化・非構造化に関係なくデータをファイルとして格納します。

ちなみにこのファイル保管を行うのがHDFS(Hadoop Distributed File System)であり、簡単に言うとストレージ機能の一つです。

これだけではただのファイルサーバになるので、HDFS上に“MapReduce”と呼ばれる大規模分散処理のフレームワークが存在します。

文字通り“Map”と呼ばれる処理と“Reduce”と呼ばれる処理を組み合わせることで、データの集計や検索、クレンジングなどを行うことができます。

bigdata-and-database-2

Hadoopの起源はGoogleにあり

実はHadoopはGoogleの検索エンジンにおけるアーキテクチャを参考に、Apacheが開発したオープンソースソフトウェアです。

当時プログラムが大量のWebページを自動で収集して、解析してインデックス化していくというのは不可能だとされていたのですが、数万台のサーバによる”超並列分散処理”によりこれを可能にしました。

HadoopにはこうしたGoogleの技術が生きていることから、多くの企業に分散処理システムとして導入されています。

Hadoopを分析環境に最適化した“MapR”とは?

分散処理による高パフォーマンスを提供するHadoopでも、いくつかの弱点があります。この弱点をカバーしつつさらに高い分散処理パフォーマンスを提供しているのが“MapR”というソリューションです。

再実装によりHadoopの弱点を解消

HadoopのHDFSではJavaにより実装されていますが、Javaガベージコレクションがいつ実行されるか分からないといった問題があります。

MapRでは100%の互換性を維持しつつJavaからC/C++で再実装されているので、Javaの問題を解決することができます。

また、MapReduceに関してもC/C++で再実装されていることから、快適なシャッフルプロセスを実現し、約3倍のデータソートを実現しています。

分散Name Node(CLDB)によるボトルネック解消

HDFSはマスターノードであるNameNodeとスレーブノードであるDataNodeで構成されています。

このName Nodeを分散することで、NameNodeに障害が発生した場合でも別のNameNodeを使用し、継続的に各データの保管先を保持することが可能です。

スナップショットとミラーリングによるデータ保護

ビッグデータ分析を行うことで懸念されるのがデータのセキュリティ性です。莫大なデータを保管することで、消失した場合の損失は計りしれません。

MapRではスナップショットを定期的に作成することで、様々なセキュリティニーズに対応することができます。

ストレージに負荷をかけないことからパフォーマンス維持にも影響は出ません。

また、ミラーリングによるバックアップでは定期的あるいはオンデマンドで取得できるため、災害やサイバー攻撃によるデータ消失に対し備えることができます。

これら以外にもMapRはHadoopの使い勝手をそのままに様々な改良があり、快適なビッグデータ分析環境を提供します。

気になる方は「Hadoopをさらに加速させる革新的テクノロジーMapR」でさらに詳しく知っていただければと思います。

まとめ

いかがでしょうか?今回の内容を簡単に要約すると以下のようになります。

  • データベースは“列と行”の表形式でデータを格納
  • 構造化データ向けに設計されている
  • 非構造化データを含むビッグデータ分析には向いていない
  • Hadoopは構造化・非構造化データに関係なく格納できる
  • 並列分散処理により高いパフォーマンスを維持
  • しかしながらいくつかの弱点あり
  • Hadoopの問題を解決しつつさらに高いパフォーマンスを提供するのがMapR

今後もニーズが拡大するビッグデータ分析では、こうした基本的な情報をつけつつ、どのような環境を整えることがベストなのか?と考える必要があります。

なぜならビッグデータ分析の成否は、分析者はもちろん環境によるところも大きいからです。

本記事以外にもビッグデータに関わる記事を掲載しておりますので、ぜひ参考にしてください。

MapR-DB : Hadoop上のNoSQLデータベースで業務及び分析ワークロードを統合

MapR-DB : Hadoop上のNoSQLデータベースで業務及び分析ワークロードを統合
MapR-DBは、エンタープライズグレードの高性能なHadoop上のNoSQLデータベースです。

MapRコンバージド・データ・プラットフォームの一機能として提供され、開発者がスケーラブルなアプリケーションを開発し、リアルタイムなデータ分析を可能とする初めてのHadoop上のドキュメントデータベス機能を提供します。

詳細についてデータシートをご確認ください。

無料ダウンロードはこちら

こちらの記事もおすすめです