云存储技术体系

简介: 云存储涉及的知识面很广,既涉及云存储服务端的技术,又涉及终端设备应用开发相关的技术。本文章关注云存储系统服务端技术。 云存储技术体系结构分为四层:硬件层、单机存储层、分布式存储层、存储访问层,下面分别介绍。

云存储涉及的知识面很广,既涉及云存储服务端的技术,又涉及终端设备应用开发相关的技术。本文章关注云存储系统服务端技术。

云存储技术体系结构分为四层:硬件层、单机存储层、分布式存储层、存储访问层,下面分别介绍。

硬件层

硬件层包括存储、网络以及CPU。在存储方面,除了传统的SAS或者SATA磁盘,SSD技术发展迅猛;在网络方面,千兆网卡已经普及,万兆网卡离我们越来越近,Google这样的互联网巨头已经开始会试通过软件自定义交换机;在CPU层面,IntelX86架构成为主流,低功耗逐步成为研究热点。为了降低成本和能耗,云存储服务提供商往往会定制服务器,甚至自建数据中心,需要考虑电源、冷却、PUE(Power Usage Eficiency,能源使用效率)等各种问题。

主机存储层

云存储系统的底层大多为定制的Linux操作系统,服务提供商需要在文件系统、网络协议以及CPU和内存使用上对Linux系统进行大量的定制化工作。单机存储系统大致分为两类:传统的关系数据库以及NoSQL存储系统。关系数据库支持二维的关系模式,并提供关系数据库查询语言SQL,支持事务,索引等操作,使用比较方便。

NoSQL存储系统则百花齐故,常见的NoSQL系统包括仅支持根据主键进行CRUD(Create,Read,Update,Delete)操作的键值(Key-Value)存储系统,也有基于传统的B树或者LSM树(Log-Structured Merge Tree)的存储系统。

分布式存储层

分布式存储层是云存储技术的核心,也是最难实现的部分。分布式存储系统需要能够将数据均匀地分散到多个存储节点上,另外,为了保证高可靠性和高可用性,需要将数据复制到多个存储节点并保证一致性。当存储节点出现故障时,需要能够自动检测到节点故障并将服务迁移到其他正常工作的节点。分布式存储层依赖一些基础服务,常见的包括分布式锁服务(例如Google Chubby系统),以及集群资源管理服务(例如Google Borg系统)。另外,分布式存储层包含分布式缓存以及服务总线,分布式缓存用于提高访问性能,服务总线用于云平台应用逻辑解耦。云存储系统既存储无结构化数据,又存储半结构化以及结构化数据,分别对应分布式文件系统、分布式表格系统以及分布式数器库,面CDN以及P2P技术将云存储系统中的热点数据缓存到离用户较近的边缘节点或者临近的其他用户的客户端,从而起到访问加速的作用,并且节省云存储服务提供商的网络带宽成本。

存储访问层

云存储系统通过存储访问层被个人用户的终端设备直接访问,或者被云存储平台中托管的应用程序访问。云存储访问层的功能包括:Web服务、负载均衡、安全服务以及计费。云存储系统对外提供统一的访问接口,常见的接口是REST或者SOAP这样的Web服务,需要通过Apache或者Nginx这样的Web服务器进行协议转化,Web服务器端经常使用LVS(Linux Vitual Server)、HaProxy这样的软件或者专业的负载均衡设备(如F5负载均衡器)进行负载均衡。存储访问层需要提供安全和计费服务、安全服务包括身份认证、访问授权、综合防护、安全审计、Ddos攻击预防/防火墙等。

用户的应用程序可能会托管在应用运行平台中,应用场景大致分为三类:

  • 弹性计算平台。典型的弹性计算平台为Amazon EC2以及Microsoft的各种虚拟机实例,底层涉及的技术包括虚拟机、自动伸缩。弹性计算平台通过虚拟机自身的机制来保证云安全,比如虚拟机安全隔离、虚拟机防火墙。基于虚拟机的弹性计算平台的优势在于兼容性,支持各种编程语言和平台。
  • 云引擎。典型的云引擎为Google AppEngine,底层设计的涉及的技术主要是应用容器(比如Java Tomcat、Jetty,Python Runtime)以及应用容器自动伸缩。当应用的负载过高时,自动增加应用的运行容器数;反之,自动减少应用的运行容器数。云引擎通过应用容器的沙箱机制来保证安全性,AppEngine的沙箱环境通过限制每个请求的执行时间来防止多租户之间干扰,另外,限制应用程序对网络、文件进行一些危险操作。云引擎与云存储服务提供商结合较好,但是对于每种不同的编程语言都需要定制相应的应用容器,对编程语言和平台支持比较有限。
  • 分布式计算。云平台往往会支持分布式计算,通过后台的计算实例执行耗时较长的计算任务。MapReduce是最为常见的分布式计算模型,云平台一般都支持开源的Hadoop MapReduce计算框架。除了MapReduce之外,还有很多针对特定应用场景的计算模型,例如MPI(Message Passing Interface)、BSP(Bulk Synchronous Parallel)等。
