存储的基本架构

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

一、存储的需求背景

1、人的身份信息需要存储

这种信息可以用关系型数据库,例如mysql,那种表格类型关系型都可以用mysql

2、图片存储

fastdfs等等架构可以去实现

3、博客文档存储

4、视频存储

5、AIGC问答类的存储

还有我们的其他数据

综上,存储是计算机领域的一个很大的主题

其中比较重要的层级体系包括:spdk,ceph,Rocksdb,NVMe,EXT4,Tidb

二、自下而上存储架构

1、介质层

2、接口协议层

3、驱动层

相当于对硬件做了一部分抽象

4、文件系统

5、系统调用层

vfs协议,有关读写操作都在这一层级

6、应用层

fastdfs,ceph,samba、mysql,rockdb,tidb

那么我们的spdk是属于哪一层呢,它的作用在于跨内核,跨内存拷贝做的一个桥梁。文件系统可以直接在spdk里边去实现,所以不用跨态去搞传输。

还有就是关于fuse这一层,这一层呢,在执行读写操作的时候可用于对文件的加水印等操作。尤其是在下载某个文件的时候会直接给你打上专属的水印,这个玩意可用于防盗的操作。

以服务器为例,服务器运行的时候会去记录日志,为了能够记录发生的问题,会存储到集中式的存储里边去。这个日志的存储,先要落盘,再通过fuse,fuse去跟踪监测这个对应的日志文件是否有修改,再把这个文件同步到集中式的文件系统上边去。这样就能构建出一个分布式文件系统。

关于数据中心的同步,在两端服务器中间会有一个层叫做rdma,rdma是cpu参与的网络远程一种协议。

关于介质层与上层之间会有一种有线的协议去交互,比如说

总结

关于存储,一直是计算机领域的庞大体系,需要持续的学习。

相关推荐
悟能不能悟10 分钟前
mysql的not exists走索引吗
数据库·mysql
明月与玄武10 分钟前
Jmeter -- JDBC驱动连接数据库超详细指南
数据库·jmeter·配置jdbc连接
专注VB编程开发20年12 分钟前
VB.NET关于接口实现与简化设计的分析,封装其他类
java·前端·数据库
vvilkim17 分钟前
Redis持久化机制详解:保障数据安全的关键策略
数据库·redis·缓存
cooldream200924 分钟前
信息安全的基石:深入理解五大核心安全服务
数据库·安全·系统架构师
大数据魔法师35 分钟前
Redis(三) - 使用Java操作Redis详解
java·数据库·redis
noravinsc38 分钟前
e.g. ‘django.db.models.BigAutoField‘.
数据库·django
天天爱吃肉821844 分钟前
车载以太网驱动智能化:域控架构设计与开发实践
java·运维·网络协议·微服务
IT光1 小时前
Redis 五种类型基础操作(redis-cli + Spring Data Redis)
java·数据库·redis·spring·缓存
言之。1 小时前
Go 语言中接口类型转换为具体类型
开发语言·后端·golang