NoSQL(非关系型数据库)
为什么使用NoSQL
- 扩容,操作简单
- 分布式计算
- 易扩展,因为 数据之间无关系
- 无需建立字段,自定义数据格式
- 支持大数据量,高性能(细粒度Cache)
缺点
- 有限的查询
- 是最终一致性,而不是强一致性
RDBMS(关系型数据库) vs NoSQL
RDBMS
- 表字段都已确定,高度组织化结构化数据
- 单独存到表中
- 强一致性
NoSQL
- 存储json格式,非结构化数据
- key-value形式存储,存储于文档中
- 最终一致性,非ACID
分布式理论
MongoDB满足的是BASE理论
MongoDB基础
什么是MongoDB
- 由c++编写,基于分布式存储的文档数据库
存储结构
- 由键值对(key-value)组成,类似于json对象。
主要特点
- 非关系型数据库,基于Document data model(文档数据模型)
- BSON格式存储,类似于JSON
- 关系型数据库使用table存储,MongoDB使用collections
- 索引通过B-tree,3.2版本支持wiredTiger
mongodb和传统数据库对比
集合命名规范
- 名字不允许是空字符串
- 不能包含\0字符,因为他表示名字的结尾
- 不能创建已system.开头
文档命名规范
- 不能包含\0字符
- 不能包含.和$字符
- 以_开始的key应该保留
整合springboot
引入pom文件
编写配置文件
定义实体类
引入Dao