最新消息:阿里云双12优惠,史上最低折扣。

图文存储常识:单机、集中、分布式、云、云原

云服务器 aliyun 266浏览

存储发展历程

从单机到互联网,存储作为基础设施的主要发展是围绕构建低成本、高性能、可扩展、易用的目标演进。如今,存储在形式上分为单机存储、集中存储、分布式存储、云存储、云原生存储

每个阶段的基本存储形式如下

每个阶段的基本形式

存储数据分类和模型

无论是单机存储还是分布式存储,云存储都是基于特定的应用场景,针对特定的数据类型构建相应的存储数据模型。

数据分类

数据模型

存储类型

三种常见的存储类型:块存储、文件存储、对象存储

块存储

基于块的存储模式,两种常见的存储方式:

DAS(Direct Attch Storage),直连主机存储模式

SAN(Storage Area Netowrk),高速网络链接主机存储方式

文件存储

依赖网络提供文件存储服务

对象存储

建立在key-value存储之上,核心是将数据路径(data)与控制路径(meta)分离,并基于对象存储设备(Object-based Storage Device,OSD)构建存储系统,对外提供服务以 RSETful API 的形式

独立存储

基本概念

独立存储系统是独立的存储引擎(机械盘中的数据结构,在SSD等持久性介质上实现的封装,为文件、键值、表或关系模型提供外部存储服务。

存储引擎

存储引擎是存储系统的引擎,它决定了存储系统能够提供的功能和性能。提供的功能包括:

创建

检索、随机读取和顺序扫描

更新

删除

发动机之间的区别如下:

引擎

机制

支持

不支持

通信存储系统

哈希存储引擎

哈希表持久化实现。基于哈希表结构的key-value存储系统,实现数组+链表

添加、删除、修改、随机读取

顺序扫描

键值存储系统

n

B树存储引擎

B树持久化实现

添加、删除、修改、随机读取和顺序扫描

关系数据图书馆

LSM(Log-Structured Merge Tree)树存储引擎

与B-tree类似,不同的是当一棵大树分裂成N棵小树时,先写入内存,达到一定阈值后写入磁盘,磁盘中的树可以定期合并形成一棵大树,优化读取性能

添加、删除、修改、随机读取和顺序扫描

大表; HBase;\n

集中存储

基本概念

与单机存储相比,集中存储包含的组件更多,除了磁头(控制器)、磁盘阵列(JBOD)和交换机等,还有管理设备等辅助设备。

参考:集中存储的基本逻辑图

系统组成

Head,整个存储系统的核心部件,通常由控制器、前后端口、

控制器,通常是两个,为了实现相互备份和高可用,控制器中的软件实现对磁盘的管理,将磁盘抽象为一个存储资源池,然后划分成LUN供服务器使用。

前后端口,前端端口用户为服务器提供存储服务,后端端口用于扩展存储系统的容量(连接更多的存储设备)

磁盘柜(Just a Bound Of Disk,JBOD),磁盘挂在服务器上,外置专用机柜内,有独立供电、散热、接口等,内部电缆连接(SCSI),统一安装到机头后端端口

分布式存储

基本概念

分布式存储系统,通过网络将分散的、独立的存储设备连接起来,将系统关联起来,作为一个整体对外提供存储服务。

系统分类

分布式文件系统

分布式键值系统

分布式表系统

分布式数据库

设计原则

参考CAP

云储存

基本概念

云存储是云计算领域的一种存储服务方式。底层建立在分布式存储的基础上,上层通过互联网提供存储服务。除了具备分布式存储的基本特性外,还更加灵活。云厂商提供

参考产品

引擎

对象存储

档案储存

块存储

自动售货机

亚马逊简单存储服务 (Amazon S3)

亚马逊弹性文件系统(亚马逊EFS)

适用于 Windows 文件服务器的 Amazon FSx

用于 Lustre 的 Amazon FSx

亚马逊弹性块存储 (EBS)

阿里云

开源软件

文件存储 NAS

文件存储 CPFS

文件存储 HDFS

块存储

云原生存储

基本概念

云原生存储诞生于云存储。除了具备云存储的特性外,还必须具备相同的动态(公有云/特殊云/混合云等场景)来构建可扩展的应用、S3 API驱动、K8S友好等。

参考示例

Rook

CNCF首个云原生存储项目Rook,是将文件、数据块和对象存储系统引入到Kubernetes集群,与其他正在使用存储的应用程序和服务一起无缝运行。通过这种方式,云原生集群可以在公有云和本地部署中自给自足并且具备可移植性。该项目的开发目的是使企业能够通过动态应用编排,为在本地和公有云环境中运行的分布式存储系统实现数据中心现代化。

Rook Architecure

Ceph Rook integrates with Kubernetes

MinIO

MinIO是一款高性能、软件定义的,对象存储套件,帮助客户构建云原生数据基础设施。可与 Kubernetes 集成,允许操作员使用 Kubernetes 界面管理存储,而 Kubernetes 可以处理从存储提供到卷放置的所有事务。

转载请注明:小猪云服务器租用推荐 » 图文存储常识:单机、集中、分布式、云、云原