NoSQL

NoSQL(一般に "Not only SQL" と解釈される)とは、関係データベース管理システム (RDBMS) 以外のデータベース管理システムを指すおおまかな分類語である。関係データベースを杓子定規に適用してきた長い歴史を打破し、それ以外の構造のデータベースの利用・発展を促進させようとする運動の標語としての意味合いを持つ。関係モデルではないデータストアの特徴として、固定されたスキーマに縛られないこと、関係モデルの結合操作を利用しないこと、水平スケーラビリティが確保しやすい事が多いこと、高度なトランザクション処理を利用できないものが多いことなどが挙げられる。学術的な世界では、この種のデータベースのことを構造型ストレージ (structured storage) と呼ぶことが多い[1][2][3][4]

NoSQL系データベース管理システムは、データの格納および取得が高度に最適化されているものが多い。その最適化のために機能性を最小限にしているものもある。その最たる例が、「値」およびそれを取得するための「キー」だけを格納できるKey-Value型データベースである。NoSQL系データベースは、関係データベースのような汎用性は欠くものの、その制約された条件下ではRDBMSより高いパフォーマンスを持つ。そのためビッグデータ系ソリューションでしばしば活用される。

NoSQL系データベース管理システムが有用な場面は、関係モデルを必要としないデータを扱う時や、大量のデータを扱う時である。用途は多様であり、数百万のkey-valueペアを格納したり、数10個程度の連想配列を格納したり、数百万の構造的データを格納したりと、様々に使われる。この構造は、大規模なデータを統計的に解析したり、増えつづける情報をリアルタイムに解析するのにも便利である。

産業界での有名な実装として、GoogleBigTableアマゾンAmazon DynamoDBなどがある。オープンソースの実装も数多く存在し、例えばMongoDBRedisApache HBaseHypertable[5], Apache Cassandraなどがある。

  1. ^ Hamilton, James (2009年11月3日). “Perspectives: One Size Does Not Fit All”. 2009年11月13日閲覧。
  2. ^ Lakshman, Avinash; Malik, Prashant. Cassandra — A Decentralized Structured Storage System. Cornell University. http://www.cs.cornell.edu/projects/ladis2009/papers/lakshman-ladis2009.pdf 2009年11月13日閲覧。. 
  3. ^ Chang, Fay; Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber. Bigtable: A Distributed Storage System for Structured Data. Google. http://labs.google.com/papers/bigtable-osdi06.pdf 2009年11月13日閲覧。. 
  4. ^ Kellerman, Jim. “HBase: structured storage of sparse data for Hadoop”. 2009年11月13日閲覧。
  5. ^ Toptal - The Definitive Guide to NoSQL Databases

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne