存储系统-数据库 | 青训营笔记

92 阅读3分钟

这是我参与「第五届青训营 」笔记创作活动的第12天。

引言

今天的课程中老师首先从一条数据的产生(用户在客户端),流动到服务端(以结构化的形式),存在内存中,最后持久化到数据库中的全生命周期的例子,引出了存储系统-数据库。


一、本堂课重点内容

本堂课的知识点

  • 存储系统
  • 数据库系统
  • 主流产品分析
  • 新技术演进

二、详细知识点介绍

什么是存储系统?

老师从开发者的角度回答:一个提供读写、控制类接口,能够安全有效地把数据持久化的软件

  • 分类

存储介质分类可看成一个金字塔,越往上容量越小,读写速度越快,价格越昂贵

如磁盘-> 内存-> cache ->寄存器

7aodL8.png

  • 存储系统-RAID技术

RAID ( Redundant Array of Independent Disks )独立磁盘冗余阵列 / 磁盘阵列,利用多个独立的磁盘组成在一起形成一个大的磁盘组,从而实现比单块磁盘更好的存储性能和更高的可靠性。

如采用多个磁盘并发写从而比在一个大容量磁盘写的速度更快

RAID可以分很多级别,如:

RAID 0:多块磁盘简单组合,数据条带化存储,提高磁盘带宽,没有额外的容错设计

RAID 1:一块磁盘对应一块额外镜像盘,真实空间利用率50%

RAID 0+1:结合了RAID 0 和 RAID 1

数据库

数据库可分为关系型数据库和非关系型数据库

关系(Relation)是什么?

关系 = 集合 = 任意元素组成的若干有序偶对反映了事物间的关系

SQL = 一种DSL,方便人类阅读的关系代数表达形式

关系型数据库是存储系统,对结构化数据友好,支持事务,满足ACID,支持复杂的查询语言SQL。

非关系型数据库也是存储系统,但一般不要求严格的格式化

主流产品剖析

单机存储

  • 本地文件系统

在Linux系统中有一句名言:一切皆文件

  • key-value存储

分布式存储

在单机存储基础上实现了分布式协议,涉及大量网络交互

  • HDFS

HDFS堪称大数据时代的基石

核心特点:支持海量数据存储,高容错性,弱POSIX语义

  • Ceph

核心特点:一套系统支持对象接口,块接口,文件接口,但一切皆对象,数据写入采用主备复制模型 ,数据分布模型采用CRUSH算法(HASH+权重+随机标签)

关系型数据库代表:: MySQL,Oracle,PostgreSQL

非关系型数据库代表:Redis,MongoDB,Elasticsearch

新技术演进

  • 软件架构变更

ByPass OS Kernal

  • AI增强

  • 新硬件革命

RDMA网络

Persistent Memory

可编程交换机

CPU/GPU/DPU

三、实践练习例子

待补充

四、课后个人总结

今天这堂课程学习了存储系统的一个发展,学习到各种不同类型的数据库,单机架构,以及如何设计分布式架构数据库,了解到目前主流的关系型数据库和非关系型数据库。后期学习自己设计一些数据库,如K-V型数据库。

五、引用参考

[1] 青训营课程资料 【后端专场 学习资料六】第五届字节跳动青训营 - 掘金 (juejin.cn)

[2] 课件 ‌‍带你认识存储 & 数据库 .pptx - 飞书云文档 (feishu.cn)