这是我参与「第五届青训营 」伴学笔记创作活动的第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。
存储器本质上存储的是状态,不同状态对应不同数据。