NOSQL浅见总结

前端之家收集整理的这篇文章主要介绍了NOSQL浅见总结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

NOSQ概念

nosqlnot only sql.对不同于传统的关系型数据库系统的统称

两者存在许多显著的不同点,其中最重要的是Nosql不使用sql作为查询语言。其数据存储可以不需要固定的表格模式,也经常会避免使用sqlJOIN操作,一般有水平可扩展性的特征。

特征:

NOsql的实现具有二个特征: 使用硬盘,或者把随机存储器作存储载体。

Nosql的结构通常提供弱一致性的保证,如最终一致性,或交易仅限于单个的数据项。

不过,有些系统,提供完整的ACID保证在某些情况​​下,增加补充中间件层(例如,CloudTPS。有两个成熟的系统有提供快照隔离的列存储:像是Google基于过滤器系统的BigTable,和滑铁卢大学发展的HBase。这些系统,使用类似的概念来实现多行(multi-row)分散式ACID交易的快照隔离(snapshot isolation)保证为基础列储存,无需额外的资料管理开销,中间件系统部署或维护介绍了中间件层。少数Nosql系统部署了分布式结构,通常使用分散式杂凑表(DHT)将数据以冗余方式保存在多台服务器上。依此,扩充系统时候添加服务器更容易,并且扩大了对服务器失效的承受能程度。

分类

按照数据模型保存性质将当前Nosql分为四种:

1.Key-value stores键值存储,保存keys+BLOBs (二进制大对象Binary Large OBjects)
2.Table-oriented 面向,主要有Google的BigTable和Cassandra.
3.Document-oriented面向文本, 文本是一种类似XML文档,MongoDB 和 CouchDB

4.Graph-oriented 面向论. 如Neo4J.


键-值(key‐value)储存

最终一致性的键-值储存

  • Cassandra
  • Dynamo
  • Hibari
  • Project Voldemort
  • Riak

架构性键-值储存GT.M

  • InterSystem Globals

主机式服务

Key/value 硬盘存储

  • BigTable
  • MemcacheDB
  • LevelDB

Memcachedb 可以结合关系数据库一起提供。这需要对数据库的设计进行优化

  • Tokyo Cabinet
  • Tuple space
  • TreapDB

Key/value RAM存储

  • Oracle Coherence
  • memcached
  • Citrusleaf database
  • Velocity
  • Redis
  • Tuple space

Key-value 基于Paxos算法的存储

  • Keyspace

数据库

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

对象数据库

Versant Object Database

  • db4o
  • iBoxDB
  • GemStone/S
  • InterSystems Caché
  • JADE
  • Objectivity/DB
  • ZODB
  • ObjectStore

列存储

  • Cassandra
  • HBase
  • Hypertable

MongoDB是一个基于分布式文件存储数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。[3]






















引用:
1.http://zh.wikipedia.org/zh-cn/NoSQL

猜你在找的NoSQL相关文章