Cloud · Tech

介绍云存储

传统存储一般适用于高性能计算、事务处理等应用(例如MySQL),而云存储是面向多类型的网络在线存储服务(例如Web应用、云盘网盘的业务系统)。在IT时代,传统的计算力(例如用关系型数据库来处理结构化数据等)是服务于系统硬件隔离环境下的多用户使用场景的。而云计算时代是多客户Self-Service租用环境,各种计算负载场景更加复杂。例如,在公有云环境下,随着用户的增多,以及用户业务和数据的增长,备份、 性能、迁移、升级、只读实例、磁盘容量、Binlog 延迟等相关问题渐渐显现出来。这背后大部分原因是由于 I/O 瓶颈(存储和网络)导致。

常见的存储类型:

  • 块存储:
    • DAS存储(服务器直接连接磁盘)
    • 磁盘阵列(SAN)需要通过专门的光纤交换机或者光纤卡连接到设备上。优点:使用多块廉价磁盘组合。可并行写入,提升传输速度和读写效率。缺点:成本投入高、无法实现多台设备之间的容量和宽带共享。
  • 文件存储:FTP、NFS服务器、NAS存储
  • 对象存储:控制系统与数据分离,内置大容量硬盘的分布式服务器。兼具了SAN高速直接访问磁盘特点及NAS的分布式共享特点。

云存储是一种新兴的网络存储技术,是指通过集群应用网络技术分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的系统。常见到的存储架构包含一个Restful API以访问存储的前端。后端实现了控制平面(管理平面)和数据平面。通过传统的数据放置算法实现各种功能和对数据的物理存储。如下图所示:

云存储的发展有主要有以下三个促进的因素:

  • 云存储技术的发展:存储技术、网络技术、分布式技术、虚拟化技术等等。
  • 大数据存储:IDC预测,从2013年4.4ZB增长到2020年44ZB,90%的数据量增长来自于非结构化数据。云存储技术最擅长处理大量非结构化数据和归档数据,比如信用卡、抵押贷款申请或病历数据等等。
  • 数据安全:数据安全严重制约了云存储的发展,但同时又不断促进厂商对数据存储安全的研究与改善。

云存储的基本特征:

  • 分布式的并行扩展架构(横向扩展 scale-out)
  • 灵活性的配置,弹性扩展,可以达到更好的性价比
  • 数据冗余与容错
  • 数据传输过程加密,数据存储安全加密
  • 资源共享性,提供公共服务支持功能

延伸扩展:

云存储行业形势及解决方案

市面上的存储系统可大致分为通用存储和特定场景的存储系统。下面这张图(2016 — Storage Innovation Landscape)基本概括了业界已知的一些存储产品:

对象存储(例如amazon S3),这类系统近年来受到的关注比较大,也比较易于使用。他们的接口偏向于应用层上层,具有HTTP Restful的接口,也符合web2.0的发展趋势。这类系统通常被设计成一个K-V系统。寻址速度也不会随着集群文件数量增加而下降,做到了真正的线性拓展。

腾讯云

腾讯云多副本冗余要求底层为三份副本存储,要求任何一份数据异常,另外两份数据必须是可用的,要求三份数据严格一致,业界通常的解决方案有两种:

腾讯云硬盘的解决方案,客户端发起写请求到主副本上,同时向两个备副本进行写入操作,当两个写备副本完成后会向主副本通知,然后写主副本完成后通过写返回告诉客户端完成冗余备份。读请求是直接向主副本发起就行了。

当磁盘发生故障时,数据要尽可能的快速恢复,可以采用增量恢复技术。磁盘每个分区是由很多物理单元块(block)组成的,每一个数据块都有一个序列号。当数据块进行更新的时候,序列号会自动的进行增长。在写操作的时候,数据是写到缓存然后再写到磁盘中。当磁盘发生故障时,数据无法写入磁盘中,数据在缓存区域中。数据恢复的过程中,后台进程通过比较故障结点中的块标识(序列号)和主节点中的块标识。如果是块序列号相同,那么就不需要进行恢复了,从而避免了整个磁盘做全量的恢复,提高了恢复速度。

comments powered by Disqus