検索
連載

イネーブラ型NoSQLのまとめ(Memcached、Redis、Scalaris、Tokyo Cabinet/Tyrant編)知らないなんて言えないNoSQLまとめ(2)(1/3 ページ)

「あぁ、知ってるよ。アレね」と言っておきたいNoSQLプロダクトの特徴をざっと紹介。今回はオンメモリもオンディスクもひっくるめて「イネーブラ型」のメジャーどころを紹介していく。

Share
Tweet
LINE
Hatena
※本記事はアフィリエイトプログラムによる収益を得ています

本連載について

書籍紹介

目次

  • 序 章 ビッグデータの時代
  • 第1章 NOSQLとは何か?
  • 第2章 NOSQLのデータモデル
  • 第3章 アーキテクチャの基本概念と技術
  • 第4章 HadoopはNOSQL?
  • 第5章 主なNOSQLデータベース製品
  • 第6章 NOSQLデータベースの選択基準
  • 第7章 NOSQLを使うビジネス

 本連載は書籍『NOSQLの基礎知識』(リックテレコム刊、ISBN:978-4897978871)で解説されている内容から一部を抜粋し、本連載向けに一部再編集して掲載したものです。

 書籍では、一般にNoSQLと呼ばれている各種データベース技術について、基本概念から主要なプロダクトの特性、ベンチマーク結果までを紹介しています。データモデルやアーキテクチャの違いといった基本概念から、各プロダクトの特徴を理解できる内容になっています。

 本連載では、この書籍の内容から、主要プロダクトを紹介している第5章を抜粋し、そのエッセンスを紹介していきます。

 なお、記事ではNoSQLプロダクトを図のように分類しています。各分類の特徴などは第1回で言及しています。今回はこの中からイネーブラ型に分類されているプロダクトを見ていきましょう。


本稿で用いるNoSQLの分類 本連載第1回参照

オンメモリのイネーブラ型KVS:データ永続性は他からの補完で

 イネーブラ型オンメモリタイプのNoSQLデータベースは高速性に優れ、拡張性も備えているため単独でも利用できますが、永続性については、他のデータベースと組み合わせるなどして補うケースが多いといえます。

分散メモリキャッシュMemcached

 Memcached(*1)はメモリにデータを格納することで、大規模なWebサイトの応答性能を高め、DBMSの負荷を軽減するために広く使われています。従来も高速化のために、DBMSから読み込んだデータをサーバのメモリ上に一時的にキャッシュすることは行われていました。

 しかし、この方法では、図1の左側の例のように、それぞれのサーバで64MBずつしかキャッシュを持つことができません。

 一方、Memcachedを使用すると、キャッシュしたデータに複数のサーバからアクセスできるので、図の右側の例のように2台分を1つにした128MBのキャッシュとして利用されています(*2)。


図1 Memcachedの仕組み

 このMemcachedはMySQLなどと組み合わせ、読み出しの性能を向上させるためによく利用されています。

 Memcached自身はノード間の複製は行わず、またデータの永続性も保証していないので、ハードウェア障害などでノードが停止してしまうと、そのノードに格納されていたデータは全て消えてしまいます。データの永続性が必要な場合は、他のNoSQLデータベースやRDBを組み合わせて使う必要があります。例えば、Memcachedプロトコル(*3)を実装し、ディスクにデータを格納するBerkeleyDBというNoSQLデータベースを組み合わせることにより、MemcacheDBに永続性を加えている実例があります(*4)。

*1 memcached http://memcached.org/
*2 http://Memcached.org/aboutを参照。
*3 Memcachedプロトコル KVSにネットワーク経由でアクセスするためのプロトコルです。サーバとクライアントの間の通信をシンプルな行ベースで行います。
*4 memcachedに永続性を加えている実例 http://Memcachedb.org/Memcachedb-guide-1.0.pdfを参照。


Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る