fbpx
维基百科

NoSQL

NoSQL(最初表示Non-SQL[1],后来有人转解为Not only SQL[2][3]),是對不同於傳統的關聯式資料庫数据库管理系统的統稱。

允許部分資料使用SQL系統儲存,而其他資料允許使用NoSQL系統儲存。其數據儲存可以不需要固定的表格模式以及元数据(metadata),也經常會避免使用SQL的JOIN操作,一般有水平可扩展性英语Database_scalability的特征。

发展历史 编辑

NoSQL一词最早出现于1998年,是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系数据库[4]

2009年,Last.fm的Johan Oskarsson发起了一次关于分布式开源数据库的讨论[5],来自Rackspace的Eric Evans再次提出了NoSQL的概念,这时的NoSQL主要指非关系型、分布式、不提供ACID的数据库设计模式。

2009年在亚特兰大举行的「no:sql(east)」讨论会是一个里程碑,其口号是「select fun, profit from real_world where relational=false;」。因此,对NoSQL最普遍的解释是“非关聯型的”,强调键-值存储面向文档数据库的优点,而不是单纯的反对RDBMS。

基于2014年的收入,NoSQL市场领先企业是MarkLogic英语MarkLogicMongoDBDatastax英语DataStax[6]。基于2015年的人气排名,最受欢迎的NoSQL数据库是MongoDBApache CassandraRedis[7]

特点 编辑

当代典型的關聯式資料庫在一些数据敏感的应用中表现了糟糕的性能,例如为巨量文档建立索引、高流量网站的网页服务,以及发送流式媒体[8]。关系型数据库的典型实现主要被调整用于执行规模小而读写频繁,或者大批量读而极少写访问的事务。

NoSQL的結構通常提供弱一致性的保證,如最終一致性,或交易僅限於單個的數據項。不過,有些系統,提供完整的ACID保證在某些情況下,增加了補充中間件層(例如:CloudTPS)[9]。有兩個成熟的系統有提供快照隔離的列存儲:像是Google基於過濾器系統的BigTable[10],和滑鐵盧大學开发的HBase[11]。這些系統,自主開發,使用類似的概念來實現多行(multi-row)分散式ACID交易的快照隔離(snapshot isolation)保證為基礎列儲存,無需額外的資料管理開銷,中間件系統部署或維護,減少了中間件層。

少数NoSQL系统部署了分布式结构,通常使用分散式雜湊表(DHT)将数据以冗余方式保存在多台服务器上。依此,扩充系统时候添加服务器更容易,并且扩大了对服务器失效的承受能程度。[12]

分类 编辑

文档存储 编辑

名稱 語言
BaseX XQuery,Java
CouchDB Erlang
eXist XQuery
iBoxDB JavaC#
Jackrabbit Java
Lotus Notes LotusScript,Java
MarkLogic Server XQuery
MongoDB C++
RethinkDB C++
OrientDB Java
SimpleDB Erlang
Terrastore Java
Elasticsearch Java
No2DB C#

图数据库 编辑

名稱 語言
AllegroGraph SPARQL
Sparksee JavaC#
Neo4j Java
FlockDB Scala
JanusGraph Java

鍵-值(key‐value)儲存 编辑

最終一致性鍵-值儲存 编辑

  • Cassandra
  • Dynamo英语Dynamo (storage system)
  • Hibari英语Hibari (database)
  • Project Voldemort英语Project Voldemort
  • Riak英语Riak [13]

架構性鍵-值储存 编辑

  • GT.M英语GT.M
  • InterSystem Globals[14]

主機式服務 编辑

Key/value硬盘存储 编辑

  • Tokyo Cabinet英语Tokyo Cabinet
  • Tuple space英语Tuple space
  • TreapDB英语TreapDB

Key/value RAM存储 编辑

  • Oracle Coherence英语Oracle Coherence
  • memcached
  • Citrusleaf database
  • Velocity (memory cache)英语Velocity (memory cache)
  • Redis
  • Tuple space英语Tuple space

Key-value基于Paxos算法的存储 编辑

  • Keyspace (data store)英语Keyspace (data store)

