带你认识储存&数据库 | 青训营笔记

67 阅读2分钟

这是我的第二篇笔记,我参加的是第五届字节后端青训营的笔记活动。本篇将对带你认识储存&数据库进行学习笔记记录。

  • 存储系统:一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件
  • 关系(集合):任意元素组成的若干有序偶对,反应了事物间的关系
  • 关系代数:对关系作运算的抽象查询语言
  • SQL:方便人类阅读的关系代数表达形式

储存 & 数据库简介

存储系统的特点:

  1. 性能敏感
  2. 代码复杂
  3. 容易受硬件影响

RAID技术(redundant array of inexpensive disks)——由于多块硬盘结合使用成本低,性能好,安全性高,RAID技术产生

  • RAID 0:数据条带化存储、提高磁带带宽
  • RAID 1:每块磁盘对应一块镜像盘,空间利用率最高50%
  • RAID 0 + 1:空间利用率50%,容错能力强、写入带宽好,空间利用率最高50%

关系数据库属于存储系统,具有一下特征:

  1. 结构化数据友好
  2. 支持事物(ACID)
  3. 支持复杂查询语言

非关系数据库也是存储系统,结构化不严格:

  1. 半结构化数据友好
  2. 可能支持事物(ACID)
  3. 可能支持复杂查询语言

ACID(事务),是数据库的一个特性:

  • Atomicity:事务内的操作要么全做,要么不做
  • Consistency:事务执行前后,数据状态是一致的
  • lsolation:可以隔离多个并发事务,避免影响
  • Durability:事务一旦提交成功,数据保证持久性

数据库能使用更灵活简洁的代码

主流产品

单机存储

单个计算机节点上的存储软件系统,一般不涉及网络交互

典例:linux,具有 Index Node 和 Directory Entry两大数据结构

分布式存储

实现了分布式协议,涉及大量网络交互。

典例: HDFS、Ceph

单机关系型数据库

单个计算机节点上的数据库系统事务在单机内执行,也可能通过网络交互实现分布式事务

以 Oracle(商业产品)、MySQL(开源)、PostgreSQL(开源)为主

单机非关系型数据库

MongoDB、Redis、Elasticsearch

分布式数据库

解决容量、弹性、成本问题,进行分布式优化

新技术

软件架构变更(Bypass OS kernel)、AI增强、新硬件革命(RDMA网络、Persistent Memory、可编程交换机、CPU、GPU、DPU)

认识与思考

老师讲的很生动,不同的数据库有不同的存在形式和意义,同时新的技术也在不断产生和发展,需要我们学习。