存储与数据库|青训营笔记

76 阅读2分钟

存储系统

提供了读写与控制接口,能够安全有效地把数据持久化的软件,即为存储系统。

从存储层次结构来说,体积越小,读写速度越快,相应的价格就越昂贵。

关键字:缓存,减少拷贝,抽象统一的接口

提问:单机存储系统如何做到“三高”? (高性能、高性价比、高可靠性)

使用RAID技术

使用多块较小磁盘组合,较便宜;

多块磁盘并发性能更好;

多块磁盘可以构成镜像盘,提高其容错性;

数据库

分为关系型与非关系型

关系型数据库

特点:

结构化数据友好

支持事务(ACID)

支持SQL(复杂的查询语言)

产品:MYSQL,PostgreSQL(开源)、Oracle(商业化,收费)

image.png 非关系型数据库

特点:

半结构化数据友好

可能支持事务(ACID)

可能支持SQL(复杂的查询语言)

产品:Redis、Elasticsearch、MongoDB

image.png

提问:何为“ACID”?

原子性

持久性

隔离性

一致性

单机存储与分布式存储

单机存储:单个计算机上的软件存储系统,一般不涉及网络交互

使用本地文件系统,以及k-v存储

Linux经典哲学---一切皆文件

Linux两大数据结构:iNode dEntry

k-v存储:常用put(k,v),get(k);常见数据结构:LSM-Tree(牺牲读性能,追求写入性能)

分布式存储:在单机存储基础上实现了分布式协议,有大量的网络交互

大数据时代的基石--HDFS

HDFS特点:

支持海量存储;高容错性;弱POSIX语义;使用普通X86服务器,性价比高。

开源分布式的万金油---Ceph

核心特点:支持对象、块、文件接口,万事万物皆对象; 数据写入采用主备复制模型;数据分布模型采用CRUSH算法(Hash+权重+随机抽签)