这是我参与「第五届青训营 」伴学笔记创作活动的第 13 天
存储&数据库简介
案例
小明下载了一个新的APP。因为第一次登录,所以进入APP后需要注册一个新的账号,在填好资料按下注册按钮之后,一条数据就产生了,在几十毫秒内向APP的后端服务器传送过去。
期间数据的持久化有三个部分:
- 数据是否已经存在?
- 用高效的数据结构组织数据
- 以寿命&性能友好的方式写入硬件
潜在的问题:
- 数据库怎么保证数据不丢失?
- 数据库怎么处理多人同时修改的问题?
- 为什么用数据库,除了数据库还能存到别的存储系统吗?
- 数据库只能处理结构化数据吗?
- 有哪些操作数据库的方式,要用什么编程语言?
存储系统概览
一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统。
RAID技术可以使得单机存储系统做到高性能、高可靠。
数据库分为关系型数据库与非关系型数据库。
关系=集合=任何元素组成的若干有序偶对反应了事物间的关系,关系型数据库是存储系统,但是在存储之外,又发展出其他能力:结构化数据友好、支持事务、支持复杂查询语言。
非关系型数据库也是存储系统,但是一般不要求严格的结构化。
主流产品
- 单机存储,即单个计算机节点上的存储软件系统,一般不涉及网络交互
- 分布式存储,在单机存储基础上实现了分布式协议,涉及大量网络交互
- 单机关系型数据库,单个计算机节点上的数据库系统
- 单机非关系型数据库
- 分布式数据库