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

本文涉及的产品
对象存储 OSS,20GB 3个月
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
对象存储 OSS,内容安全 1000次 1年
简介: 背景 本文主要对杨传辉(日照)《大规模分布式存储系统原理解析与架构实战》、大话存储、网络资源(具体参考文末链接)及个人理解进行整理,意在构建出存储发展基本轨迹和一些基本常识,让更多像我一样的初入者有个宏观上的认知。   存储发展史 从单机到互联网,存储作为的基础设施,主要发展都是围绕构建 低成本、高性能、可扩展、易用的目标进行演进,时至今日,在形态上存储分为单机存储、集中存储、分

背景

本文主要对杨传辉(日照)《大规模分布式存储系统原理解析与架构实战》、大话存储、网络资源(具体参考文末链接)及个人理解进行整理,意在构建出存储发展基本轨迹和一些基本常识,让更多像我一样的初入者有个宏观上的认知。

 

存储发展史

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

各阶段存储的基本形态如下

 

各阶段基本形态

 

存储数据分类 & 模型

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

 

数据分类

 

数据模型

 

 

 

存储类型

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

块存储

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

  • DAS(Direct Attch Storage), 直连主机存储方式
  • SAN (Storage Area Netowrk),高速网络链接主机存储方式

 

文件存储

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

 

对象存储

构建于键值存储,核心是将数据通路(data)和控制通路(meta)分离,并且基于对象存储设备(Object-based Storage Device,OSD)构建存储系统,对外以RSETful API形式服务

 

 

单机存储

基本概念

单机存储系统是单机存储引擎(数据结构在机械磁盘、SSD等持久化介质上的实现)的一种封装,对外提供文件、键值、表格或者关系模型的存储服务。

 

存储引擎

存储引擎是存储系统的发动机,决定了存储系统能够提供的功能和性能, 提供功能包含:

  • 增加(Create)
  • 读取(Retrieve),随机读取和顺序扫描
  • 更新(Update)
  • 删除(Delete)

 

引擎间差异如下:

引擎

机理

支持

不支持

对应的存储系统

哈希存储引擎

哈希表的持久化实现。基于哈希表结构的键值存储系统,数组+链表的方式实现

增、删、改、随机读取

顺序扫描

键值(Key-Value)存储系统

B树存储引擎

B树的持久化实现

增、删、改、随机读取 & 顺序扫描

 

关系数据库

 

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

与B树类似,区别在于把一棵大树拆分成N棵小树写时,先写入内存中,到一定阈值后,写入磁盘,磁盘中的树定期可以做merge操作,合并成一棵大树,以优化读性能

增、删、改、随机读取 & 顺序扫描

 

 

Bigtable; HBase;

 

 

集中式存储

基本概念

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

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

 

系统构成

  • 机头,整个存储系统的核心部件,通常由控制器、前后端口组成,
    • 控制器,通常有二,实现互备高可用,控制器中的软件实现对磁盘的管理,将磁盘抽象化为存储资源池,然后划分为LUN提供给服务器使用。
    • 前后端口,前端端口用户为服务器提供存储服务,后端端口用于扩充存储系统的容量(连接更多的存储设备)
  • 磁盘柜(Just a Bound Of Disk , JBOD),磁盘挂在服务器外的专用柜里,有独立电源、散热、接口等,内部线缆相连(SCSI),对机头后端端口统一挂载

 

分布式存储

基本概念

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

 

系统分类

 

设计原则

参考CAP

 

 

云存储

基本概念

云存储,是一种云计算领域存储服务方式,底层构建在分布式存储基础之上,上层通过Internet形式提供存储服务,除具备分布式存储基础特性外,更兼具灵活性,通常由云厂商提供

 

参考产品

 

 

云原生存储

基本概念

云原生存储脱胎于云存储,除具备云存储的特性外、须满足具备云原生生态系统中其他所有组件具备相同的动态(公共云/专有云/混合云等场景)构建可扩展应用、S3 API 驱动、K8S友好等

 

 

参考示例

Rook

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

Rook Architecure

 

 

 Ceph Rook integrates with Kubernetes

 

 

MinIO

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

Born cloud native

 

 

参考

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2月前
|
人工智能 Kubernetes Cloud Native
深度对话 解锁阿里云分布式云原生技术落地新姿势
深度对话 解锁阿里云分布式云原生技术落地新姿势
深度对话 解锁阿里云分布式云原生技术落地新姿势
|
3月前
|
存储 分布式计算 算法
探索Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式
在配置Hadoop集群之前,了解这三种模式的特点、适用场景和配置差异是非常重要的。这有助于用户根据个人需求和资源情况,选择最适合自己的Hadoop运行模式。在最初的学习和开发阶段,单机模式和伪分布式模式能为用户提供便利和成本效益。进而,当用户要处理大规模数据集时,完全分布式模式将是理想的选择。
181 2
|
3月前
|
运维 安全 Cloud Native
核心系统转型问题之保障云原生分布式转型中的基础设施和应用层面如何解决
核心系统转型问题之保障云原生分布式转型中的基础设施和应用层面如何解决
|
3月前
|
监控 Cloud Native 容灾
核心系统转型问题之API网关在云原生分布式核心系统中的功能如何解决
核心系统转型问题之API网关在云原生分布式核心系统中的功能如何解决
|
3月前
|
运维 Cloud Native 安全
核心系统转型问题之确保核心系统云原生分布式转型的安全可靠性如何解决
核心系统转型问题之确保核心系统云原生分布式转型的安全可靠性如何解决
|
3月前
|
Cloud Native 关系型数据库 分布式数据库
什么是云原生数据库PolarDB分布式版
本文介绍什么是云原生数据库PolarDB分布式版,也称为PolarDB分布式版,本手册中简称为PolarDB-X。
92 0
|
3月前
|
运维 Cloud Native 容灾
核心系统转型问题之云原生分布式核心,业务敏捷该如何实现
核心系统转型问题之云原生分布式核心,业务敏捷该如何实现
|
3月前
|
运维 Cloud Native 容灾
核心系统转型问题之云原生分布式核心运维成本如何降低
核心系统转型问题之云原生分布式核心运维成本如何降低
|
3月前
|
运维 Cloud Native
核心系统转型问题之提升云原生分布式转型的效率如何解决
核心系统转型问题之提升云原生分布式转型的效率如何解决
|
3月前
|
运维 监控 Cloud Native
核心系统转型问题之开展核心云原生分布式转型如何解决
核心系统转型问题之开展核心云原生分布式转型如何解决