专栏 | 解析“全闪对象存储”(三)

news2024/11/25 1:04:02

在上一节“对象存储的使用场景”中,我们介绍了对象存储在大规模非结构化数据存储、云存储、大数据和数据湖等场景的使用。

那么,优秀对象存储产品是怎样的?如何设计、实现?本节,我们来分析、探讨这些问题。

通过前两节的学习,我们应该了解了对象存储的特点和要素,进而可以勾画出一个比较完美的对象存储的轮廓。但实践上,很多优点是难以共存的,或者说是无法一步到位的,必须做取舍。比如高性能和低成本,一般的,性能的增高会带来成本的上升。又比如全功能和精简功能,全功能适用面广,但会带来软件bug多、难以维护的后果。所以,不同特点的对象存储产品,有不同的受众和适用范围。

以开源对象存储MinIO为例

MinIO的设计哲学是架构上极简,功能上做好兼容S3。安装、部署、使用MinIO都是非常简单的,同时MinIO在功能上兼容S3做的较好,非常适合小规模云原生应用场景。凭借这两个主要特点,MinIO的开源社区非常活跃,MinIO作为一个轻量、优秀的对象存储被广泛使用。

其实,MinIO也有明显的短板,但这并不妨碍它在小规模云原生场景下的使用。

MinIO的短板在扩展性、规模和性能的限制

图片
目前其他对象存储产品,在功能、弹性、规模、性能等方面也都有所取舍,总体上,都是规模相对大(相对分布式文件,但没做到极大规模)、成本低、性能一般。

对象存储的主要用途是大规模数据处理,从需求上,应该不限于大文件和较高延迟的场景,机器学习等要求高IOPS、低延迟的场景,对象存储也应该可以胜任。这种场景,只有新一代的高性能、全闪对象存储产品能够胜任。

下面我们一起探讨新一代高性能对象存储产品的需求和应该具备的能力

1 需求:在原有场景下扩展能力,消除短板扩展新的市场

非结构化数据存储

提升产品软件定义的灵活性

提高性能

云存储(私有云、混合云、数据湖)

提高扩展性和规模上限的同时,降低规模化成本

提高性能,满足高性能数据处理的要求

S3全兼容,具备多租户数据全生命周期管理能力
图片

2 能力

分布式环境下数据的高安全、高可靠、高可用

数据的安全性、可靠性、可用性达到云存储标准

数据量和性能的横向线性扩展

数据量、性能的弹性达到云存储和云原生标准

高性能

吞吐、IOPS、延迟等指标达到高性能数据处理(比如机器学习)标准

低成本

降低大规模数据存储总拥有成本(高密、绿色节能、提高大容量存储介质使用寿命)
图片
以上需求和能力,最核心的问题是,如何达成顶级性能,同时支持超大规模数据弹性、低成本的存储。针对核心问题,我们逐步分析设计要点

3 设计要点

达成顶级性能,必须采用全闪存储架构,降低软件栈数据流延迟

软件栈数据流(以写入为例),包括协议层处理、链路层(RPC和RDMA)、存储层处理。其中存储层处理包括数据冗余计算、资源分配、写数据、写元数据(资源元数据和对象元数据)事务,IOPS瓶颈和延迟大部分发生在存储层。

图片
要降低存储层的延迟,最关键点在于分布式元数据服务。

元数据服务必须是分布式可水平扩展的,才能支持存储产品的容量、性能的水平扩展。

无元数据服务架构,比如一致性Hash,存在两个致命缺点,在大型分布式系统中不适用。其一,没有元数据的范围查询能力,范围查询会放大到整个集群,导致在有大量对象的系统中元数据管理性能会非常差其二,集群弹性需求导致的rebalance状态非常复杂,背离了无状态Hash的初衷

回到元数据服务上。元数据服务的数据层一般要在Raft协议上实现MVCC集合的副本复制、水平Sharding。接口层要实现事务。这些事项使得实现低延迟的元数据服务难度非常高,需要对这些核心技术切实的掌握和优化。

低延迟元数据服务之外,还有另一个关键点,是全闪软件栈的计算调度

图片

全闪软件栈采用RDMA和NVMe新技术,存储层延迟大大降低,已经不是性能瓶颈,相反,未优化的多核CPU环境下的计算和调度在极高的并发下会成为性能瓶颈。全闪软件栈采用微计算流水线架构,消除多核CPU NUMA架构缓存和调度的性能阻碍,达成极低的计算延迟和极高的并发能力。

支持超大规模数据弹性存储,必须采用全分布式架构加大容量存储介质

图片

其中,带状态分布式服务集群的弹性伸缩,是核心难点。

分布式环境下数据的高安全、高可靠、高可用

当前,企业级大容量QLC_SSD已经被全闪存储软件系统应用。全闪存储软件栈要解决QLC_SSD擦写次数低的问题。如果在存储集群层面处理好了SSD的GC、写放大、磨损均衡问题,我们可以做到针对集群中所有SSD的降低写放大比例和均衡擦写次数,不但可以使用擦写次数低的QLC_SSD,还大大增加了SSD的使用寿命。

ZNS_SSD是使用大容量SSD、降低成本和功耗的标准。全闪存储软件栈要适配、支持ZNS_SSD的使用

要将大容量SSD成本做到最低,可以采用定制化的Open_Channel_SSD方案,将SSD的FTL层和纠错层放到主机端,节省了DRAM控制器,适配使用廉价的SSD颗粒,极大的降低SSD成本。

全闪存储软件栈还可以在集群资源调度上达成节能,充分利用SSD的节能状态。

高性能和低成本的矛盾,通过数据分层来缓解

热数据层采用高性能全闪软件栈和高价的高性能NVMe_SSD。

温冷数据层采用普通全闪软件栈和廉价的大容量SSD。

数据分层透明化,智能化,应用无感知。

4 设计讨论

为何提出了一个看上去完美的分布式架构,而不是以上说的取舍?

我们在介绍MinIO的时候,讨论了取舍,以架构极简和功能为主。但需求是发展的,对象存储系统的水平扩展的弹性、极高性能,已经成为当下和未来最重要的需求,可以扩展大片的市场,所以我们的重点放在最难的这两个方面上,做分布式全闪架构的企业级存储。

5 大道云行FOSS全闪分布式对象存储介绍

大道云行FOSS,是采用先进的分布式全闪架构的云存储系统,以超大规模数据长期、可靠、绿色低碳、高性能存取为目标

图片
全闪架构,超高性能,数据量、性能的水平线性扩展

毫秒级延迟

单集群,百P级空间,百G级吞吐,百万级IOPS

同城、跨地域多集群扩展

跨zone数据复制、容灾

绿色低碳

绿色节能(大部分SSD大部分时间处于低功耗状态,单片SSD<0.5w)。

SSD使用寿命长,实际可用空间多(不需要7%的GC预留)。

长期可靠

存入不管,保证几十年以上数据可靠可用(数据静默错误保护;智能化的介质和数据的巡检、健康扫描、纠删恢复、过期数据迁移)。

我们能够看到,两个重要过程正在发生和发展

其一,是存储替代

当前我国大部分的非结构化数据都保存在老旧的NAS存储系统上。NAS存储系统有很多的问题:
图片
以对象存储为核心的云存储(私有云,混合云),在容量、扩展性、安全性和可靠性、性能、统一管理、多租户、数据全生命周期管理等方面全方位超越了NAS存储,且总体使用成本相当。所以,对象存储替代NAS,提高各行各业应用系统的生产力,是必然的。当然这个过程是渐进的,伴随着存储网关和纳管系统的使用。

大数据系统2.0,提出了计算和存储分离的概念,主张用数据湖统一管理所有的数据处理。大数据存储正在加速从HDFS转向(S3或Swift兼容的)对象存储。

其二,是云存储市场的蓬勃发展

广义上的云存储,包括不同规模的分布式存储,构成边缘云、私有云、混合云、公有云。

当前,以数据为驱动力的数字经济正在成为我国经济发展的新引擎,数据即价值。但数据的价值需要通过智能化的数据分析系统得以发掘和体现。未来,各行各业,都需要符合行业特点的、智能化的数据分析系统,提高生产力和竞争力。

大数据的最终目的是智能化,而智能化需要依赖机器学习、深度学习等AI技术。所以,未来的数据处理平台,必须支持机器学习,相应的,对存储系统的高性能(高IOPS,低延迟,文件个数多)有很高的要求。

未来,智能化数据处理平台必定是构建在云上的,而基于全闪架构的高性能、大规模、低成本的云原生存储系统,也会一直伴随着智能化云一起蓬勃发展,成为主导的存储系统

数据处理智能化,不仅仅是高性能集中处理,还包括边缘计算、冷数据存取、备份和归档、远程复制和容灾,等等,存储系统在这里有巨大的市场空间。但越往后,智能化程度越高,对云原生存储系统的要求就越高,门槛也越高

该怎么做

前景虽然美好,但有效提高生产力,并用新的生产力去替代老的,是个逐步的过程。也就是说,有一个市场发展的时间窗口。

