存储的本质 |青训营笔记

74 阅读3分钟

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

认识存储与数据库

数据的持久化:校验数据的合法性->修改内存->写入存储介质。

存储系统:一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件。

存储系统的特点:性能敏感,容易受硬件影响。

存储器层级结构

RAID 0+1:真实空间利用率50%,容错能力强,写入带宽好。

关系:任意元素组成的若干有序偶对反映了事物间的关系。

关系代数:对关系作运算的抽象查询语言。

SQL:方便人类阅读的关系代数表达式。

关系型数据库特点:结构化数据友好,支持事务,支持复杂查询语言。

非关系型数据库特点:半结构画数据友好。

操作数据:Insert、Update、Select、Delete、Where、GroupBy、OrderBy。

数据定义修改操作:Create user、Create database、Create table、Alter table等。

现代计算机(或称为终端)直接或通过网络连接到存储设备。 用户指示计算机从这些存储设备访问数据并将数据存储到其中。 但根本而言,数据存储有两个基本要素: 数据所采取的形式,以及记录和存储数据的设备。

无论采用何种形式存储数据,用户都需要存储设备。 数据存储设备分为两大类: 直接区域存储和基于网络的存储。

主流存储产品剖析

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

单机存储系统实例:本地文件系统、key-value存储。

文件系统的管理单元:文件。

POSIX:可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX。

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

分布式存储实例:分布式文件系统、分布式对现象存储、HDFS、Ceph。

HDFS核心特点:支持海量数据存储、高容错性、弱POSIX语义、使用普通x86服务器、性价比高。

Ceph核心特点:支持对象接口、支持块接口、支持文件接口、一切皆对象、数据写入采用主备拇指模型、数据分布采用CRUSH算法。

单机数据库:单个计算机节点上的数据库系统,事务在单机内执行,也可能通过网络交互实现分布式事务。

单机数据库分类:关系型数据库、非关系型数据库。

关系型数据库直接使用SQL交互,非关系型数据库交互方式各不相同。

关系型数据库通用组件:Query Engine(负责解析query,生成查询计划)、Txn Manager(负责事务并发管理)、Lock Manager(负责锁相关策略)、Storage Engine(负责组织内存/磁盘数据结构)、Replication(负责主备同步)。

非关系型数据库代表:MongoDB、Redis、Elasticsearch。

存储器本质上存储的是状态,不同状态对应不同数据。