[ go学习day15| 青训营笔记]

58 阅读2分钟

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

1.经典案例一潜在的问题

数据库怎么保证数据不丢? 数据库怎么处理多人同时修改的问题? 为什么用数据库,除了数据库还能存到别的存储系统吗? 数据库只能处理结构化数据吗? 有哪些操作数据库的方式,要用什么编程语言?

2.1存储系统一系统概览

Q:什么是存储系统? A:一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统

2.1存储系统一RAID技术

Q:单机存储系统怎么做到高性能/高性价比/高可靠性? A : R(edundant) A(rray) of I(nexpensive) D(isks) RAID出现的背景: ·单块大容量磁盘的价格>多块小容量磁盘 ·单块磁盘的写入性能<多块磁盘的并发写入性能 ·单块磁盘的容错能力有限,不够安全

2.2数据库―概览

关系(Relation)又是什么? 关系代数=对关系作运算的抽象查询语言 Edgar.F.Codd于1970年提出「关系模型」 ·交、并、笛卡尔积 关系=集合=任意元素组成的若干有序偶对 反应了事物间的关系

凸显出数据库支持「事务」的优越性

事务具有: ·A(tomicity),事务内的操作要么全做,要么不做 ·C(onsistency).事务执行前后,数据状态是一致的 ·l(solation).可以隔离多个并发事务,避免影响 ·D(urability)),事务一旦提交成功,数据保证持久性

3.主流产品剖析—章节大纲

3.1单机存储 3.2分布式存储 3.3单机关系型数据库 3.4单机非关系型数据库

3.5分布式数据库

3.1单机存储一本地文件系统 Linux经典哲学:一切皆文件 文件系统的管理单元:文件 文件系统接口:文件系统繁多,如Ext2/3/4,sysfs,rootfs等,但都遵循VFS的统一抽象接口 Linux文件系统的两大数据结构: Index Node & Directory Entry