StarGFS-构建大数据高性能存储

一、数据湖存储的需求和挑战

1.1 什么是数据湖?

数据湖是一种以原生格式存储各种大型原始数据集的数据库。您可以通过数据湖宏观了解自己的数据。在一些需要为数据设置大型整体存储库的企业中,数据湖正在成为一种更通行的数据管理策略。

原始数据是指尙未针对特定目的处理过的数据。数据湖中的数据只有在查询后才会进行定义。数据科学家可在需要时用比较先进的分析工具或预测建模法访问原始数据。

1.1.1. 为什么需要数据湖?

数据湖可为您保留所有数据,在您存储前,任何数据都不会被删除或过滤。有些数据可能很快就会用于分析,有些则可能永远都派不上用场。有些数据也可能为了不同用途而多次使用,同时也有数据会为了特定目的不断优化,这就让我们难以用不同的方式重复使用数据。

1.1.2. 如何理解数据湖概念?

之所以将其称为湖,是因为这种数据库可以在自然状态下存储大量数据,就像一片未经过滤或包装的水体。数据从多种来源流入湖中,然后以原始格式存储。 

1.1.3. 如何用于数据分析?

只有在需要用来分析时,数据湖中的数据才会进行转换,因而分析数据时需要用到数据库模式(Schema)。这叫做“读时模式”,因为数据会一直处于原始状态,直到读取使用。

通过数据湖,用户能够以自己的方式访问和探索数据,无需将数据移入其他系统。不同于定期从其他平台或数据库提取分析报告,数据湖的分析和报告通常可以临时获取。但是,用户可在必要时通过模式和自动化复制报告。

1.2 数据湖存储建设的需求和挑战?

1.2.1 存储接口多样化

作为要支持原始数据长期存储,并且还需要支持按需供大数据分析、常规业务调用等各种业务场景。用户能够按需调用数据,而无需进行数据频繁拷贝和迁移,就能够在同一套数据湖内部基于同一份原始数据进行数据处理,从而提高数据处理效率和存储效率。

目前常见的业务数据有:非结构化数据(日志文件、音视频、图片、影像档案)、结构化/半结构化数据(数据库:Mysql、Oracle、No-SQL)等。以往的各个类型的业务程序都运行在各自独立的计算和存储平台中,数据往往属于相对孤岛的状态,业务层面无法轻易地进行融合。企业为了构建能够融汇各路业务并且能够将各种数据进行汇合,按需进行相关处理和挖掘的数据工作,作为数据湖的底层存储平台就需要能够提供足够多的数据访问接口来支持各路业务程序的接入和数据调用。

1.2.2 提高数据湖的读写访问效率

作为前端融合存储了多样化的业务系统的海量原始数据,并且要支持各种类型的数据处理读写访问需求的底层存储平台,要很好的支撑数据处理并发读写的性能需求。因为对接的业务类型多样化,数据类型也非常多样化。业务系统所抓取采集的数据类型里面也会有海量的小文件数据、oltp业务的数据库这种结构化数据、大文件,需要进行高效率的存储,并支持后续快速的文件检索访问。

1.2.3 降低存储资源池整体拥有成本

TCO是指资产购进成本及在其整个生命服务周期中发生的成本之和。TCO不等同于资产的购买成本,它还要包括资产购进后运营和维护的费用。数据湖存储系统的总体拥有成本由设备购置成本、实施成本、维护成本、管理成本、升级成本、宕机成本等因素构成,我们着力于从上述多个方面帮助用户降低成本,从而达到TCO的有效降低。

二、星实StarGFS数据湖存储方案

2.1 StarGFS数据湖存储的实现

StarGFS作为面向高性能场景而设计的高性能全局共享文件系统,还增加了更多的数据访问协议的支持,比如NFS/CIFS/HDFS/ISCSI/S3等诸多的存储访问接口,并且还增加了多个协议之间零拷贝数据互通的功能,支持文件系统、HDFS、S3等多种协议之间共享访问相同一份数据,实现不同业务类型的数据都可以通过各自常用的存储协议将数据往数据湖中存储,并按需访问其他业务通过其他存储协议写入的数据,从而大幅度提高效率。StarGFS能够帮助企业实现多业务的原始数据在数据湖中高效汇集和调用,方便数据处理。

图表1 数据湖底层存储支持的场景

2.2 StarGFS数据湖存储架构

星实基于以上环境分析推荐将现有多个单独存储系统构建成统一存储共享池,能够实现各类原始数据的统一共享及管理,很大程度上提供了数据共享的便利。

图表 2 星实StarGFS构建统一的存储池

使用星实StarGFS存储架构后,有以下几个特征:

1) 计算和存储融合:包括Hadoop、Oracle、Mysql以及其他业务应用和存储服务可以在同一服务器上,共享存储一体化,实现真正的超融合;

2) 数据无需迁移,全局共享:且采集分发系统直接访问存储池,不用底层存储系统再进行数据传输,且系统统一管理,减少运维压力。

2.3 StarGFS数据湖存储特点

2.3.1 一份数据多种访问接口协议

2.3.1.1 文件存储接口

星实StarGFS是领先的基于POSIX文件系统接口的并行集群文件系统,意味着不必重写或修改应用程序来利用StarGFS。它的开发非常注重最大的性能和可扩展性,高度的灵活性,并且设计考虑了健壮性和易用性。

