二、大数据与分布式

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 二、大数据与分布式

一、分布式文件系统

大数据管理研究的文件系统主要是分布式文件系统,分布式文件系统时建立在多台服务器上,并对多个节点上的文件进行统一管理,为用户提供单一文件视图和文件访问结构。目前流行的分布式文件系统是建立在互联网环境上,基于节点自身的文件系统而实现的面向海量数据管理的文件系统,主要研究在大规模集群上数据划分和数据分布,所存储的数据的可靠性以及存储管理的可扩展性,如何支持用户大规模并发访问以及如何适应新型的并行计算模型。


目前比较成熟的分布式文件系统解决方案有谷歌的 GFS ,它是从实际需求、业务类型以及技术环境等方面考虑设计并实现的分布式文件系统,它充分满足了应用存储的需求。雅虎的 HDFS 和亚马逊的 S3 也是相对成熟的分布式文件系统解决方案。HDFS 最大的用户是雅虎,其次是 Facebook,S3 是亚马逊提供的在线按需存储服务,它是一个基于对象的存储系统,为客户提供任意大小的对象存储。


二、分布式数据管理平台

传统数据库无法应对大数据环境下数据存储的管理。NoSQL 数据库技术的提出为大数据管理提供了一个很好的解决方案。NoSQL 数据库根据存储模型可以划分为:基于 Key-Value 的存储模型,基于 Cloumn Family 的存储模型,、基于文档的存储明星以及基于图的模型。


2.1 基于 Key-Value 存储的 NoSQL 数据库

基于 Key-Value 存储的 NoSQL 数据库主要是基于键值对来存储,利用哈希表来维护 Key 值与具体 Value 之间的映射关系,用户可以通过 Key 方便的对数据进行定位。 Value 是以一定的数据结构进行存储,而系统不对 Value 进行任何解释,应用程序会根据事先约定的格式对数据进行处理并对 Value 进行解释。Key-Value 类型的 NoSQL 数据库存在一个弊端,就是用户无法根据 Value 中的某个属性值查询数据,因此该类型的数据库只能支持对 Key 进行简单的查询。


Tip:常见的 Key-Value 类型的 NoSQL 数据库有:Redis、Tokyo Cabinet Tryant、Oracle Berkeley DB 等。


2.2 基于 Cloumn Family 存储的 NoSQL 数据库

Cloumn Family 是指具有相同性质的序列属性。它的存储结构是在 Key-Value 模型基础上进行重新设计的,Value 被设计的更加精细,一个 Value 由多个属性列组成,这些属性列组成了一个组从而在数据结构上呈现出多层嵌套映射。


Tip:常见的 Cloumn Family 类型的NoSQL 数据库是 BigTable。


2.3 基于文档存储的 NoSQL 数据库

基于文档存储的 NoSQL 数据库以传统的文档存储技术为基础,存储模型以是 Key-Value 存储模型为基础,每个文档是一个 Key-Value 列表,文档格式一般采用 JSON 或者类似于 JSON 的格式。该类型的数据库对于特定的查询来说具有较高的效率,并且给数据库的设计人员带来了建模的灵活性,但却给数据操作人员带来了极大的负担。基于文档存储的 NoSQL 数据库存在一个弊端,数据是循环嵌套的,会使应用程序变得越来越复杂、难以维护和理解。因此在使用该类型 NoSQL 数据库时应当在设计阶段平衡好灵活性与复杂性。


Tip:常见的基于文档存储的 NoSQL 数据库有:Lotus Notes、CouchDB、MongoDB 和 Riak 等。


2.4 基于图存储的 NoSQL 数据库

传统图数据库大部分是面向对象的,虽然它们在节点遍历等图数据操作中都具有很好的性能,但是并没有考虑到系统的可扩展性,因此就出现了基于图存储的 NoSQL 数据库。这种类型的 NoSQL 数据库不仅以扩展性为重要目标,还可以对大规模的图数据进行有效的管理和分析。基于图存储模型的 NoSQL 数据库主要应用于社交网络、科学研究以及其他需求不断发展的应用领域,在这些应用中图模型可以在庞大的数据规模下更加清晰准确的表达数据的意义。


三、数据组织与管理

大数据组织和管理技术主要包括数据划分技术、数据块分布技术、索引技术、副本管理技术和支持事务处理技术等,下面重点介绍一下前三种技术,后两种技术将在后续的文章中详细讨论。


3.1 数据划分技术

数据划分是指将数据集分割成多个独立互不相交的子集合,主要目的是使具有相关性的元组和属性尽量一起存储,从而减少操作的开销代价而提高操作性能。


