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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 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

 

 

参考

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
16天前
|
存储 Kubernetes Cloud Native
【阿里云云原生专栏】云原生容器存储:阿里云CSI与EBS的高效配合策略
【5月更文挑战第29天】阿里云提供云原生容器存储接口(CSI)和弹性块存储(EBS)解决方案,以应对云原生环境中的数据存储挑战。CSI作为Kubernetes的标准接口简化存储管理,而EBS则提供高性能、高可靠性的块存储服务。二者协同实现动态供应、弹性伸缩及数据备份恢复。示例代码展示了在Kubernetes中使用CSI和EBS创建存储卷的过程。
70 3
|
9天前
|
存储 缓存 NoSQL
了解Redis,第一弹,什么是RedisRedis主要适用于分布式系统,用来用缓存,存储数据,在内存中存储那么为什么说是分布式呢?什么叫分布式什么是单机架构微服务架构微服务的本质
了解Redis,第一弹,什么是RedisRedis主要适用于分布式系统,用来用缓存,存储数据,在内存中存储那么为什么说是分布式呢?什么叫分布式什么是单机架构微服务架构微服务的本质
|
24天前
|
Cloud Native 数据管理 关系型数据库
【阿里云云原生专栏】云原生数据管理:阿里云数据库服务的分布式实践
【5月更文挑战第21天】阿里云数据库服务在云原生时代展现优势,应对分布式数据管理挑战。PolarDB等服务保证高可用和弹性,通过多副本机制和分布式事务确保数据一致性和可靠性。示例代码展示了在阿里云数据库上进行分布式事务操作。此外,丰富的监控工具协助用户管理数据库性能,支持企业的数字化转型和业务增长。
191 1
|
25天前
|
存储 弹性计算 Cloud Native
AutoMQ:如何基于阿里云计算与存储产品实现云原生架构升级
AutoMQ:如何基于阿里云计算与存储产品实现云原生架构升级
|
30天前
|
存储 Cloud Native 关系型数据库
PolarDB-X 是面向超高并发、海量存储和复杂查询场景设计的云原生分布式数据库系统
【5月更文挑战第14天】PolarDB-X 是面向超高并发、海量存储和复杂查询场景设计的云原生分布式数据库系统
136 2
|
30天前
|
存储 Cloud Native 对象存储
AutoMQ:如何基于阿里云计算与存储产品实现云原生架构升级
AutoMQ[1] 是新一代基于共享存储架构实现的云原生 Kafka。得益于其存算分离的共享存储架构,通过和阿里云合作,深度使用阿里云可靠、先进的云服务如对象存储OSS、块存储 ESSD、弹性伸缩ESS以及抢占式实例实现了相比 Apache Kafka 10倍的成本优势并且提供了自动弹性的能力。
83830 16
AutoMQ:如何基于阿里云计算与存储产品实现云原生架构升级
|
30天前
|
运维 Cloud Native 持续交付
构建未来:以云原生为基石的分布式系统架构深入理解操作系统的内存管理机制
【4月更文挑战第30天】 随着企业数字化转型的不断深入,传统的IT架构已难以满足市场对于敏捷性、可扩展性和成本效益的需求。云原生技术作为推动这一变革的关键因素,其设计理念和实现方式正在重塑软件开发和运维模式。本文将探讨云原生架构的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)、以及无服务器计算等,并分析其在构建分布式系统中的作用与挑战。通过实际案例,我们将展示如何利用云原生技术构建高效、弹性和可维护的分布式系统。
|
30天前
|
存储 分布式计算 Java
使用 Java 实现分布式计算和存储
【4月更文挑战第19天】本文探讨了使用 Java 实现分布式计算和存储,重点介绍了分布式计算的概念和分布式存储的优势。文中提到了Hadoop和Spark两大框架,以及HDFS和NoSQL数据库(如HBase)在存储上的应用。利用MapReduce和Spark API进行分布式计算,借助ZooKeeper实现节点协调,确保容错和可靠性。通过性能优化和调优,Java能构建高效、可靠的分布式系统,适应大数据时代的需求。
|
16天前
|
存储 弹性计算 监控
【阿里云云原生专栏】成本优化策略:在阿里云云原生平台上实现资源高效利用
【5月更文挑战第29天】本文探讨了在阿里云云原生平台上实现资源高效利用和成本优化的策略。通过资源监控与评估,利用CloudMonitor和Prometheus等工具分析CPU、内存等使用情况,识别浪费。实施弹性伸缩策略,利用自动伸缩规则根据业务负载动态调整资源。借助容器化管理和Kubernetes编排提高资源利用率,优化存储选择如OSS、NAS,以及网络配置如VPC和CDN。示例展示了如何使用Kubernetes的HorizontalPodAutoscaler进行弹性伸缩,降低成本。
62 4
|
16天前
|
边缘计算 Cloud Native 数据管理
【阿里云云原生专栏】云原生背景下的AIoT布局:阿里云Link平台解析
【5月更文挑战第29天】阿里云Link平台,作为阿里云在AIoT领域的核心战略,借助云原生技术,为开发者打造一站式物联网服务平台。平台支持多协议设备接入与标准化管理,提供高效数据存储、分析及可视化,集成边缘计算实现低延时智能分析。通过实例代码展示,平台简化设备接入,助力智能家居等领域的创新应用,赋能开发者构建智能生态系统。
67 3

热门文章

最新文章