多数据库 编辑

  • OpenQM
  • Rocket U2
  • Revelation Software's OpenInsight
  • Extensible Storage Engine(ESE/NT)

时序型数据库 编辑

名稱 語言
Graphite Python
InfluxDB Go
Informix TimeSeries Erlang
OpenTSDB Java
RRDtool C
IoTDB Java

对象数据库 编辑

  • Versant Object Database
  • db4o
  • GemStone/S
  • InterSystems Caché
  • JADE
  • Objectivity/DB
  • ZODB
  • ObjectStore

列存储 编辑

参考文献 编辑

  1. ^ http://nosql-database.org/ (页面存档备份,存于互联网档案馆) "NoSQL DEFINITION: Next Generation Databases mostly addressing some of the points : being non-relational, distributed, open-source and horizontally scalable".
  2. ^ NoSQL (Not Only SQL). [2021-03-10]. (原始内容于2021-04-21). NoSQL database, also called Not Only SQL 
  3. ^ Fowler, Martin. NosqlDefinition. [2021-03-10]. (原始内容于2021-05-01). many advocates of NoSQL say that it does not mean a "no" to SQL, rather it means Not Only SQL 
  4. ^ Lith, Adam; Jakob Mattson. Investigating storage solutions for large data: A comparison of well performing and scalable data storage solutions for real time extraction and batch insertion of data (PDF). Göteborg: Department of Computer Science and Engineering, Chalmers University of Technology: 15, 70. 2010 [2011-05-12]. (原始内容 (PDF)于2011-08-16). Carlo Strozzi first used the term NOSQL in 1998 as a name for his open source relational database that did not offer a SQL interface[...] 
  5. ^ . Blog.sym-link.com. 2009-05-12 [2010-03-29]. (原始内容存档于2011-07-16). 
  6. ^ Hadoop-NoSQL-rankings. [2015-11-17]. (原始内容于2015-11-18). 
  7. ^ DB-Engines Ranking. [2015-07-31]. (原始内容于2020-02-21). 
  8. ^ Agrawal, Rakesh et al. The Claremont report on database research (PDF). SIGMOD Record (計算機協會). 2008, 37 (3): 9–19 [2011-06-22]. ISSN 0163-5808. doi:10.1145/1462571.1462573. (原始内容 (PDF)于2011-07-16). 
  9. ^ CloudTPS: Scalable Transactions for Web Applications in the Cloud. Globule.org. [2010-03-29]. (原始内容于2010-06-30). 
  10. ^ Large-scale Incremental Processing Using Distributed Transactions and Notifications (PDF). The 9th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2010), Oct 4–6, 2010, Vancouver, BC, Canada. [2010-10-15]. (原始内容 (PDF)于2016-03-05). 
  11. ^ (PDF). The 11th ACM/IEEE International Conference on Grid Computing (Grid 2010), Oct 25-29, 2010, Brussels, Belgium. [2010-10-15]. (原始内容 (PDF)存档于2011-06-29). 
  12. ^ Cassandra: Structured Storage System over a P2P Network (PDF). [2010-03-29]. (原始内容 (PDF)于2009-08-24). 
  13. ^ . 2010-11-28 [2010-11-28]. (原始内容存档于2010年12月31日). 
  14. ^ 存档副本. [2011-06-22]. (原始内容于2011-05-25). 

