狂野java-MongoDB基本使用

NoSQL(非关系型数据库)

为什么使用NoSQL

  • 扩容,操作简单
  • 分布式计算
  • 易扩展,因为 数据之间无关系
  • 无需建立字段,自定义数据格式
  • 支持大数据量,高性能(细粒度Cache)

缺点

  • 有限的查询
  • 是最终一致性,而不是强一致性

RDBMS(关系型数据库) vs NoSQL

RDBMS

  • 表字段都已确定,高度组织化结构化数据
  • 单独存到表中
  • 强一致性

NoSQL

  • 存储json格式,非结构化数据
  • key-value形式存储,存储于文档中
  • 最终一致性,非ACID

分布式理论

狂野java-MongoDB基本使用_第1张图片
狂野java-MongoDB基本使用_第2张图片
MongoDB满足的是BASE理论
狂野java-MongoDB基本使用_第3张图片

MongoDB基础

什么是MongoDB

  • 由c++编写,基于分布式存储的文档数据库

存储结构

  • 由键值对(key-value)组成,类似于json对象。狂野java-MongoDB基本使用_第4张图片

主要特点

  • 非关系型数据库,基于Document data model(文档数据模型)
  • BSON格式存储,类似于JSON
  • 关系型数据库使用table存储,MongoDB使用collections
  • 索引通过B-tree,3.2版本支持wiredTiger

mongodb和传统数据库对比

狂野java-MongoDB基本使用_第5张图片

集合命名规范

  • 名字不允许是空字符串
  • 不能包含\0字符,因为他表示名字的结尾
  • 不能创建已system.开头

文档命名规范

  • 不能包含\0字符
  • 不能包含.和$字符
  • 以_开始的key应该保留

狂野java-MongoDB基本使用_第6张图片

整合springboot

引入pom文件

狂野java-MongoDB基本使用_第7张图片

编写配置文件

狂野java-MongoDB基本使用_第8张图片

定义实体类

狂野java-MongoDB基本使用_第9张图片

引入Dao

狂野java-MongoDB基本使用_第10张图片
狂野java-MongoDB基本使用_第11张图片

你可能感兴趣的:(狂野java,mongodb,java,数据库)