前言
随着互联网发展尽头越来越猛,传统型的关系型数据库已经基本满足不了数据量较大的业务场景,为了解决这一问题从而出现了分布式数据库专门处理海量数据,本人作为小白将在博客记录我行走的每一步还有出现的问题,一方面是为了提高自己写做能力,还有能记录问题,等等好处,真可谓是一举多得.
学习目标
- 关系型数据库和分布式数据库各自的优缺点
- mongodb入门
- 安装mongodb数据库并且实现简单的增删改查
关系型数据库
1 关系型数据库基本名词解释
名词 | 解释 |
---|---|
关系 | 可以理解为一张二维表,每个关系都有一个关系名,也就是通常说的表明 |
元组 | 可以理解为一张二维表中的一行,也通常被称为表中的一组数据记录 |
属性 | 可以理解为一张二维表中的一列,也通常被称为表中的一列 |
域 | 属性的取值范围 |
关键字 | 表中每一列说一句的唯一标识 |
关系模式 | 表现出的形式为关系名{属性1,属性2,属性3} |
2 关系型数据库的优点
易于理解,维护方便,可编写复杂的sql语句查询,并且可以保持数据的 原子性,一致性,隔离性,持久性
3 关系型数据库的缺点
高并发的读写需求对关系型数据库来说是一个很大的瓶颈.
4 分布式数据库的名词解释
名字 | 解释 |
---|---|
不需要预定义模式 | 不需要事先定义数据模式,预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。 |
直接从磁盘读取 | 不需要事先定义数据模式,预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。 |
弹性可扩展 | 增加节点或者删除节点时数据自动迁移 |
自动分区 | 相对于将数据存放于同一个节点,NoSQL数据库需要将数据进行分区,将记录分散在多个节点上面。并且通常分区的同时还要做复制。这样既提高了并行性能,又能保证没有单点失效的问题 |
BASE | 开始只保持数据的基本特性,最终会使他数据一致性 |
5 优点
- 使用键值对存储数据,数据没有耦合性,容易扩展
- 分布式
- 一般不支持ACID特性,无需经过sql层的解析,读写性能很高
- 非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合
- 存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,文档形式、图片形 式等等,而关系型数据库则只支持基础类型
- 读取速度快
6 mongodb安装
环境:ubuntu16.0
1 打开终端输入 sudo apt-get install mongodb
参考范文:https://blog.csdn.net/u012002805/article/details/80788586
mongodb : 新增
db.test.insert({“name”:“hrjk”})
mongodb : 删除
db.test.remove({“name”:“hrjk”})
mongo: 修改
db.test.update({‘name’:‘MongoDB lisi’},{$set:{‘name’:‘MongoDB’}})
mongo: 查询
db.test.find().pretty()