外部链接 编辑

  • NoSQL非关系数据库简介 (页面存档备份,存于互联网档案馆
  • Amazon数据库论文 (页面存档备份,存于互联网档案馆
  • 在互联网上拥有NoSQL相关链接最多的网站。 (页面存档备份,存于互联网档案馆
  • Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j comparison (页面存档备份,存于互联网档案馆

参见 编辑

  • 最终一致性(BASE——基本可用、弱状态、最终一致性——的其中一个组成要求,与关系数据库的Acid相对)
  • CAP

nosql, 最初表示non, 后来有人转解为not, only, 是對不同於傳統的關聯式資料庫的数据库管理系统的統稱, 允許部分資料使用sql系統儲存, 而其他資料允許使用系統儲存, 其數據儲存可以不需要固定的表格模式以及元数据, metadata, 也經常會避免使用sql的join操作, 一般有水平可扩展性, 英语, database, scalability, 的特征, 目录, 发展历史, 特点, 分类, 文档存储, 图数据库, value, 儲存, 最終一致性的鍵, 值儲存, 架構性鍵, 值储存, 主機式服. NoSQL 最初表示Non SQL 1 后来有人转解为Not only SQL 2 3 是對不同於傳統的關聯式資料庫的数据库管理系统的統稱 允許部分資料使用SQL系統儲存 而其他資料允許使用NoSQL系統儲存 其數據儲存可以不需要固定的表格模式以及元数据 metadata 也經常會避免使用SQL的JOIN操作 一般有水平可扩展性 英语 Database scalability 的特征 目录 1 发展历史 2 特点 3 分类 3 1 文档存储 3 2 图数据库 3 3 鍵 值 key value 儲存 3 3 1 最終一致性的鍵 值儲存 3 3 2 架構性鍵 值储存 3 4 主機式服務 3 4 1 Key value硬盘存储 3 4 2 Key value RAM存储 3 4 3 Key value基于Paxos算法的存储 3 5 多数据库 3 6 时序型数据库 3 7 对象数据库 3 8 列存储 4 参考文献 5 外部链接 6 参见发展历史 编辑NoSQL一词最早出现于1998年 是Carlo Strozzi开发的一个轻量 开源 不提供SQL功能的关系数据库 4 2009年 Last fm的Johan Oskarsson发起了一次关于分布式开源数据库的讨论 5 来自Rackspace的Eric Evans再次提出了NoSQL的概念 这时的NoSQL主要指非关系型 分布式 不提供ACID的数据库设计模式 2009年在亚特兰大举行的 no sql east 讨论会是一个里程碑 其口号是 select fun profit from real world where relational false 因此 对NoSQL最普遍的解释是 非关聯型的 强调键 值存储和面向文档数据库的优点 而不是单纯的反对RDBMS 基于2014年的收入 NoSQL市场领先企业是MarkLogic 英语 MarkLogic MongoDB和Datastax 英语 DataStax 6 基于2015年的人气排名 最受欢迎的NoSQL数据库是MongoDB Apache Cassandra和Redis 7 特点 编辑当代典型的關聯式資料庫在一些数据敏感的应用中表现了糟糕的性能 例如为巨量文档建立索引 高流量网站的网页服务 以及发送流式媒体 8 关系型数据库的典型实现主要被调整用于执行规模小而读写频繁 或者大批量读而极少写访问的事务 NoSQL的結構通常提供弱一致性的保證 如最終一致性 或交易僅限於單個的數據項 不過 有些系統 提供完整的ACID保證在某些情況下 增加了補充中間件層 例如 CloudTPS 9 有兩個成熟的系統有提供快照隔離的列存儲 像是Google基於過濾器系統的BigTable 10 和滑鐵盧大學开发的HBase 11 這些系統 自主開發 使用類似的概念來實現多行 multi row 分散式ACID交易的快照隔離 snapshot isolation 保證為基礎列儲存 無需額外的資料管理開銷 中間件系統部署或維護 減少了中間件層 少数NoSQL系统部署了分布式结构 通常使用分散式雜湊表 DHT 将数据以冗余方式保存在多台服务器上 依此 扩充系统时候添加服务器更容易 并且扩大了对服务器失效的承受能程度 12 分类 编辑文档存储 编辑 名稱 語言BaseX XQuery JavaCouchDB ErlangeXist XQueryiBoxDB Java C Jackrabbit JavaLotus Notes LotusScript Java等MarkLogic Server XQueryMongoDB C RethinkDB C OrientDB JavaSimpleDB ErlangTerrastore JavaElasticsearch JavaNo2DB C 图数据库 编辑 名稱 語言AllegroGraph SPARQLSparksee Java C Neo4j JavaFlockDB ScalaJanusGraph Java鍵 值 key value 儲存 编辑 最終一致性的鍵 值儲存 编辑 Cassandra Dynamo 英语 Dynamo storage system Hibari 英语 Hibari database Project Voldemort 英语 Project Voldemort Riak 英语 Riak 13 架構性鍵 值储存 编辑 GT M 英语 GT M InterSystem Globals 14 主機式服務 编辑 Key value硬盘存储 编辑 BigTable MemcacheDB 英语 MemcacheDB LevelDBTokyo Cabinet 英语 Tokyo Cabinet Tuple space 英语 Tuple space TreapDB 英语 TreapDB Key value RAM存储 编辑 Oracle Coherence 英语 Oracle Coherence memcached Citrusleaf database Velocity memory cache 英语 Velocity memory cache Redis Tuple space 英语 Tuple space Key value基于Paxos算法的存储 编辑 Keyspace data store 英语 Keyspace data store 多数据库 编辑 OpenQM Rocket U2 Revelation Software s OpenInsight Extensible Storage Engine ESE NT 时序型数据库 编辑 名稱 語言Graphite PythonInfluxDB GoInformix TimeSeries ErlangOpenTSDB JavaRRDtool CIoTDB Java对象数据库 编辑 Versant Object Database db4o GemStone S InterSystems Cache JADE Objectivity DB ZODB ObjectStore列存储 编辑 Cassandra HBase Hypertable参考文献 编辑 http nosql database org 页面存档备份 存于互联网档案馆 NoSQL DEFINITION Next Generation Databases mostly addressing some of the points being non relational distributed open source and horizontally scalable NoSQL Not Only SQL 2021 03 10 原始内容存档于2021 04 21 NoSQL database also called Not Only SQL Fowler Martin NosqlDefinition 2021 03 10 原始内容存档于2021 05 01 many advocates of NoSQL say that it does not mean a no to SQL rather it means Not Only SQL Lith Adam Jakob Mattson Investigating storage solutions for large data A comparison of well performing and scalable data storage solutions for real time extraction and batch insertion of data PDF Goteborg Department of Computer Science and Engineering Chalmers University of Technology 15 70 2010 2011 05 12 原始内容存档 PDF 于2011 08 16 Carlo Strozzi first used the term NOSQL in 1998 as a name for his open source relational database that did not offer a SQL interface 引文使用过时参数coauthors 帮助 NOSQL 2009 Blog sym link com 2009 05 12 2010 03 29 原始内容存档于2011 07 16 Hadoop NoSQL rankings 2015 11 17 原始内容存档于2015 11 18 DB Engines Ranking 2015 07 31 原始内容存档于2020 02 21 Agrawal Rakesh et al The Claremont report on database research PDF SIGMOD Record 計算機協會 2008 37 3 9 19 2011 06 22 ISSN 0163 5808 doi 10 1145 1462571 1462573 原始内容存档 PDF 于2011 07 16 引文格式1维护 显式使用等标签 link CloudTPS Scalable Transactions for Web Applications in the Cloud Globule org 2010 03 29 原始内容存档于2010 06 30 Large scale Incremental Processing Using Distributed Transactions and Notifications PDF The 9th USENIX Symposium on Operating Systems Design and Implementation OSDI 2010 Oct 4 6 2010 Vancouver BC Canada 2010 10 15 原始内容存档 PDF 于2016 03 05 Supporting Multi row Distributed Transactions with Global Snapshot Isolation Using Bare bones HBase PDF The 11th ACM IEEE International Conference on Grid Computing Grid 2010 Oct 25 29 2010 Brussels Belgium 2010 10 15 原始内容 PDF 存档于2011 06 29 Cassandra Structured Storage System over a P2P Network PDF 2010 03 29 原始内容存档 PDF 于2009 08 24 Riak An Open Source Scalable Data Store 2010 11 28 2010 11 28 原始内容存档于2010年12月31日 存档副本 2011 06 22 原始内容存档于2011 05 25 外部链接 编辑NoSQL非关系数据库简介 页面存档备份 存于互联网档案馆 Amazon数据库论文 页面存档备份 存于互联网档案馆 在互联网上拥有NoSQL相关链接最多的网站 页面存档备份 存于互联网档案馆 NoSQL数据库笔谈 Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j comparison 页面存档备份 存于互联网档案馆 参见 编辑最终一致性 BASE 基本可用 弱状态 最终一致性 的其中一个组成要求 与关系数据库的Acid相对 CAP 取自 https zh wikipedia org w index php title NoSQL amp oldid 79694638, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。