对象存储的演进之路

每年创造的数据量都在呈指数级速度增长,几乎每个企业现在都依赖于技术,而这些业务所产生的信息可以说已经成为他们最大的资产。非结构化数据是最好的存储类型,其增长幅度最大。那么,我们如何使用对象存储技术,以及我们能够期待它带来什么?

什么是对象存储?

对象存储的发展源于对长期存储大量分结构化数据的高度弹性需求,回顾过去的20奶奶,我们有块存储(传统存储)和NAS设备(通常也作为文件服务器)。NAS并没有真正扩展到PB级,并且也没有提供长期数据保留的弹性水平。一般来说,企业使用磁带(Tape)来满足需求,但磁带是缓慢而低效的。

开发的对象存储通过提供在线访问内容来填补空白,多年来已经发展成为一种成熟的技术。利用纠删码(erasure coding,EC)等新的保护方法,通常可以解决在大型档案中数据保护的问题。

对象存储使用基于Web的协议来存储和检索数据,从本质上讲,大多数提供四个基元CRUD:创建(Create)、读取(Read)、更新(Update)、删除(Delete)。在很多情况下,Update只是为了与Delete和Create搭配。这意味着使用嵌入数据和关联元数据的HTTP发出基于REST的API调用与对象存储进行交互相对简单。

这种简单的操作突出了对象存储的一个问题:应用程序需要重新写入以使用对象存储API。厂商通过提供SDK来帮助完成这一过程,但需要更改应用程序。这个问题让我们看到了对象存储演进的第一个对象:多协议访问。

多协议

对象存储实现多协议访问已经有一段时间,以网关或附加软件的形式使用对象存储后端作为大容量池。这一举措带来的问题是它们是否真正提供来自不同协议栈的相同数据的并发访问。使用NFS存储和检索对象可以,但是使用NFS存储和使用基于Web的协议访问又会怎么样?

为什么企业希望有能力存储一种协议并通过另一种协议访问?提供NFS意味着应用程序可以在不修改的情况下使用对象存储。通过提供并发的基于Web的范文,分析工具可以访问数据,而不会引入以NFS协议相关的性能问题,例如锁定或多线程冲击同一对象。分析软件的典型值读配置文件意味着可以在不影响主应用的情况下分析数据。

很多物联网设备只能通过NFS存储,因此将这类内容纳入对象存储意味着基于文件的协议至关重要。

可扩展性

影响对象存储应用的一个因素是收缩的能力,而不仅仅是扩展。很多对象存储解决方案的初始容量为数百TB,这对于较小的IT组织来说并不实用,厂商们开始通过生产可以收缩到数十兆字节容量的产品来解决这一问题。

显然,大容量硬盘和闪存可能会成为一个问题,但是可以实现对象存储带来的功能优势。因此,厂商提供的解决方案是纯软件的,可以部署在专用硬件上,也可以作为内部部署或公有云中的虚拟实例部署。

随着物联网的不断发展,数据将会出现爆炸式增长,大量的小型对象存储将证明在满足物联网持续需求方面的优势。

软件定义

回到纯软件解决方案,提供纯软件解决方案意味着企业可以为他们的环境选择正确类型的硬件。在硬件供应合同已经存在的情况下,企业可以简单地支付对象存储软件并将之部署在现有设备上,这包括对可能以其他方式处理的旧硬件进行测试。

开源

对象存储软件定义的另一个发展方向是开源,Ceph是作为开源模式开发的存储平台之一。OpenIO提供了与无服务器一样的高级功能,可以提供相同的体验,作为优质服务收费。另一个开源解决方案Minio最近获得了2000万美元的资金,将其平台推向更广泛的受众,包括Docker容器。

试用版

对软件的关注意味着组织很容易尝试对象存储,除了IBM Cloud Storage和DDN外,几乎所有供应商都通过下载软件或使用公司的实验室环境提供某种试用流程。提供试用版可以为软件带来开放性,以便于长期评估和采用。

未来如何发展

考虑对象存储的未来,可以说最近的发展方向是使解决方案更易于使用,更注重软件和厂商的开发易用性和安装。多协议连接更多的应用程序,使数据更容易进入对象存储。在未来几年内,我们将看到对象存储仍然是持久数据存储的重要平台。

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2018-03-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SDNLAB

什么是开放网络?

网络行业的发展如果非要归纳出一个明确的发展趋势的话,那这个趋势无疑是“开放”。业界有一个奇怪的现象,但凡涉及到“开源、开放”的技术或者社区,好像都比较受到追捧,...

2625
来自专栏云计算

为您的组织选择正确的企业云解决方案

目前,云计算已被广泛使用,并且成为多数企业为之努力的目标。然而,入云所带来的现实问题也令人担忧。耗时费力的部署,安全风险,噩梦般的应用程序迁移场景以及不成熟的私...

2126
来自专栏程序你好

数据库设计中的6个最佳实践步骤

如果设计得当,数据库是记录、存储、检索和比较数据的强大工具。然而,一个没有经过精心设计和目的的数据库不仅仅是无效的,它对那些使用它最多的人(开发人员)来说是一个...

1082
来自专栏华章科技

还不知道这 11 个超酷的编程新工具你就 out 了!

在这篇文章中,我们将列出你在日常工作中能够使用的新的开发工具。很多对在线流媒体感兴趣的开发人员已经开始在他们的开发环境中使用这些新工具,因为相比他们的旧的设施来...

922
来自专栏Golang语言社区

Golang语言做游戏服务器的感受

使用Golang语言已经进一年的时间,从C++转到Go语言开发我纠结了很久;先是怀疑,认为开发市场份额的小众语言怎么可以做出成熟而且高效的游戏服务器...

58511
来自专栏腾讯大数据的专栏

腾讯社交LBS服务技术要点

“如何在激烈的移动社交市场竞争中脱颖而出?”这是当前移动社交应用领域众多开发者们所面临的现实问题。在产品功能特性同质化越来越严重的形势下,动用最小的研发资源实现...

37810
来自专栏技术杂文

微服务:真正的架构模式

微服务的相关知识和它的神秘令我着迷。概念上的微服务就像是现代最有趣的流行架构之一。它足够功能强大,有着广泛的使用方法;也足够模糊,难以统一而论。

2303
来自专栏云原生架构实践

什么是微服务

《POJOs in Action》作者,CloudFoundry.com的创建者之一

1624
来自专栏犀利豆的技术空间

我的写作工具链

写作是技术输出的重要手段。自己也写了一年多的文章,累计也超过五万多字。今天就想谈谈自己对于写作的一些看法以及写作时使用到的工具。工欲善其事必先利其器。

1542
来自专栏Golang语言社区

[Go语言]采用Go语言作为服务端编程语言的建议书

按:这是我给公司(部门)写的使用推广Go语言的建议书,给领导看了以后,领导同意使用Go语言对一些服务器程序进行改写并部署到外网进行验证。希望这篇文章能够给同样在...

8088

扫码关注云+社区