[认识存储和数据库|青训营笔记]
这是我参加「第五届青训营」伴学笔记的第十二天
前言
记录青训营后端专场的学习过程,有不足的地方还请大佬指正。
由于本人基础比较薄弱,所以笔记尽可能的详细。
该文章开始的版本将以简述课程知识点为主,等后面实践有自己的理解后会编辑添加自己的理解。
数据流动
1、 数据首先由用户输入并由前端将数据打包发送给后端服务器
2、 后端服务器收到数据后进行预处理然后进行数据持久化
数据持久化过程:
单机系统如何做到高性能/高性价比/高可靠性? 使用R(edundant)A(rray)I(expensive)D(isks)技术
RAID出现背景:
- 单块大容量磁盘的价格>多块小容量磁盘
- 单块磁盘的写入性能<多块磁盘的并发写入性能
- 单块磁盘的容错能力有限,不够安全
RAID案例0:
- 多块磁盘简单组合
- 数据条带化存储,提高磁盘带宽
- 没有额外的容错设计
RAID案例1:
- 一块磁盘对应一块额外镜像盘
- 真空时间利用率仅50%
- 容错能力强
RAID案例0+1:
- 在0和1的基础上提高了容错能力,写入带宽好。
**主流产品分析
单机存储——文件系统
- 文件系统的管理单元:文件
- 文件系统接口:文件系统繁多,如Ext2/3/4,sysfs,rootfs等,但都遵循了VFS的统一抽象接口
- Linux文件系统的两大数据结构:Index Node & Directory Entry
***单机存储——key-value存储
分布式存储——HDFS 核心特点:
- 支持海量数据存储
- 高容错性
- 弱POSIX语义
- 使用普通x86服务器,性价比高
分布式存储——Ceph
核心特点:
- 一套系统支持对象接口、块接口、文件接口,但是一切皆对象
- 数据写入采用主从复制模型
- 数据分布模型才有CRUSH算法