这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天
这次的目录包括
- 经典案例
- 存储和数据库间接
- 主流产品剖析
- 新技术演进
我认为学习到的比较重要的内容为
- 什么是存储?什么是数据库?它们有什么区别?
- 主流的存储和主流的数据库架构
什么是存储?什么是数据库?它们有什么区别?
-
存储是一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称之为存储系统
-
数据库分为关系型数据库和非关系型数据库。
关系型数据库:结构化数据友好、支持事务、支持复杂查询语言
非关系型数据库:半结构化数据友好、可能支持事务、可能支持复杂查询语言
- 他们之间的区别在于
数据库可以结构化数据管理,以表形式管理。经典存储写入文件,自行定义管理结构。
数据库可以支持事务,事务具有ACID。经典存储需要手动编码去支持ACID。
数据库可以使用简单的SQL支持复杂的查询。经典存储可能需要使用复杂的代码去支持复杂查询。
主流的存储和主流的数据库架构
分为
- 单机存储
- 分布式存储
- 单机关系型数据库
- 单机非关系型数据库
- 分布式数据库
单机存储:本地文件系统(比如linux的文件)、Key-Value存储
分布式存储:分布式文件系统(比如HDFS)、分布式对象存储(比如Ceph)
单机关系型数据库:MySQL、PostgreSQL
单机非关系型数据库:MongoDB、Redis、Elasticsearch
分布式数据库:主要用来解决容量、弹性和性价比的问题。同时也面临新的问题,即单写到多写,从磁盘弹性到内存弹性以及分布式事务的优化