加入收藏 | 设为首页 | 会员中心 | 我要投稿 鹰潭站长网 (https://www.0701zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数据运营相关技术:分布式存储技术

发布时间:2022-10-27 15:01:15 所属栏目:大数据 来源:转载
导读: 编制按
分布式存储系统需要借助分布式数据库来实现,分布式数据库重点解决大文件存储、存储设备的动态扩展、数据存储节点的容错以及数据的快速检索问题。为了既能够保证对海量数据的存储,

编制按

分布式存储系统需要借助分布式数据库来实现,分布式数据库重点解决大文件存储、存储设备的动态扩展、数据存储节点的容错以及数据的快速检索问题。为了既能够保证对海量数据的存储,又能够保证事务的一致性,通常对增加、删除、修改、查询操作进行区分处理。

互联网中的各种信息系统、物联网中的各种传感器产生的大数据首先需要存储起来,数据的量非常大,数据类型也是多种多样的,有效的解决方法就是将其存放到一个可以动态扩展的分布式存储系统之中。

分布式存储系统需要借助分布式数据库来实现,分布式数据库重点解决大文件存储、存储设备的动态扩展、数据存储节点的容错以及数据的快速检索问题。

分布式数据库技术分为商业和开源两类,它们都以分布式文件系统为基础。开源分布式文件系统以谷歌的GFS、阿帕奇的HDFS最为典型。此外,Pig、Hive、Sqoop开源工具和框架,可以实现大数据便捷、快速的导入、导出以及即席查询。

分布式数据库技术虽然能够解决大数据的存储管理,但并不意味着传统关系型数据库没有了存在的价值。分布式数据库技术难以实现灵活、快速、复杂的统计分析功能,而这恰恰是传统关系型数据库所擅长的,因此,需要将这两种数据库技术结合起来使用,解决不同应用场景下的问题。

主流关系型数据库包括Oracle、DB2、SQL Server、MySQL等,其数据定义和操作语言都是基于标准SQL之上的扩展,比如Oracle公司的PL/SQL就是一款非常强大的数据管理语言。

此外,分区、索引、中间表等存储管理技术和方法也在企业数据管理中起到关键作用,对于提升数据的获取效率起到非常重要的作用。

1.1.1 分布式集群存储技术

俗话说“一个好汉三个帮大数据存储技术,一个篱笆三个桩”,对于大量的数据存储、计算和传输需求,需要借助集群方式来实现。

公司组织就是集群的一个例子。公司的全部工作可以由一个人来承担,但是当公司业务量大、事务多的时候,就需要多个不同职能的部门共同承担。比如公司的市场人员负责产品的销售,财务人员负责财务核算,人力资源负责人员招聘、合同管理等。

公司通过专业化的分工与协作,满足了客户需求,也提高了工作的效率。如果企业中有人离职,企业又不想花更多的成本雇佣更多的员工,通常的做法是让两个人彼此成为另一个人的备份,这样当某个人无法完成工作时,另外一个人可以代替完成。

IT系统的集群实现原理与公司的管理类似。IT服务需要借助集群方式,满足大规模高并发的数据处理需求。集群方式可以发挥IT资源的整体优势,通过集中IT资源满足用户对于计算、存储以及网络传输能力的需求。

IT系统集群的实现目标主要包括5个方面,即可靠性、可伸缩性、可用性、高性能以及安全性。采用集群方式,不会因为某些IT设备或者软件出现故障而导致IT服务不可用,集群中任何IT设备节点都可能是主节点和备用节点,都可能存储其他节点的备份数据,从而保障IT服务的可靠运转。

大数据的特征之一是数据规模大,因此要求IT系统能够具有海量数据的存储能力,同时数据规模大也意味着需要IT系统能力提供强大的数据处理能力和网络传输能力,而集群方式则可以满足大数据的这些需求。

分布式集群存储技术通常采用以大数据块为单位,将数据切割后存储在多个节点之中,从而解决了大规模数据存储的问题。为了保证数据的可靠性,通常需要在不同存储节点中保存多个数据副本。

如何大数据应用涉及交易操作,那么将数据存放到多个节点之中,最大的问题是如何保障数据的一致性,即单次数据操作要求成功提交(COMMIT),要么失败回滚(ROLLBACK),不能有中间状态。

为了既能够保证对海量数据的存储,又能够保证事务的一致性,通常对增加、删除、修改、查询操作进行区分处理。多表之间的关联操作是分布式数据库设计的难点。

“增加”操作通常可以采用追加(Append)的方式操作数据,一般比较容易保证事务的一致性。“删除”操作可以采用先标记然后再定期批量删除的方法,这样既能够保证删除的效率,又能够保证软件系统能够及时释放存储空间。

“更新”操作最为复杂,为了保证事务的一致性,通常需要对更新操作先做“插入”再做“删除”,由于整个数据更新过程需要记录操作日志,以便于回滚(ROLLBACK)或者提交(COMMIT),因此,“更新”操作会消耗大量的存储资源,操作效率低并且容易出错。

如果对 “更新”操作单独识别和处理,将能够最大程度地保证“更新”操作的效率和成功率。阿里巴巴的开源数据库OceanBase就是采用单独部署数据“更新”服务器的方式,解决单个用户收藏多个商品引起的海量商品收藏问题。

“查询”操作最为简单,因为查询操作只“读”不“写”,无需记录操作状态。目前如Hadoop/HBase类似的各种列式数据库可以快速装载海量数据,并且可以线性扩展存储容量,实现数据高效率的查询。

在数据库前面增加数据路由层是解决分布式数据库的一种有效方法。数据路由层根据客户端数据SQL请求,查询数据库集群中节点的状态,然后将数据操作请求转发到相应的节点,待处理完毕后再将数据处理结果合并起来,反馈给客户端。

在分布式数据库设计时,可以根据应用的特点,采用分别处理增加、删除、修改、查询操作的方式进行架构设计,既要保证事务操作的一致性,又要满足海量数据存取的性能要求。

相关文章

大数据运营相关技术(开篇):他山之石,可以攻玉

大数据运营相关技术:Hadoop生态系统(离线、实时、内存)

作者简介

李福东,资深大数据和信息化专家,培训师,现为北京某高科技公司CEO,拥有20年电信、金融、互联网等跨行业工作经验,长期致力于企业架构、大数据、人工智能、区块链、虚拟现实、数字化转型等创新与实践,个人著作《大数据运营》

(编辑:鹰潭站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!