2017.02.22

どんなデータが向いている?【NoSQL】とは?を解説します

カテゴリー
用語辞典

170127_dic-NoSQL_mv

NoSQLは、RDBMSが苦手とする分野をカバーできることで注目を集めたデータベース管理の考え方です。今回は、NoSQLの概要と主なデータモデル、強みや代表的ソフトウェアなどを紹介していきます。

NoSQLとは?

NoSQLとは、「Not Only SQL」の頭文字をとった単語で、直訳すると「SQLに限定されないデータベース管理システム」となります。データベース管理システム(以下、DBMS)として、広く使われている方法にリレーショナルデータベース管理システム(以下、RDBMS)があります。

RDBMSでは、主にSQLを利用したデータの更新、削除、選択、追加などを行うことができ、多くの企業で貴重な情報を管理するために用いられてきました。RDBMSでは、ひとつのデータを2次元の表形式(テーブル)で表現しています。このようなデータモデルを「関係モデル」と呼ぶのですが、複数のデータをうまく関係づけ、さらにデータ自体をSQLのようなデータベース言語によって操作しやすいことから人気を集めてきました。

一方、NoSQLのデータは、RDBMSのように列と行による表形式のみではありません。
NoSQLのデータモデルには大きく4種類があります。最もシンプルなのは「キー・バリュー型」。その他、列単位の大量集計と更新を得意とする「カラム指向型」、複数のデータのつながりを管理することが得意な「グラフ型」、ドキュメントを単位としてスキーマレスに格納可能な「ドキュメント指向型」がNoSQLの代表的なデータモデルです。

これらのデータモデルを採用することで、従来のRDBMSに使われていた表形式のデータモデルでは対応が難しい、大量のデータをリアルタイムに処理することを可能にし、処理速度の向上やコストダウンが期待できます。

ちなみに、NoSQLのはじまりは、2006年から2007年にかけて発表された技術論文であると言われています。2006年にGoogle社が「Bigtable」を、さらに2007年にはAmazon社が「Dynamo」という分散ストレージシステムについて、技術論文を発表しました。その後、2009年にサンフランシスコで開催された「NoSQL Meetup」というイベントにおいて、世界中に広まるきっかけを作ったと言われています。DBMSの種類というよりも、「SQLを使ったRDBMS以外のDBMSを普及させよう」という意図を含んだ合言葉のようなもの、と考えたほうが良いかもしれませんね。

NoSQLの強みはなにか

NoSQLの強みは、シンプルさとリアルタイム性、そしてスケールアウトのしやすさです。
例えば、「キー・バリュー型」は非常にシンプルかつ応答が早いことで知られています。
あるキーに対する値(バリュー)を結び付けておき、キーを指定するとすぐさま値が返ってくるという簡単な構造を持つことから、処理速度の向上に効果があり、大量のデータをリアルタイム更新、解析するような場面で強さを発揮します。

また、複数のサーバーでひとつのデータベースを管理するような「分散データベース」の場合、安価なサーバーを追加するだけでデータベース自体のパフォーマンスが向上するといった、スケールアウトのしやすさも魅力。
例えば、短期間のうちに爆発的にユーザ数を伸ばすSNSの処理には、リアルタイム性に優れスケールアウトが容易なNoSQLが真価を発揮するのです。

NoSQLを使うためのソフトウェアは?

NoSQLを使うためには、NoSQLの各データモデルに対応したデータベースソフトウェアが必要です。そこで、NoSQLを扱うための代表的なソフトウェアを、いくつかご紹介します。

まずOracle社が提供する「Oracle Coherence」です。オンラインチケットサイトのように、大量のデータをリアルタイムに更新する場合、真価を発揮すると言われています。

次に、オープンソースの雄、Apacheソフトウェア財団が開発を進めている「Apache Hadoop」。こちらはJavaで作られており、単一のソフトウェアというよりは、分散処理全体をカバーしたフレームワークと言えるでしょう。

ちなみに、NoSQLのデータモデル別に代表的なデータベースソフトウェアを列挙すると以下のようになります。

キー・バリュー型……Redis、Amazon DynamoDB、Basho Riak
カラム指向型……Cassandra、Big Table、HBase
ドキュメント指向型……MongoDB、MarkLogic、CouchDB
グラフ型……Neo4j

今回はNoSQLの概要や成り立ち、強みなどを紹介してきました。IoTの普及によりビッグデータの活用シーンも増えていますから、NoSQLは今後ますます需要が高まる技術であると言そうです。

この記事を書いた人

クラウド推進チーム

GMOグローバルサイン・HDがお客さまに提供する価値は『コトをITで変えていく。』です。
クラウド推進チームはこの価値を提供するためのチームです。
このブログでは、お客さまにとって有益なクラウド情報を発信してまいります。

GMOクラウドアカデミーYouTubeチャンネルはこちらから

アカデミー用バナー

メルマガ会員募集中!

アカデミーの最新情報や会員限定のお得な情報をお届けします。

メルマガ登録はこちら