StarGFS客户端通过任何基于TCP/IP的连接通过网络与存储服务器进行通信,访问文件系统内的数据。StarGFS通过在多个存储服务器上透明地分布用户数据,当增加系统中服务器和硬盘的数量,所有硬盘和所有服务器的容量和性能都聚合在一个文件系统名字空间中。从而文件系统的性能和容量就可以轻松地扩展到特定业务所需的量级,也可以在以后系统投入生产时进行在线扩展。

2.3.1.2 HDFS存储接口

星实将通过以组件的方式实现StarGFS融合在整个Hadoop生态环境内,即认为StarGFS是Hadoop的一个子项目,符合Hadoop的整个代码框架。

如下图所示,用StarGFS文件系统替代原有HDFS文件系统,通过实现Hadoop的文件接口使StarGFS文件系统支持Hadoop,让MapReduce程序可以直接运行在StarGFS文件系统上。采用StarGFS文件系统,在文件读取效率,存储利用率上明显优于HDFS。

图表4 Hadoop-StarGFS大数据分析平台整体架构图

2.3.1.3 块存储接口

为了满足一些类似数据库、容器以及虚拟化等需要块存储的应用场景需求,StarGFS并行文件系统在文件系统之上同时提供了block块存储的访问接口,支持ISCSI、StarSAN等协议。

2.3.1.4 对象存储接口

StarGFS同样基于全局共享的文件系统,以及自身能够很好的支持千亿级文件存储的架构以及针对小文件的Container容器优化存储技术将小文件性能十倍的基础能力,将文件系统中的文件以对象协议的方式对外输出S3访问接口,并且针对对象业务特点定制负载均衡算法,使得对象服务的整体架构无单点故障。

图表7 对象存储的实现

2.3.1 提高数据湖读写效率

2.3.2.1 提高并发读写效率

StarGFS并行文件系统是采用数据通道与检索通道分离的形式实现,且存储服务器可动态进行扩容,从而加大系统的检索能力与数据传输的性能,也就是说在高并发访问情况发生时,存储服务器可迅速的检索到数据信息,然后让数据存储端与访问端直接建立数据通道,进行并发数据读取,从而提升高并发访问效率。同时,StarGFS的可根据存储服务器的内存大小将热点检索数据尽量多地驻留在内存中,提升数据访问的效率。

StarGFS并行文件系统采用最优化的网络数据路径设计,用户数据经客户端驱动统一分发给所有副本所在存储节点,而非存储节点转发。这样就形成了最短网络数据路径,从而降低数据访问延迟,减少系统开销。

图表9 数据并发读写

整个StarGFS并行文件系统是一个带外模式的IO访问架构,数据通道和检索通道完全分开,所有的数据读写都直接在客户端和存储节点之间进行,整个IO架构不存在任何单点性能限制。并行文件系统的集群模式使得整个存储平台在架构上没有任何性能瓶颈,能够提供超过100GByte/s的聚合IO带宽以及1000万次以上的IOPS(每秒读写次数)。

2.3.2.2 超高的小文件访问效率

StarGFS支持百亿级文件统一存储和高效率检索。StarGFS内部的系统采用了创新的小文件Container容器存储技术,能够在前端呈现标准POSIX文件系统名字空间的同时,在后端小文件落盘存储的时候实现智能的聚合成大文件的方式来实际存储。

StarGFS通过采用该技术将任何大文件、小文件都会被当做大文件一样的来存储和检索访问,完全消除了传统文件系统文件存储数量受限、文件检索效率低下等严重的数量和效率的问题,打破了传统存储的局限,将小文件创建、检索效率提高到传统存储的十倍以上,完全可以轻松应对任何存在海量小文件的业务场景。

图表 10 StarGFS小文件性能优化效率变化

2.3.3 降低数据湖存储的拥有成本

2.3.3.1 提升存储利用率

StarGFS除了提供类似HDFS的副本模式外,还提供了类似Raid的冗余校验存储模式。StarRAID的N+M校验模式是通过多份数据细粒度切分,并联合生成校验数据的方式,在实现冗余存储的同时,大大提升了存储利用率,在保证数据安全,高效并行文件存取的前提下,底层存储利用率可达到90%以上,从而节省大量的硬件投入成本。StarRAID能够同时兼容POSIX的情况下很好地支持小文件存储。

图表11 StarRAID冗余容错机制带来巨大的构建、使用成本优势

2.3.3.2 减少数据迁移工作

StarGFS可提供NFS/CIFS/HDFS/ISCSI/S3等存储接口,并且支持多个协议之间数据互通的功能,从而支持文件系统、HDFS、S3等多种协议之间共享访问相同一份数据,避免不同业务为了共享数据而进行频繁的数据迁移和拷贝工作,浪费人力物力。

如采用Hadoop架构时,上层应用集群和计算集群是分离的。这意味着当上层应用生成数据后,必须通过数据迁移工具的导入到HDFS。多份数据需要占用存储,数据迁移也需要占用带宽,对于整体硬件设备无疑是一种极大的浪费。而使用Hadoop-StarGFS架构后,应用集群和存储服务可以在同一台服务器设备上,共享存储一体化,实现真正的超融合,数据无需迁移,可以降低整体硬件的成本。

2.3.3.3 无缝切入原有网络环境

StarGFS具有跟数据处理程序在同一台物理服务器融合部署的能力,支持无缝的融入到客户现有的软硬件环境中,无需对网络和硬件配置做改造即可完成改造升级。

支持数据湖存储的主要特点

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值