NoSQLデータベースを40種類以上リストアップ、キーバリュー型にもいろいろある

2009年11月10日

Webスケールのデータを扱うためにさまざまなデータベースが登場してきている、ということを昨日のエントリ「データベースは目的別に使い分けるべし」で紹介しました。

特にリレーショナルモデルをベースとしない、非SQL系(NoSQL)と呼ばれるさまざまな種類のデータベースが登場してきています。非SQL系のデータベースは以前からオブジェクトデータベースやドキュメントデータベース、階層型データベースなどが存在していましたが、最近注目されているのがキーバリュー型データストアと呼ばれるデータベース。

High Scalability - High Scalability - A Yes for a NoSQL Taxonomy

ブログ「High Scalability」にポストされたエントリ「A Yes for a NoSQL Taxonomy」では、これら非SQL系のデータベースを詳細に9分類し、それぞれの分類に属するデータベースをリストアップしています(基になったのは「NoSQL is a Horseless Carriage」というドキュメントです)。特に、キーバリュー型データストアが、キャッシュ、データベース、結果整合型などにまで分類されており非常に興味深いリストです。

ここではその記事を基にいくつかのソフトウェアを追加し、また各Webサイトへのリンク情報を付加し、Webサイトからの説明を引用してまとめてみました(名称からWebサイトが見つからなかった一部の製品の割愛もしました)。

Key-value-chache

  • Memchaced
    Memcached is an in-memory key-value store for small chunks of arbitrary data
  • Repcached
    repcachedとは、memcachedにデータのレプリケーション機能を追加実装したものです
  • Oracle Coherence
    Oracle Coherenceは、信頼のおけるスケーラビリティの高いピア・ツー・ピアのクラスタ・プロトコル上で、複製および配布した(パーティション化した)データの管理とキャッシュ・サービスを行います
  • Infinispan
    Infinispan is an extremely scalable, highly available data grid platform - 100% open source, and written in Java.
  • IBM WebSphere eXtreme Scale
    WebSphere eXtreme Scaleなら、きわめて高い効率とリニアなスケーラビリティーによって膨大なトランザクションを処理することができます。
  • JBoss Cache
    JBoss Cache's goal is to provide enterprise-grade clustering solutions
  • Microsoft Velocity
    マイクロソフト プロジェクト コード名 Velocity は、あらゆる種類のデータに対応し、高いスケーラビリティを備えたメモリ内アプリケーション キャッシュを提供します
  • Teracotta
    Terracotta offers a full range of caching products to increase application performance by 10X and reduce database load by 30%-90%

Key-value-store

  • Keyspace
    Keyspace is a consistently replicated,fault-tolerant key-value store
  • Flare
    Flareはmemcached互換の分散key-valueストレージサーバです。ただし、memcachedには無い多くの機能がサーバ側に追加されています
  • RAMCloud
    Designed primarily for usage within a datacenter
  • Roma
    ROMA: A Distributed Key-Value Store in Ruby

Eventually-consistent key-value-store

  • Dynamo
    a highly available key-value storage system that some of Amazon's core services use to provide an "always-on" experience.
  • Project Voldemort
    Voldemort is a distributed key-value storage system
  • Dynomite
    Open source dynamo clone written in Erlang.
  • SubRecord
    SubRecord is a distributed, scalable, non-relational, attribute-oriented storage supposed to be used in the cloud
  • DovetailDB
    DovetailDB is a schemaless, JSON-based database. It is similar in spirit to Amazon's SimpleDB
  • MemcacheDB
    MemcacheDB is a distributed key-value storage system designed for persistent

Orderd-key-value-store

  • Tokyo Tyrant
    Tokyo Tyrant is a package of network interface to the DBM called Tokyo Cabinet
  • LightCloud
    LightCloudはTokyo Cabinet/Tokyo Tyrantをバックエンドに使う分散key-valueデータベース
  • nmdb
    nmdb is a network database (dbm-style) for controlled networks
  • Lux IO
    Lux IO is a yet another fast database manager
  • actord

Data-structures server

  • redis
    Redis is an advanced key-value store. It is similar to memcached but the dataset is not volatile

Tuple-store

  • GigaSpaces eXtreme Application Platform
    The Scalable, High Performance Application Server for High-End Distributed Applications
  • Coord
    Coord is an open source implementation of a SBA(Space-based Architecture) built on DHT(Distributed Hash Table)
  • Apache River
    a project furthering the development and advancement of Jini technology

Object database

  • Zope Object Database
    The ZODB is a persistence system for Python objects
  • db4objects
    Java/.NETにネイティブなdb4oを組み込めば、どんな複雑なオブジェクトも1行で保存できます
  • Project Shoal
    Shoal is a java based scalable dynamic clustering framework that provides infrastructure to build fault tolerance, reliability and availability.

Document store

  • CouchDB
    Apache CouchDB is a document-oriented database that can be queried and indexed in a MapReduce fashion using JavaScript
  • Mongo
    The best features of document databases, key/values stores, and RDBMSes in one
  • Jackrabbit
    Apache Jackrabbit is a fully conforming implementation of the Content Repository for Java Technology API
  • ThruDB
    Thrudb is a set of simple services built on top of the Apache Thrift framework that provides indexing and document storage services for building and scaling websites
  • CloudKit
    CloudKit provides schema-free, auto-versioned, RESTful JSON storage with optional OpenID and OAuth support, including OAuth Discovery.
  • Persevere
    Persevere helps you rapidly develop data-driven JavaScript-based rich internet applications
  • Riak Basho
    Riak combines a decentralized key-value store, a flexible map/reduce engine, and a friendly HTTP/JSON query interface to provide a database ideally suited for Web applications
  • Scalaris
    Scalaris is a scalable, transactional, distributed key-value store. It can be used for building scalable Web 2.0 services
  • 各種XML Databases

Wide columnar store

  • Bigtable
    Bigtable is a distributed storage system for managing structured data that is designed to scale to a very large size
  • Hbase
    HBase is the Hadoop database. Use it when you need random, realtime read/write access to your Big Data
  • Cassandra Project
    Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store
  • Hypertable
    In a web-driven world, datasets are larger than ever before - with "web scale" becoming the term of choice to describe the ultimate size of problems
  • Kai
    Kai is a distributed key-value datastore, which is mainly inspired by Amazon's Dynamo
  • OpenNeptune
    Neptune is another open source project implementing Google's Bigtable

どの製品が生き残るのか?

このリストの基になったドキュメント「NoSQL is a Horseless Carriage」を公開したSteven Yen氏は、そのドキュメントの中で、これだけたくさんあるさまざまなデータベースの中で、どれが生き残るのか、その条件を次のように指摘しています。

the most approachable API with enough power will win.

十分なパワーの下で適切なAPIを提供したものが勝つ

リレーショナルデータベースはSQLという非常に強力で、(ある程度)標準化されたAPIを備えたことで普及してきました。次世代のデータベースもAPIが普及のカギになるということです。同意します。

あわせて読みたい

NoSQL RDB データベース




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本


pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy