NoSQL是什么?

前端之家收集整理的这篇文章主要介绍了NoSQL是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

定义

对于不了解Nosql的人都会认为Nosql为No sql,即不是sql。但是这种理解是错误的,Nosql应该是Not Onlysql,翻译过来为不仅仅是sql。从这个翻译中我们可以看出来,Nosql仍然还是sql

Nosql泛指这样一类数据库和数据存储,它们不遵循经典关系型数据库(RDBMS)原理,且常与Web规模的大型数据集有关。

Nosql数据库有以下优点:

1 简单的扩展

2 快速的读写

3 低廉的成本

4 灵活的数据类型

Nosql数据库有以缺点:

1 不提供对sql支持

2 产品混乱,许多缺乏厂商的支持 Nosql的应用

Nosql的应用

新浪微博 redis

Google BigTable

Amazon SimpleDB

视觉中国网站 MongoDB

优酷运营数据分析 MongoDB

豆瓣社区 BeansDB

……

Nosql数据库类型

Key-value数据库 是一种以键值对存储数据的一种数据库,类似java中的map。可以将整个数据库理解为一个大的map,每个键都会对应一个唯一的值。Key-value数据库代表的有redis。Redis是一个Key-Value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。另外redis是一种内存型的数据库,所以可以对外提供很好地读写操作,但是同样也暴露出内存占用高,数据持久化不易等问题。

列式数据库是以列相关存储架构进行数据存储的数据库,主要适合与批量数据处理和即席查询。传统的行式数据库,是按照行存储的,维护大量的索引和物化视图无论是在时间(处理)还是空间(存储)方面成本都很高。而列式数据库恰恰相反,列式数据库的数据是按照列存储,每一列单独存放,数据即是索引。只访问查询涉及的列,大大降低了系统I/O,每一列由一个线来处理,而且由于数据类型一致,数据特征相似,极大方便压缩。行式数据库擅长随机读操作,列式数据库则更擅长大批量数据量查询

图形数据库又称图数据库,是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。最常见的一个例子,就是社会网络中人与人之间的关系。关系型数据库用于存储“关系型”数据的效果并不好,其查询复杂、缓慢、超出预期,而图形数据库的独特设计恰恰弥补了这个缺陷。比较有名的图数据库是Neo4j。。它是一个可嵌入,基于磁盘的Java持久化引擎,其数据存储采用图形结构来代替表格。一张graph就是一种网状的结构图更适合于敏捷、快速开发。特性:能够以直观,面向图形的方式展示数据,网状结构图由节点,关联和属性组成。Neo能够在单一计算机上处理几十亿个节点,关联和属性

文档数据库不是文档管理系统。刚接触Nosql的开发者常会混淆文档数据库和文档/内容管理系统。文档数据库中的文档一词意指文档中松散结构的键/值对集合,通常是JSON(JavaScript Object Notation,JavaScript对象表示法),而非一般意义的文档或表格(尽管它们也能被存储)。文档数据库把文档当作一个整体,不会将文档分割成多个键/值对。在集合层面上,这使得不同结构的文档可以放在同一个集合里。文档数据库支持文档索引,不仅包括主标识符,还包括文档的属性。当今为数不多的开源文档数据库中,最声名远扬的要数MongoDBCouchDB

原文链接:https://www.f2er.com/nosql/203843.html

猜你在找的NoSQL相关文章