目录
2. 存储&数据库简介
3. 主流产品剖析
存储&数据库简介
数据库:概览,Edgar.F.Codd于1970年提出「关系棋型」。关系代数一对关系作运算的抽象查询语言 •交并、笛卡尔积。关系二集合一任意元素组成的若干有序偶对 反应了事物间的关系。SQL = 一种DSL = 方便人类阅读的关系代数表达形式。关系型数据库特点,关系型数据库是存储系统,但是在存储之外,又发展出其他能力。结构化数据友好,支持事物(ACID),支持复杂查询语言。非关系型数据库特点,非关系型数据库也是存储系统,但是一般不要求严格的结构化。半结构化教据友好,可能支持事务 (ACID),可能支持复杂查询语言。
数据库 vs 经典存储:事务能力,凸显出数据库支持「事务」的优越性。事务具有:Altomicity)。事务内的操作要么全做,要么不做。Clonsistency),事务执行前后,数据状态是一致的。lsolation),可以隔离多个并发事务,避免影响。Dlurability),事务一旦提交成功,数据保证持久性。复杂查询能力,Q:写入数据之后,想做很复杂的查询怎么办?Exerple:请查询出名宇以xiao开头,且密码提示问题小于10个字的人,并按性别分组统计人数。
数据库使用方式:Everything is D(omain) S(pecific) L(anguage) 以SQL为例,要操作数据时,支持以下操作: • Insert Update Select Delete Where 7 g GroupBy OrderBy maybe SQL 要对数据定义做修改时,支持以下操作: Create user Create database Create table Alter table
主流产品剖析
单机存储:概览, 单机存储=单个计算机节点上的存储软件系统,一般不涉及网络交互 本地文件系统 key-value. 本地文件系统,Linux经典哲学:一切皆文件 文件系统的管理单元:文件 文件系统接口:文件系统繁多,如Ex12/3/4. sysfs,rootfs等,但都遵循VFS的统一抽象接口 Linux*175249 7 ***: Index Node & Directory Entry Index Node 记录文件元数据,如id、大小、权限、磁盘位置等 inode是一个文件的唯一标识,会被存储到磁盘上 inodo的总数在格式化文件系统时就固定了 Directory Entry 记录文件名、inode指针,层级关系(parent)等 dentry是内存结构,与inode的关系是N: 1(hardlink.