MongoDB学习笔记-20190423

什么是MongoDB?

MongoDB是一个基于分布式文件存储的数据库,是一个介于关系型数据库和非关系型数据库之间的产品,是非关系数据库当中功能最丰富、最像关系数据库的。

MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成,MongoDB文档类似于JSON对象,字段值可以包含其他文档、数组及文档数组。

什么是NoSQL?

Not Only SQL,指非关系型数据库,用于超大规模数据的存储

2009年,Atlanta,no:sql(east),口号是"select fun, profit from real_world where relational=false;"

RDBMS vs NoSQL

RDBMS:高度组织化结构化数据、结构化查询语言(SQL) (SQL)、数据和关系都存储在单独的表中、数据操纵语言,数据定义语言、严格的一致性、基础事务

NoSQL:代表着不仅仅是SQL、没有声明性查询语言、没有预定义的模式、键 - 值对存储,列存储,文档存储,图形数据库、最终一致性,而非ACID属性、非结构化和不可预知的数据、CAP定理、高性能,高可用性和可伸缩性

什么是CAP定理?

CAP定理,又被称作布鲁尔定理(Brewer's Theorem),它指对于一个分布式计算系统来说,不可能同时满足以下三点:

一致性(consistency)所有节点在同一时间具有相同的数据

可用性(Available)保证每个请求不管成功或者失败都有响应

分隔容忍(Partition Tolerance)系统中任意信息的丢失或失败不会影响系统的继续运作

最多能同时较好的满足两个:

BASE

Basically Available, Soft-state, Eventually Consistent,由Eric Brewer定义

基本可用,软状态/柔性事务(无连接的),最终一致性

你可能感兴趣的:(MongoDB学习笔记-20190423)