NoSQL(Not Only SQL)
のーえすきゅーえる
意味
NoSQL(Not Only SQL)とは、従来のリレーショナルデータベース(RDBMS)以外のデータベースの総称である。 RDBMS(SQLを使うデータベース)は、表形式で厳密にデータを管理するため一貫性が高いが、大量のデータや構造が変わるデータの処理が苦手だった。NoSQLは、この「厳密さ」を...
概要
従来のリレーショナルデータベース(RDBMS:Excelのような表形式で管理するDB)以外の、新しいデータベースの総称。 「SQLを使わない」という意味ではなく、「SQLだけじゃない(Not Only SQL)」という意味。
背景
GoogleやAmazonのような巨大Webサービスでは、データ量が桁違いに多くなり、従来のRDBMS(MySQLやOracle)では処理しきれなくなった(スケーラビリティの限界)。 そこで、「厳密な整合性(ACID特性)」を少し犠牲にしてでも、「とにかく大量のデータを高速に処理する」ことに特化したDBが必要になった。
種類
- キー・バリュー型(KVS): IDとデータのペアだけで管理する。超高速。Redisなど。
- ドキュメント型: JSON形式の複雑なデータをそのまま保存できる。MongoDBなど。
- グラフ型: 「友達の友達」のような関係性を管理する。Neo4jなど。
適材適所で使い分けるのが一般的。