NoSQL(Not Only SQL)数据库可以是任何非关系型数据库,它是一个概括性的总称
NoSQL不能执行JOIN之类的操作:是为了:1.读取的速度更快
2.通过把数据分别存储到不同的服务器甚至不 同的数据中心,方便实现去中心化的数据存储
现代的NoSQL数据库包括:键值数据库、文档数据库、列式数据库、基于图的数据库
键值数据库:
用起来跟Python字典比较相似,每个键与一个单独的值相关联,通过该键可以取出其值
(值的内容大多情况下是不可以查询的)
文档数据库:
文档:在数据库中保存的键值对集合
这些文档是无固定表结构的(一个文档的结构不需要跟另一个文档一样)
大多数文档数据库会把数据以JSON或者MXL的格式进行存储
常见文档数据库:MongoDB、CouchDB、Couchbase
列式数据库:(宽列存储)
最快的NoSQL数据库类型
数据是通过一个唯一的键来保存和读取的
每个键都有一些对应的列,而这些列本身也是键值对
数据只能通过键排序
基于图的数据库:
描述和查询数据之间的关联
拥有特别机制,可以创建和描述两个节点之间的链接(一个节点就是一条单独的数据)
图式数据库可以通过追踪大量的链接进行查询,以回答十分复杂的问题(推荐引擎)
MongoDB是一种使用文档式存储的NoSQL数据库
(文档被存储在集合里)∴相似的文档可以归类在一起
文档是由叫做BSON的格式来定义的,BSON是JSON的超集(二进制的JSON)。BSON允许把JSON存为二进制格式,而不是字符串格式,这样又节省了大量的空间
推荐其他博友的MongoDB的安装:windows下MongoDB的安装及配置