NOSQLは「知る時代」から「使う時代」へ

2011年2月3日(木)
岩瀬 高博

(3)NOSQL内での種別

一口にNOSQLと言っても、いろいろな種別があります。代表的な種別として、Key-Value型やColumn指向型、Document指向型などが有名です。以下では、それぞれの特徴を整理します。

Key-Value型

図a-1: Key-Value型

図a-1: Key-Value型
値を、Key値とValue値のペアで管理します。
Keyを指定して値を特定するのが基本的なスタイルです。
Keyでの前方一致検索などをサポートするものもあります。
特徴は、データ・モデルがシンプルなことです。プログラミング言語でよく登場する連想配列の代用などに利用できます。ユーザー情報やセッション情報を複数のアプリケーション間で共有したり、RDBMSの検索結果を格納したりするなど、現在のRDBMS主体で構築されたアプリケーションに適応しやすいのも特徴です。
  • 代表的な実装
    • memcached
    • Flare
    • ROMA
    • Redis
Column指向型

図a-2: Column指向型

図a-2: Column指向型
列をベースにデータを扱うモデルです。RDBMSは行(レコード)単位でデータを扱うのに対して、列単位でデータにアクセスします。
特徴は、指定した列のデータを高速に取得できることです。列単位で更新できるため、大規模データの検索システムや更新処理の基盤などに有効です。
  • 代表的な実装
    • HBase
    • Cassandra
Document指向型

図a-3: Document指向型

図a-3: Document指向型
データが一定の型をとる必要がないデータベースです。スキーマレスのデータベースと呼ばれることもあります。
RDBMSがデータ投入時にテーブル定義を必要とするのに対して、Document指向型は1件ずつフォーマットが違っていても構いません。事前に型を決める必要がないため、変更頻度の高いデータベースに有効です。
  • 代表的な実装
    • MongoDB
    • CouchDB

上記のように、NOSQLという種別の中でも、複数の分類があります。実際にアプリケーションに適応する際は、この特性を理解して、適切に配置することが重要です。当然、RDBMSとは役割が異なります。どれか1つだけではアプリケーションのユースケースを満たすことが難しい場合もあるでしょう。データベースの選定にあたっては、データの種類とアクセス形態に合わせることが重要です。

株式会社神戸デジタル・ラボ

2006年神戸デジタル・ラボに入社。企業内業務アプリケーション開発に従事。
2008年末から大規模ECサイトのアプリケーション、インフラ周りの運用に従事。
2009年末に分散Key-Value Store”okuyama”をオープンソースとして公開。
2010年から各都道府県で開催されるオープンソースカンファレンスへの出展やセミナー登壇、「NOSQL afternoon in Japan」や、「JavaCloud Meeting Kansai」での登壇といった”okuyama”の普及活動の傍ら、”okuyama”を使ったアプリケーション開発などに従事し、現在に至る。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています