杉岩数据CTO:对象存储将成为企业存储新标准

2023-10-09 18:48

本文主要是介绍杉岩数据CTO:对象存储将成为企业存储新标准,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

微博、微信、直播等互联网应用的风靡,带来了海量的图片、音频和视频文件,这些非结构化数据的容量、文件的数量已经超越了传统NAS存储的处理能力,因此各大互联网厂商根据自身特点发展出了适合业务需求的分布式存储架构,如:Google的GFS,亚马逊的AWS S3,以及FaceBook的Cassandra等等。特别是亚马逊2006年推出的AWS S3对象存储,其定义的S3接口已经逐渐成为非结构化数据存储的事实标准。

知名分析机构IDC的报告预测,到2020年非结构化存储数据量将达到410EB,相比2015年增长4倍,而对象存储占文件存储总容量的70%以上。报告显示,2015-2020年对象存储市场营收的年均复合增长率将达到8.7%。非结构化数据量的暴增及对象存储时代的到来,让企业用户越来越意识到对象存储技术的重要性,基于对象存储领域多年的实践经验,今天有幸和大家分享我的一些积累和见解。

图片描述
图:杉岩数据CTO 邱尚高

传统NAS存储制约业务的发展

“互联网+”趋势的推进以及各类智能终端的普及,非结构化数据呈现出爆发性增长,如:金融业务办理的开户视频、互联网金融行业的申请资料、保险行业的理赔资料、快递行业的电子快递单、安防行业的视频监控录像等。同时,为了满足政策合规性,部分行业监管要求长时间保存以供查询取证。

如今,这些传统企业的IT部门正在经历着互联网公司曾经遭遇的NAS无法解决的存储难题,主要体现在如下方面:NAS存储采用古老的文件系统技术,单个文件系统容量受限,超过容量后对IT运维将带来巨大挑战;NAS存储的目录文件系统采用B+树进行文件索引,当文件数量过多时,会严重影响访问性能;NAS设备过维保后,由于非结构化数据规模较大,在更换时需要花费大量时间,且数据迁移存在风险等等。

那么,相对于传统NAS文件存储而言,对象存储到底可以带来哪些颠覆性的技术优势,接下来和大家做一些简单分享。

对象存储将成为企业存储的新标准

分布式去中心架构,容量和性能扩展方便

对象存储普遍采用的是基于通用x86服务器+分布式对象存储软件的技术架构,对象存储软件将多台服务器通过以太网连接,构建成一个统一的存储资源池,可动态增加或删除服务器实现容量的调整,数据能够自动均衡,并且利用副本和纠删机制(类似于RAID5/6)实现数据的高可靠和高可用性。

传统NAS过维保后,需要将过保设备上的数据人工迁移到新购置的NAS上,文件数量较多的用户需要花1到2个月时间,运维人力消耗非常大。而采用如下图所示的分布式架构,可以动态移除旧设备,无需人工干预,业务也不受影响。

创新的索引技术,真正解决海量小文件问题

海量小文件的存储是工业界和学术界公认的难题,解决问题较为关键的技术点就是优化元数据管理,由于传统NAS采用B+树进行文件检索,当文件数量比较少的时候,B+树基本可以被缓存,性能还是不错的。但随着文件数量的增多,B+树占用空间非常大无法被缓存时,就会涉及到机械盘操作导致性能明显下降,如果层级较深,仅仅索引访问就会产生多次磁盘随机访问操作,严重影响文件的访问性能。

而对象存储普遍采用了分布式哈希查找算法(DHT),技术原理:在建立集群时,对象存储将整个存储空间划分成一个哈希环,每个磁盘负责哈希环中部分哈希分区的存储。当需要访问一个文件时,系统通过“目录/桶名+文件名”的哈希计算后,查询DHT表即可定位到具体磁盘进行文件访问。由于哈希环并不随文件数量的增加而增多,所以查找性能不会受到文件数量的影响。

超大容量单目录,满足业务生命周期存储需求

传统NAS存储采用文件系统技术,单个文件系统容量普遍在几十TB级。由于IT管理人员在业务上线前无法对规范容量和目录需求做出精准评估,对于某些产生数据量较大的业务系统来说,需要挂载多个文件系统目录,这会带来很多非增值的运维工作。