我们要聚焦在行业智能化数据分析的需求上,打造符合各行业特点的智能化数据分析平台,比如行业云、物联网、数据湖,真正有效的把数据智能化转变为生产力和竞争力,这样,我们的存储系统才拥有了高价值数据,体现了其卓越能力的价值。

具体的,就是深入参与企业、行业数据系统和物联网/云/数据湖的方案和建设,伴随着云(私有云,边缘云)在数据处理智能化方面一起发展。

参考资料:

[1] AWS. 数据湖存储

https://aws.amazon.com/cn/products/storage/data-lake-storage/?nc=sn&loc=4

[2] Minio. WhitePaper

https://storage.oak-tree.tech/acorn/documents/minio.high-performance-s3.pdf

[3] Mikito Takada. Distributed Systems for Fun and Profit

[4] Martin Kleppmann. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

[5] Diego Ongaro, John Ousterhout. Raft Consensus Algorithm

https://raft.github.io/raft.pdf

往期推荐

1、专栏 | 解析“全闪对象存储”(二)

2、专栏 | 解析“全闪对象存储”

3、SMB2协议特性之oplock与lease(上)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/50836.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

推荐系统-召回-概述(四):热门推荐

无论个性化多么重要&#xff0c;热门推荐都是推荐系统里不可或缺的一部分。其一、根据“二八定律”&#xff0c;电商系统中的20%的头部内容被80%的流量消费&#xff0c;因此&#xff0c;在产品早期&#xff0c;仅仅推荐热门内容&#xff0c;实施成本不高&#xff0c;且效果也会…

【Android App】利用腾讯地图获取地点信息和规划导航线路讲解及实战(附源码和演示视频 超详细必看)

需要源码请点赞关注收藏后评论区留言~~~ 一、获取地点信息 至于如何集成腾讯地图和调用腾讯地图接口此处不再赘述&#xff0c;有需要请参见我之前的博客 腾讯地图用来搜索POI地点的工具是TencentSearch&#xff0c;通过它查询POI主要分为下列四个步骤&#xff1a; &#xff0…

MySQL---基于CentOS7

在Linux上安装MySQL 本章简单阐述一下&#xff0c;mysq基于centos7的安装步骤 在VM上模拟安装 MySQL版本为&#xff1a;8.0.30 文章目录在Linux上安装MySQL1. MySQL下载卸载MariaDB查看版本卸载2.安装解压mysql压缩包重命名创建用户和组修改权限编写配置文件配置PATH变量初始化…

基于PHP+MySQL集训队员管理系统的设计与实现

ACM是国际大学生程序设计竞赛,这是一个展示大学生风采的平台,但是在ACM报名的时候可能会有很多的队员,管理员对队员的管理是一个繁琐且复杂的过程,通常的管理模式是手工进行管理,这在很大程度上有一些弊端,为了改成这一现状需要一个对应的管理系统出现。 本设计尝试用PHP开发一…

机组运行约束对机组节点边际电价的影响研究(Matlab代码实现)

目录 1 概述 2 日前市场单时段节点电价出清优化模型 2.1 目标函数 2.2 约束条件 3 算例及运行结果 4 结论 5 参考文献 6 Matlab代码及详细文章讲解 1 概述 基于节点边际电价(locational marginal priLMP)的现货巾划lm易能量价值&#xff0c;节点电本确定节点电价&a…

高校部署房产管理系统可实现那些目标?

随着技术的不断进步和升级&#xff0c;以及高校房屋建筑物数量的不断扩充&#xff0c;建立房屋资产管理信息系统进行信息化、数字化、图形化房屋资产管理已经是势在必行。数图互通自主研发FMCenterV5.0平台&#xff0c;是针对中国高校房产的管理特点和管理要求&#xff0c;研发…

易基因科技|单细胞甲基化测序低至2500元/样

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。12月活动来袭&#xff5e; 限时特惠&#xff01;单细胞甲基化测序低至2500元/样&#xff01; 易基因高通量单细胞DNA甲基化测序&#xff1a;单细胞DNA甲基化组学研究很大程度上受制于建库…

P3 创建Tensor

前言&#xff1a; 这里面主要讲解一下创建一个Tensor 对象的不同方法 目录&#xff1a; numpy 创建 list 创建 empty 创建 set_default_type 随机数创建 torch.full arange&linespace ones|zeros|eye r…

Springboot毕业设计毕设作品,微信网上图书商城购物小程序设计与实现

功能清单 【后台管理员功能】 会员列表&#xff1a;查看所有注册会员信息&#xff0c;支持删除 录入资讯&#xff1a;录入资讯标题、内容等信息 管理资讯&#xff1a;查看已录入资讯列表&#xff0c;支持删除和修改 广告设置&#xff1a;上传图片和设置小程序首页轮播图广告地…

