这是我参与「第五届青训营」伴学笔记创作活动的第11天
本文基于字节内部课+上网自学的内容。
3.主流产品剖析
1.单机存储
单机储存,不涉及网络交互。
本地文件系统(认为一切皆文件,以文件为单位管理一切)
key-value存储(顺序写入友好,读性能被牺牲了。拳头产品:RocksDB)
2.分布式存储
涉及大量网络交互,在单机的基础上实现分布式协议。
分布式文件存储系统
HDFS:大数据时代的基石。特点:支持海量数据存储、高容错性、弱POSIX语义(POSIX:可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ))使用普通x86服务器,性价比高
Ceph(开源分布式存储系统的万金油。 特点:一套系统支持对象接口、块接口、文件接口,一切皆对象、数据写入采用主备复制模型(有主库和备库之分)、数据分布模型采用CRUSH算法(。CRUSH(Controlled Replication Under Scalable Hashing)即为解决此问题而生,她仅需要一份描述集群物理架构的信息和预定义的规则(均包含在CRUSH map中),便可实现确定数据存储位置的功能。))
3.单机关系型数据库
商业产品:Oracle称王
开源项目:MySQL&&PostgreSQL
4.单机非关系型数据库
MongoDB(面向文档储存)\Redis\Elasticsearch三足鼎立
非关系型数据库(交互方式各不相同、schema相对灵活)
不管是关系型数据库还是非关系型数据库,大家都在努力尝试实现SQL(子集)和事务。
5.分布式数据库
单机数据库三大问题:容量(储存结点池化,动态扩缩)、弹性(扩缩容使容量不被担心)、性价比(同理,存储空间也不再是担忧的问题)。