而对象存储采用扁平化的文件名唯一定位方式,单个目录或者存储空间能达到数十PB甚至数百PB级,可以满足业务系统整个生命周期的存储容量需求,无需挂载目录和调整业务系统,让IT人员更加关注业务价值本身。

更加适用于多数据中心容灾场景

高效的业务系统容灾方案是企业IT部门最为关注的焦点之一。对象存储在接口方面的技术改良,使其在多数据中心容灾方面支持得更加完善,大部分对象存储厂商都支持两个及以上的多数据中心容灾。传统NAS往往是主备模式的容灾,而对象存储普遍支持Active-Active模式的容灾,可实现本地数据中心应用的就近访问。这对于采用负载均衡模式数据中心的企业来说,是非常有价值的,可以提升每个数据中心业务系统的访问性能。

实现私有云和公有云间的数据流通

随着企业互联网业务的发展,越来越多的应用运行在智能终端和公有云平台上,而考虑到安全性和保密性,数据依然保存在企业内部。传统NAS的CIFS/NFS协议只能被企业内网访问,无法直接提供给外部网络。对象存储最早被应用在互联网和公有云场景,所以对象存储的访问协议(S3、SWIFT)都是基于HTTP标准协议,可支持内网和外网应用系统对存储的自由访问。

在安全性方面,数据采用AES进行加密传输,支持HTTPS保证传输链路安全。S3协议还定义了完整的多租户访问、文件粒度的授权访问等多种安全技术,保证了数据开放给外网访问的安全性。

关于应用对象存储技术的一些建议

匹配对象存储典型的应用场景

传统文件存储主要有两种使用场景:一种是在线编辑场景,如媒资行业的现编系统存储,另一种是非在线编辑场景,主要是满足归档和查询需求,不需要对文件内容进行修改。在实际应用中,非在线编辑场景占数据总容量的80%以上。对象存储接口能够完全满足非在线编辑场景的需求,因此在此类场景中用户可以完全替换掉传统NAS。为了让用户更好地匹配对象存储的关键应用场景,我们做了如下总结:

1)文件数量特别多,访问性能受到影响的场景。例如:银行的影像资料、保险的电子保单、快递的电子快递单等等,对象存储可以保证在这种场景下的访问性能。

2)数据存储量特别大,需要长期保存的场景。例如:金融行业的双录、医疗行业的影像资料、提供客服中心服务的语音资料等等,利用对象存储的弹性扩展能力以及超大容量目录,保证业务系统整个生命周期不需要做任何变更。

3)互联网业务的使用场景,例如:互联网金融相关业务,对象存储可以实现互联网应用对企业内部文件的安全访问,让数据在企业内部和互联网间高效流动。

4)多数据中心共享场景,例如:跨地域的文件共享、总部与分支机构文件的共享与归集等应用场景。

重视厂商的技术服务能力

虽然AWS S3协议已成为对象存储的事实标准,其数据访问接口相对传统文件系统访问接口更加简单。但由于S3接口相比NAS提供更加丰富的功能,包括:权限管理、租户管理、标签、外链、配额、多版本、生命周期、多数据中心策略等上百个API接口,如何充分利用好这些接口,帮助业务系统提高数据安全性、优化业务性能、优化存储管理、优化多数据中心访问方式和存储策略等方面,可能需要有对象存储部署经验的厂商来协助。

因此,我们建议在引入对象存储技术的同时,用户应该更多地关注厂商对于应用开发技术的服务能力,实现对象存储部署价值的最大化。

【关于杉岩数据】企业级软件定义存储(SDS)方案和服务提供商,“+存储”理念的倡导者和践行者,由来自世界500强企业的专业存储团队为技术班底组成。帮助企业级用户轻松应对IT向云迁移的存储挑战,为大数据时代的商业决策提供智能存储。

这篇关于杉岩数据CTO:对象存储将成为企业存储新标准的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/174834

相关文章

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

SpringBoot3.X 整合 MinIO 存储原生方案

《SpringBoot3.X整合MinIO存储原生方案》本文详细介绍了SpringBoot3.X整合MinIO的原生方案,从环境搭建到核心功能实现,涵盖了文件上传、下载、删除等常用操作,并补充了... 目录SpringBoot3.X整合MinIO存储原生方案:从环境搭建到实战开发一、前言:为什么选择MinI