【Pandas数据处理100例】(八十九):Pandas使用date_range()生成date日期

前言 大家好,我是阿光。 本专栏整理了《Pandas数据分析处理》,内包含了各种常见的数据处理,以及Pandas内置函数的使用方法,帮助我们快速便捷的处理表格数据。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmPandas版本:1.3.5N…

Oracle 11g RAC 原地升级到 19c

作者 | JiekeXu来源 |公众号 JiekeXu DBA之路&#xff08;ID: JiekeXu_IT&#xff09;如需转载请联系授权 | (个人微信 ID&#xff1a;JiekeXu_DBA)大家好&#xff0c;我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 Oracle 11g RAC 原地升级到 19c&#xff0c;欢迎点…

Android kotlin在实战过程问题总结与开发技巧详解

1、介绍 目前Android开发中&#xff0c;分为两派&#xff0c;Java派和Kotlin派&#xff0c;Java是宇宙开发第一语言&#xff0c;地位一直处于领先位置&#xff0c;但是Java会出现一个空指针的情况&#xff0c;所以kotlin的出现&#xff0c;填补了java的一些缺陷&#xff0c;但是…

擎创技术流 | ClickHouse实用工具—ckman教程(5)

哈喽~友友们&#xff0c;又到了一期一会的技术分享时刻了&#xff0c;本期继续以视频形式与大家分享&#xff0c;话不多说&#xff0c;我们直接上干货&#xff0c;建议收藏分享马住 戳↓↓↓链接&#xff0c;一键回看前期内容&#xff1a; 擎创技术流 | ClickHouse实用工具—c…

独立IP和共享IP的区别以及各自的优势有哪些

如果您在网上做生意&#xff0c;您可能对什么是IP地址有一个大概的了解。然而&#xff0c;您可能不知道的是&#xff0c;IP 地址分为两种类型。下面将介绍在选择独立服务器时最常遇到的两种IP的区别和联系&#xff1a; 简而言之&#xff0c;独立IP地址是标识您的网站的唯一数字…

基于云原生技术的融合通信是如何实现的?

孵化于云端&#xff0c;云通信成为时代的主流。01 云通信的「前世今生」 通信与每个人息息相关。 生态合作和渠道的规模上量&#xff0c;给传统通信模式带来巨大的挑战&#xff0c;由此衍生出云通信。 云通信&#xff0c;即基于云计算平台&#xff0c;将传统通信能力进行云化&a…

常用测试用例模板大全

一些常用模块的测试用例 1、登录  2、添加  3、查询  4、删除 1、登录 ①用户名和密码都符合要求&#xff08;格式上的要求&#xff09; ②用户名和密码都不符合要求&#xff08;格式上的要求&#xff09; ③用户名符合要求&#xff0c;密码不符合要求&#xff08;格…

LeetCode HOT 100 —— 75 .颜色分类

题目 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums &#xff0c;原地对它们进行排序&#xff0c;使得相同颜色的元素相邻&#xff0c;并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sort 函数的情况下…

【ESP32-Face】ESP32人脸检测MTMN 模型以及face_detect()函数详解

ESP32-Face 人脸检测MTMN模型以及 face_detect 函数详解1. MTMN 模型2. 模型网络3. API 函数接口介绍4. 模式选择5. 参数配置1. MTMN 模型 MTMN 是一个人脸检测的轻量级模型&#xff0c;专门应用于嵌入式设备。它是由 MTCCN 和 MobileNets 结合而成。 2. 模型网络 MTMN由三个…

搬砖日记:关于sync用不了的问题

自己封装了个输入框的组件&#xff0c;想要实现的输入框的值的修改可以实时修改到父组件的值 印象中看到过人家用.sync修饰符去实现这个功能&#xff0c;大抵是 //父组件 <searchInput :value.sync"value"></searchInput> //子组件 <input v-model&qu…

(4E)-TCO-PEG4-DBCO,1801863-88-6,反式环辛烯-四聚乙二醇-二苯并环辛炔

(4E)-TCO-PEG4-DBCO物理数据&#xff1a; CAS&#xff1a;1801863-88-6 | 中文名&#xff1a;(4E)-反式环辛烯-四聚乙二醇-二苯并环辛炔 | 英文名&#xff1a;(4E)-TCO-PEG4-DBCO 结构式&#xff08;Structural&#xff09;&#xff1a; (4E)-TCO-PEG4-DBCO物理数据补充&…