NoSQL 数据库在大数据环境下因为每个表的数据量很大,因此都会以分布式的形式对表进行存储。只有表进行划分才能实现表的分布式存储,所以数据划分对提高 NoSQL 数据库性能有重要作用,主要体现在如下三个方面:


  • 数据划分是系统易扩展的前提;
  • 数据划分能够提高数据的可用性;
  • 数据划分是数据并行处理效率充分发挥的前提。

3.2 数据分布技术

在大规模分布式环境下,对大数据使用合适的划分策略进行划分之后,使用某种策略将数据子集分布存储到各个节点上,这样的策略就叫数据分布策略,过程称为数据分布。数据分布技术直接影响系统性能,因为大数据处理模式是计算靠近数据计算会在数据所在节点上完成,分布策略会影响节点的负载并对系统的并行处理能力、系统负载均衡以及系统操作代价产生直接影响,所以分布策略设计的好坏就至关重要。


数据分布技术主要分为静态分布技术和动态分布技术。静态分布技术是指在系统设计前就已经设计好分布技术,但是没有考虑系统的操作模式。动态分布技术根据基准又分为基于数据块访问频率的分布技术和基于负载均衡的分布技术。


3.3 索引技术

为了减少数据量大部分系统都使用了 Bloom Filter 技术来快速减少不相关的数据。由于大部分 NoSQL 数据库是以 Key-Value 为基础存储模型,并且该模型只支持针对 Key 的简单查询,因此需要借助辅助索引技术让系统能够支持复杂的查询。目前常见的索引技术有:辅助索引技术、分布式索引技术和试试索引技术。


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
2月前
|
存储 分布式计算 大数据
【大数据】分布式文件系统HDFS
【大数据】分布式文件系统HDFS
55 0
【大数据】分布式文件系统HDFS
|
1月前
|
运维 监控 Java
在大数据场景下,Elasticsearch作为分布式搜索与分析引擎,因其扩展性和易用性成为全文检索首选。
【7月更文挑战第1天】在大数据场景下,Elasticsearch作为分布式搜索与分析引擎,因其扩展性和易用性成为全文检索首选。本文讲解如何在Java中集成Elasticsearch,包括安装配置、使用RestHighLevelClient连接、创建索引和文档操作,以及全文检索查询。此外,还涉及高级查询、性能优化和故障排查,帮助开发者高效处理非结构化数据。
41 0
|
2月前
|
机器学习/深度学习 分布式计算 监控
在大数据模型训练中,关键步骤包括数据收集与清洗、特征工程、数据划分;准备分布式计算资源
【6月更文挑战第28天】在大数据模型训练中,关键步骤包括数据收集与清洗、特征工程、数据划分;准备分布式计算资源,选择并配置模型如深度学习架构;通过初始化、训练、验证进行模型优化;监控性能并管理资源;最后保存模型并部署为服务。过程中要兼顾数据隐私、安全及法规遵守,利用先进技术提升效率。
46 0
|
2月前
|
存储 分布式计算 Hadoop
【大数据】分布式数据库HBase下载安装教程
【大数据】分布式数据库HBase下载安装教程
54 0
|
2月前
|
存储 缓存 大数据
【大数据】分布式数据库HBase
【大数据】分布式数据库HBase
76 0
|
2月前
|
存储 大数据 Linux
【大数据】GFS,大数据技术的基石,分布式文件系统的鼻祖
【大数据】GFS,大数据技术的基石,分布式文件系统的鼻祖
45 0
|
3月前
|
存储 分布式计算 Java
大数据存储技术(3)—— HBase分布式数据库
大数据存储技术(3)—— HBase分布式数据库
552 0
|
5天前
|
消息中间件 数据采集 JSON
大数据 - DWD&DIM 行为数据
大数据 - DWD&DIM 行为数据
16 1
|
12天前
|
机器学习/深度学习 人工智能 分布式计算
理解并利用大数据的力量:解锁数据背后的价值
【8月更文挑战第7天】大数据已成为推动社会进步和经济发展的重要力量。通过理解并利用大数据的力量,企业可以解锁数据背后的价值,优化业务流程、提升决策效率和创新能力。然而,大数据应用也面临着诸多挑战和风险,需要企业不断学习和实践以应对。相信在未来的发展中,大数据将为我们带来更多的惊喜和机遇。
|
12天前
|
数据采集 数据挖掘 Python
python爬虫去哪儿网上爬取旅游景点14万条,可以做大数据分析的数据基础
本文介绍了使用Python编写的爬虫程序,成功从去哪儿网上爬取了14万条旅游景点信息,为大数据分析提供了数据基础。

热门文章

最新文章