建站 报价,企业网站栏目设置说明,资源下载网站wordpress,广州海珠区好玩的地方背景 本文主要对杨传辉#xff08;日照#xff09;《大规模分布式存储系统原理解析与架构实战》、大话存储、网络资源(具体参考文末链接)及个人理解进行整理#xff0c;意在构建出存储发展基本轨迹和一些基本常识#xff0c;让更多像我一样的初入者有个宏观上的认知。
存储…背景 本文主要对杨传辉日照《大规模分布式存储系统原理解析与架构实战》、大话存储、网络资源(具体参考文末链接)及个人理解进行整理意在构建出存储发展基本轨迹和一些基本常识让更多像我一样的初入者有个宏观上的认知。
存储发展史 从单机到互联网存储作为的基础设施主要发展都是围绕构建 低成本、高性能、可扩展、易用的目标进行演进时至今日在形态上存储分为单机存储、集中存储、分布式存储、云存储、云原生存储
各阶段存储的基本形态如下
各阶段基本形态
存储数据分类 模型 无论单机存储、分布式存储、云存储都是基于特定应用场景下对指定数据类型构建对应的存储数据模型
数据分类
数据模型
存储类型 常见三种存储类型块存储、文件存储、对象存储
块存储 基于Block块的存储模式两种常见存储方式
DASDirect Attch Storage 直连主机存储方式 SAN (Storage Area Netowrk)高速网络链接主机存储方式
文件存储 依附网络提供文件存储服务 对象存储 构建于键值存储核心是将数据通路data和控制通路meta分离并且基于对象存储设备Object-based Storage DeviceOSD构建存储系统对外以RSETful API形式服务 单机存储 基本概念 单机存储系统是单机存储引擎数据结构在机械磁盘、SSD等持久化介质上的实现的一种封装对外提供文件、键值、表格或者关系模型的存储服务。 存储引擎 存储引擎是存储系统的发动机决定了存储系统能够提供的功能和性能, 提供功能包含
增加(Create) 读取(Retrieve)随机读取和顺序扫描 更新(Update) 删除(Delete)
引擎间差异如下
引擎
机理
支持
不支持
对应的存储系统
哈希存储引擎
哈希表的持久化实现。基于哈希表结构的键值存储系统数组链表的方式实现
增、删、改、随机读取
顺序扫描
键值Key-Value存储系统
B树存储引擎
B树的持久化实现
增、删、改、随机读取 顺序扫描
关系数据库
LSMLog-Structured Merge Tree树存储引擎
与B树类似区别在于把一棵大树拆分成N棵小树写时先写入内存中到一定阈值后写入磁盘磁盘中的树定期可以做merge操作合并成一棵大树以优化读性能
增、删、改、随机读取 顺序扫描
Bigtable; HBase
集中式存储 基本概念 集中式存储相对与单机存储而言存储系统中包含了更多组件除了机头控制器、磁盘阵列JBOD和交换机等设备外还有管理设备等辅助设备。
参考集中式存储的基本逻辑示意图
系统构成 机头整个存储系统的核心部件通常由控制器、前后端口组成 控制器通常有二实现互备高可用控制器中的软件实现对磁盘的管理将磁盘抽象化为存储资源池然后划分为LUN提供给服务器使用。 前后端口前端端口用户为服务器提供存储服务后端端口用于扩充存储系统的容量连接更多的存储设备 磁盘柜(Just a Bound Of Disk JBOD)磁盘挂在服务器外的专用柜里有独立电源、散热、接口等内部线缆相连SCSI对机头后端端口统一挂载
分布式存储 基本概念 分布式存储系统是将分散独立的存储设备通过网络互联系统关联对外作为一个整体提供存储服务。
系统分类 分布式文件系统 分布式键值系统 分布式表格系统 分布式数据库
设计原则 参考CAP
云存储 基本概念 云存储是一种云计算领域存储服务方式底层构建在分布式存储基础之上上层通过Internet形式提供存储服务除具备分布式存储基础特性外更兼具灵活性通常由云厂商提供
参考产品
引擎
对象存储
文件存储
块存储
AWS
Amazon Simple Storage Service (Amazon S3) Amazon Elastic File System (Amazon EFS) Amazon FSx for Windows File Server Amazon FSx for Lustre Amazon Elastic Block Store (EBS)
Aliyun
OSS
文件存储NAS 文件存储CPFS 文件存储HDFS 块存储
云原生存储 基本概念 云原生存储脱胎于云存储除具备云存储的特性外、须满足具备云原生生态系统中其他所有组件具备相同的动态公共云/专有云/混合云等场景构建可扩展应用、S3 API 驱动、K8S友好等 参考示例 Rook CNCF首个云原生存储项目Rook是将文件、数据块和对象存储系统引入到Kubernetes集群与其他正在使用存储的应用程序和服务一起无缝运行。通过这种方式云原生集群可以在公有云和本地部署中自给自足并且具备可移植性。该项目的开发目的是使企业能够通过动态应用编排为在本地和公有云环境中运行的分布式存储系统实现数据中心现代化。
Rook Architecure
Ceph Rook integrates with Kubernetes MinIO MinIO是一款高性能、软件定义的对象存储套件帮助客户构建云原生数据基础设施。可与 Kubernetes 集成允许操作员使用 Kubernetes 界面管理存储而 Kubernetes 可以处理从存储提供到卷放置的所有事务。
原文链接 本文为阿里云原创内容未经允许不得转载。