这是我参与「第五届青训营 」伴学笔记创作活动的第 13 天
本篇笔记主要记录一下带你认识存储的本质 - 状态的学习知识
1.存储&数据库简介
存储系统:一个提供读写、控制类接口,能够安全有效地把数据持久化的软件
存储系统的特点:
- 性能敏感
- 软件架构容易受硬件影响
- 代码简单又复杂
RAID:
数据库:分为关系型数据库和非关系型数据库
- 关系型数据库:存储系统,但是在存储之外又发展出其他能力,(结构化数据友好、支持事务、支持复杂查询语言)
- 非关系型数据库:也是存储系统,但是一般不要求严格的结构化,(半结构化数据友好、可能支持事务、可能支持复杂查询语言)
2.主流产品剖析
1.单机存储
单机存储:单个计算机节点上的存储系统软件,一般不涉及网络交互
- 本地文件系统
- key-value存储
2.分布式存储
分布式存储:在单机存储基础上实现了分布式协议,涉及大量网络交互
- 分布式文件系统
- 分布式对象存储
分布式存储系统:比较出名的是HDFS和Ceph
HDFS:大数据时代的基石
HDFS核心特点:
- 支持海量数据存储
- 高容错性
- 弱POSIX语义
- 使用普通x86服务器,性价比高
Ceph:开源分布式存储系统中的万金油
Ceph核心特点:
- 一套系统支持对象接口、块接口、文件接口,但是一切皆对象
- 数据写入采用主备复制模型
- 数据分布模型采用CRUSH算法
3.单机数据库
单机数据库:单个计算机节点上的数据库系统,事务在单机内执行,也可能通过网络交互实现分布式事务
- 关系型数据库
- 非关系型数据库
关系型数据库:商业产品中最出名的是Oracle,开源产品中最出名的是MySQL和PostgreSQL
非关系型数据库:三大知名产品,分别是Redis、MongoDB、Elasticsearch
4.分布式数据库
解决方式:存储节点池化,动态扩缩容
还需要解决的问题:
3.新技术演进
4.总结
人生苦短,不如go浪一下。