連載
NoSQLデータベースの長所と短所:NoSQLベストプラクティス(3)(2/2 ページ)
本連載では、「NoSQLデータベースの今」を正しく理解し、ビジネス躍進の実現に向けて対策していくための「ベストプラクティス」を掲示していきます。今回は「NoSQLの特性と、種類別の長所と短所」を説明します。
NoSQLの形式それぞれの長所と短所
NoSQLと言ってもデータモデル形式やアーキテクチャ別に分類され、それぞれに特徴があります。簡単にまとめた種類別の長所と短所は以下の通りです。
キーバリューストア型 | |
---|---|
特徴 | 基本的に、単純な格納と抽出のみの分散ハッシュマップ。インメモリあるいは永続化が可能 |
長所 | 単一のスキーマが必要でないので柔軟。単純なキーベースのアクセスとパーティショニング、結果整合性により水平拡張を実現する |
短所 | 結合、検索不可。グローバルインデックスはない。複雑なクエリ不可 |
主なプロダクト | Amazon Dynamo、Oracle Berkeley DB、Oracle NoSQL Database、Voldemort、Riak |
ドキュメントストア型 | |
---|---|
特徴 | 単一のスキーマが必要でないので柔軟。「行」を「ドキュメント」と置き換えることで疎データ問題に対処できる。インデックスを明示的に設定する必要があり、指定できるインデックスの個数に制限がある。パフォーマンスを維持するためには、できるだけインデックスが少ないほうが良い |
長所 | ドキュメント内にドキュメントを埋め込めるので、1レコード内に複雑な階層関係を含められる。キーベースのパーティショニングと結果整合性により水平拡張を実現する。キーバリューストア型よりも複雑なクエリが可能 |
短所 | 結合に制約がある。マルチドキュメントトランザクション不可。全文検索機能が弱い |
主なプロダクト | MongoDB、Apache CouchDB |
HadoopのMap Reduceバッチ処理 | |
---|---|
特徴 | 大規模データセットに対する分散コンピューティングのフレームワークであり、データベースではない。他のNoSQLとは違い、Map Reduceならびに分散ファイルシステムは、基本的にはディスクのリードパフォーマンスの問題を解決するためのものと位置付けられる。RDBMSの欠点を補おうとするものではない。単一データセンター内の専用ハードウェアに依存し、大きな帯域幅を集約した相互接続を行う |
長所 | 書き込みを一度、読み取りは何度も行う処理に適する。オフラインのバッチ処理に適している(ただし、結果はシステム規模によるが数分〜数日後と、すぐには返ってこない) |
短所 | 検索、取得機能はない。グローバルインデックスやトランザクションはない |
主なプロダクト | Cloudera、Hortonworks |
カラムストア型 | |
---|---|
特徴 | 複数の次元のキーをサポートすることにより、単純なキー/バリュー(値)のペアよりリッチなデータモデルを扱える。行の代わりに列でデータを格納することにより、疎データ問題に対処できる。マスター/チャンクサーバのパーティショニングにより、水平拡張を実現する |
長所 | 大量の類似データに対する集計が得意 |
短所 | 同一種類のデータしか扱えないことが多い |
主なプロダクト | Apache Cassandra、Apache HBase、Google BigTable、HyperTable |
エンタープライズNoSQL | |
---|---|
特徴 | 完全なACID準拠で、データ一貫性を保証する。これは、MVCC(Multi-Version Concurrency Control)、2フェーズコミット、レコードのロックで実現する。ユニバーサルインデックスによる、リアルタイムの更新、検索、結果取得が可能。最大ペタバイトレベルまで拡張が可能 |
長所 | 高可用性(99.999%のSLAを実現)、政府レベルのセキュリティ要件を満たす。マルチモデル、つまりテーブル、ドキュメント、セマンティックトリプルの格納、インデックス付け、検索、クエリが可能 |
短所 | 極めて大量のストリーミングデータ(データサイズが1KB以下で極めて小さい)を扱うことができない。キャッシュのみの技術が必要な場合は、キーバリューやドキュメントストアの方が適している |
主なプロダクト | MarkLogic |
皆さんが自社のニーズに合ったNoSQLを選択する上で、以上の情報がお役に立てれば幸いです。
筆者紹介
三浦デニース(Denise Miura)
マークロジック株式会社日本法人代表。ソフトウェア開発ならびにwebテクノロジーに関して25年以上の経験を持ち、さまざまなエンジニアリング、コンサルティング、管理職などの要職を歴任。前職はSilicon Graphics、E*TRADE Financial、Blue Martini Software(日本法人代表取締役)など。カーネギーメロン大学卒(コンピュータサイエンス専攻)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- NoSQLはRDBMSに取って代わるものなのか?
「memcached」や「Apache Cassandra」、「Apache CouchDB」など、RDBMSとは異なる考えで設計してあるデータベース管理システムが普及しつつあります。この連載では、これら新しいデータベース管理システムの特徴と、RDBMSとの使い分け方について解説します。(編集部) - KVS系NoSQLのまとめ(Hibari、Dynamo、Voldemort、Riak編)
エンジニアとして「知らない」とは言えない空気が漂うNoSQL界隈……。いろいろあるけども何がどう違うのか、主要プロダクトの特徴をコッソリ自習しよう。第1回はKVS系NoSQLの中から、マスタ型、P2P型に分類されるものを紹介していく。 - 「演算子のインジェクション」と「SSJI」
ここ数年、大量データ処理時の高速性やデータ構造の柔軟性などから、「NoSQL」が注目を集めています。それと同時に、NoSQLを使うアプリケーションに対する攻撃手法も研究されるようになりました。この記事では、NoSQLを使ったアプリケーションの脆弱性と対策について解説します。 - マークロジック、NoSQLデータベース「MarkLogic 9」正式版をリリース
マークロジックが、NoSQLデータベースプラットフォームの最新版「MarkLogic 9」をリリース。開発者向けの「無償エディション」も用意する。