一、NOSQL概念
随着大数据时代的到来,分布式存储得到了快速发展,其中比较受欢迎的,主要以key-value键值对存储的非关系型数据库进入了大家的视野。
NOSQL的全称是Not Only Sql,是非关系型数据存储的广义定义。它存储的不再是结构化的数据,即数据再没有固定的长度,类型和固定的格式等,比较主流的是以key-value键值对存储。
二、NOSQL优点
(1)快速的读写:NOSQL数据存储不需要固定的表结构,通常也不会存在取连接,释放连接的操作,在大数据存储上具备关系型数据库所不具备的性能优势。
(2)方便的扩展:在关系型数据库中为某一条记录扩展字段,需要修改表结构,而NOSQL数据库存储的数据结构不稳定,每条记录可以根据业务需要随意增加键值对数据。
(3)低廉的成本:相比关系型数据库改表,重构过程带来的人力资源的浪费,以及单个计算机可以容纳多个独立的NOSQL数据库等方面来看,NOSQL在成本上具备很大的优势
(4)灵活的数据类型:拿MongoDB来说,支持的数据类型多样,具体可见如下
-
String : 这是最常用的数据类型来存储数据。在MongoDB中的字符串必须是有效的UTF-8。
-
Integer : 这种类型是用来存储一个数值。整数可以是32位或64位,这取决于您的服务器。
-
Boolean : 此类型用于存储一个布尔值 (true/ false) 。
-
Double : 这种类型是用来存储浮点值。
-
Min/ Max keys : 这种类型被用来对BSON元素的最低和最高值比较(该类型不了解…)
-
Arrays : 使用此类型的数组或列表或多个值存储到一个键。
-
Timestamp : 时间戳。这可以方便记录时的文件已被修改或添加。
-
Object : 此数据类型用于嵌入式的文件。
-
Null : 这种类型是用来存储一个Null值。
-
Symbol : 此数据类型用于字符串相同,但它通常是保留给特定符号类型的语言使用。
-
Date : 此数据类型用于存储当前日期或时间的UNIX时间格式。可以指定自己的日期和时间,日期和年,月,日到创建对象。
-
Object ID : 此数据类型用于存储文档的ID。
-
Binary data : 此数据类型用于存储二进制数据。
-
Code : 此数据类型用于存储到文档中的JavaScript代码。
-
Regular expression : 此数据类型用于存储正则表达式
三、NOSQL缺点
(1)不提供对sql的支持
(2)支持的特性不够丰富(不支持事务,不支持多表联查)
(3)现有的NOSQL产品,相对于已有的Mysql,Oracle等关系型数据库来说成熟度不高。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/3773.html