目录
相关文章
|
弹性计算
阿里云开Minecraft服务器配置选择及价格表
阿里云服务器搭建Minecraft我的世界CPU内存配置怎么选择?公网带宽和系统盘选择多少合适?一般20人以内玩家、1.12版本的大型整合包、100个以内个轻量mod,2核4G配置就够用了,公网带宽选择3M或5M都可以,系统盘就高效云盘40GB够用了
2001 0
阿里云开Minecraft服务器配置选择及价格表
|
算法 测试技术
EvalPlanner:基于“计划-执行”双阶段的大语言模型评估框架
EvalPlanner是一种创新的大语言模型(LLM)评估算法,采用计划-执行双阶段范式,生成无约束的评估计划并执行,从而提升评估的系统性和可靠性。该系统包含评估计划、计划执行模块和最终判决三个核心组件,通过自训练循环优化计划和执行过程。EvalPlanner在多个基准测试中表现出色,特别是在数据效率和泛化能力方面,为构建高效、稳健的LLM评估模型提供了新方向。
524 13
EvalPlanner:基于“计划-执行”双阶段的大语言模型评估框架
|
2月前
|
人工智能 搜索推荐 测试技术
2026年Geo优化师选师指南:学习Geo应该找哪位专家老师?
随着AI重塑搜索生态,GEO(生成式引擎优化)成为企业增长新刚需。2026年,全球市场规模将达380亿元,但超半数企业面临效果难量化、优化不稳定等挑战。IDC数据显示,仅30%企业实现可衡量增长。在此背景下,具备E-E-A-T权威标准与实战能力的导师至关重要。于磊老师首创“两大核心+四轮驱动”体系,融合人性化内容与可信验证,助力传统制造企业询盘增长120%,打造AI时代可持续获客范本,被公认为最具普适性与前瞻性的GEO领路人。
192 5
|
存储 自然语言处理 运维
服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka
这里就平时经常用到的服务发现的产品进行特性的对比,总的来看,目前Consul 自身功能,和 spring cloud 对其集成的支持都相对较为完善,而且运维的复杂度较为简单,Eureka 设计上比较符合场景,但还需持续的完善。
5840 0
|
4月前
|
人工智能
一个帮运营写产品详情页的AI指令
分享一套实用的电商详情页AI生成指令模板,涵盖标题、卖点、场景、参数、保障等核心模块,帮助运营、产品经理等快速产出80分初稿,大幅提升效率。适配主流AI工具,结合人工优化,轻松应对多平台需求。
1428 7
高频面试题:如何分别用三种姿势实现三个线程交替打印0到100
高频面试题:如何分别用三种姿势实现三个线程交替打印0到100
1009 0
|
存储 安全 数据库
阿里云最新域名注册和续费、企业邮箱、云虚拟主机收费标准与价格参考
域名注册和续费以及企业邮箱和云虚拟主机是很多用户上云第一步需要购买的产品,从2024年9月1日开始,全球域名又迎来了一波价格上调,目前阿里云的.com英文域名的注册价格由原来的78元涨价到了83元,续费价格也涨到了90元,不过企业新用户注册有1元购等活动。企业邮箱目前活动价540.00元/1年起,云虚拟主机独享基础增强版月付49元/1个月起,年付588元/1年起。本文为大家整理汇总了截止目前,阿里云域名注册和续费及转入收费标准、企业邮箱收费标准与活动价格、云虚拟主机最新收费标准,以供参考。
|
Linux API 调度
xenomai内核解析-xenomai实时线程创建流程
本文介绍了linux硬实时操作系统xenomai pthread_creta()接口的底层实现原理,解释了如何在双内核间创建和调度一个xenomai任务。本文是基于源代码的分析,提供了详细的流程和注释,同时给出了结论部分,方便读者快速了解核心内容。
541 0
xenomai内核解析-xenomai实时线程创建流程
|
SQL 安全 前端开发
如何做好研发FO角色?
如何做好研发FO角色?角色定位包含哪些能力要求和权利责任,项目过程中包含哪些核心里程碑节点以及交付物,FO对于项目过程管理需要具备哪些把控原则,针对风险和问题的治理手段和干预策略,协作过程的核心动作
2080 0
如何做好研发FO角色?
|
SQL 安全 关系型数据库
关系型数据库SQL server DELETE 语句
【8月更文挑战第3天】
478 10

热门文章

最新文章