这是我参与「第五届青训营 」伴学笔记创作活动的第 32 天
本篇笔记回顾第五期青训营2月12日的课程————《认识存储本质-状态》。
课程讲解分成四块:
(1)经典案例;一条数据从产生到流动,最后持久化的生命周期。流动:数据注册->后端服务器->数据库->其它系统;持久化:检查数据是否合法-修改内存-写入存储介质,这阶段结束后也提出了几个问题:数据丢失?多人修改?操作数据库?是否只能操作结构化数据?
(2)存储和数据库的简介。什么是存储系统?在老师解读下:一个提供了读写控制类接口,能把数据安全持久化的软件。它的特点:敏感,作为后端系统的基石;性能会受硬件影响;代码相对简单;这之后还介绍了RAID技术,也对照了我上学期操作系统的内容。讲完了存储系统,那么数据库又和存储系统有何区别呢?首先,数据库最常见的分类:关系型和非关系型即NoSQL类,个人项目常见的关系型MYSQL,企业型ORCLE;非关系型的Redis,典型的kv存储,还有未接触过的MongoDB。说到这,什么是关系?简单说关系即集合,不准确的说,在学习SQL连接查询时感受明显,一张表跟一张表通过相同含义的列(关系)联系。课中讲述关系型数据库是存储系统,并且有着其他的能力:对结构化数据友好(表中数据单条显示,独立且完善),支持SQL(快速增删改查),事务(最经典的ACID,原子,一致,隔离,持续);相比NoSQL类,更适合半结构化数据,支持事务和SQL。典型SQL就不赘述了,算起来SQL是我大学阶段个人最早接触的一门语言,给我带来了不少的难以言喻体验和感受。
(3)主流产品剖析。这部分又分为了五小点:单机存储,分布式存储,关系型单机存储,非关系型单机,分布式数据库。单机即不涉及网络交涉。课中老师介绍到Linux文件系统的两大数据结构,“Index Node” 和 “Direction EnTry”。iNode在格式化文件系统时就确定了,记录了文件元数据,如id,大小,位置,权限,是一个文件的唯一标识;而dEntry记录的是iNode指针,层级关系,他是内存结构,对应于INode为多对一。回到正题,单机存储,kv,put,get。介绍完分布式存储,数据库与单机后,介绍了主流的几种DBMS;以及引入分布式对数据存储的优势:弹性,性价比等等
(4)最后一部分:新技术的引进,存储或者说数据库的未来,新的软件架构?引入Ai对存储数据优化?更高级的硬件支持?还在PPT最后对课程进行了总结。
总而言之,之所以回顾这门课,既是本人对数据库方面的兴趣,也是他也对应了今天课程讲解的redis相关内容。除此,他处在为数不多我能理解明白的课程内,教会了我新的存储知识。最后感谢马浩翔老师精彩的讲述!