大数据与云计算的关系是什么,Hadoop又如何参与其中,Nosql在什么位置,与BI又有什么关系?以下这篇文字讲他们的关系讲的非常清楚。
 
在谈大数据的时候,首先谈到的就是大数据的4V特性,即类型复杂,海量,快速和价值。IBM原来谈大数据的时候谈3V,没有价值这个V。而实际我们来看4V更加恰当,价值才是大数据问题解决的最终目标,其它3V都是为价值目标服务。在有了4V的概念后,就很容易简化的来理解大数据的核心,即大数据的总体架构包括三层,数据存储,数据处理和数据分析。类型复杂和海量由数据存储层解决,快速和时效性要求由数据处理层解决,价值由数据分析层解决。
 
数据先要通过存储层存储下来,然后根据数据需求和目标来建立相应的数据模型和数据分析指标体系对数据进行分析产生价值。而中间的时效性又通过中间数据处理层提供的强大的并行计算和分布式计算能力来完成。三层相互配合,让大数据最终产生价值。
 

1、数据存储层

 
数据有很多分法,有结构化,半结构化,非结构化;也有元数据,主数据,业务数据;还可以分为GIS,视频,文件,语音,业务交易类各种数据。传统的结构化数据库已经无法满足数据多样性的存储要求,因此在RDBMS基础上增加了两种类型,一种是hdfs可以直接应用于非结构化文件存储,一种是nosql类数据库,可以应用于结构化和半结构化数据存储。
 
从存储层的搭建来说,关系型数据库,NoSQL数据库和hdfs分布式文件系统三种存储方式都需要。业务应用根据实际的情况选择不同的存储模式,但是为了业务的存储和读取方便性,我们可以对存储层进一步的封装,形成一个统一的共享存储服务层,简化这种操作。从用户来讲并不关心底层存储细节,只关心数据的存储和读取的方便性,通过共享数据存储层可以实现在存储上的应用和存储基础设置的彻底解耦。
 

2、数据处理层

 
数据处理层核心解决问题在于数据存储出现分布式后带来的数据处理上的复杂度,海量存储后带来了数据处理上的时效性要求,这些都是数据处理层要解决的问题。
 
在传统的云相关技术架构上,可以将hive,pig和hadoop-mapreduce框架相关的技术内容全部划入到数据处理层的能力。原来我思考的是将hive划入到数据分析层能力不合适,因为hive重点还是在真正处理下的复杂查询的拆分,查询结果的重新聚合,而mapreduce本身又实现真正的分布式处理能力。
 
mapreduce只是实现了一个分布式计算的框架和逻辑,而真正的分析需求的拆分,分析结果的汇总和合并还是需要hive层的能力整合。最终的目的很简单,即支持分布式架构下的时效性要求。
 

3、数据分析层

 
最后回到分析层,分析层重点是真正挖掘大数据的价值所在,而价值的挖掘核心又在于数据分析和挖掘。那么数据分析层核心仍然在于传统的BI分析的内容。包括数据的维度分析,数据的切片,数据的上钻和下钻,cube等。
 
数据分析我只关注两个内容,一个就是传统数据仓库下的数据建模,在该数据模型下需要支持上面各种分析方法和分析策略;其次是根据业务目标和业务需求建立的KPI指标体系,对应指标体系的分析模型和分析方法。解决这两个问题基本解决数据分析的问题。
 
传统的BI分析通过大量的ETL数据抽取和集中化,形成一个完整的数据仓库,而基于大数据的BI分析,可能并没有一个集中化的数据仓库,或者将数据仓库本身也是分布式的了,BI分析的基本方法和思路并没有变化,但是落地到执行的数据存储和数据处理方法却发生了大变化。
 
谈了这么多,核心还是想说明大数据两大核心为云技术和BI,离开云技术大数据没有根基和落地可能,离开BI和价值,大数据又变化为舍本逐末,丢弃关键目标。简单总结就是大数据目标驱动是BI,大数据实施落地式云技术。

上海尚学堂大数据培训编辑整理,。推荐阅读:《大数据与Hadoop之间的关系》;《云计算大数据高收入的11个技能和3个岗位 》

大数据与云计算的关系是什么,Hadoop又如何参与其中?Nosql在什么位置,与BI又有什么关系?的更多相关文章

  1. Hadoop,大数据,云计算三者之间的关系

    大数据和云计算是何关系?关于大数据和云计算的关系人们通常会有误解.而且也会把它们混起来说,分别做一句话直白解释就是:云计算就是硬件资源的虚拟化;大数据就是海量数据的高效处理.大数据.hadoop及云计 ...

  2. MongoDB实战指南(一):大数据与云计算

    1.1 什么大数据 具体来说,大数据技术涉及到数据的创造,存储,获取和分析,大数据的主要特点有下面几个: 数据量大.一个典型的PC机载2000年前后其存储空间可能有10GB,今天facebook一天增 ...

  3. 黑马基础阶段测试题:创建一个存储字符串的集合list,向list中添加以下字符串:”C++”、”Java”、” Python”、”大数据与云计算”。遍历集合,将长度小于5的字符串从集合中删除,删除成功后,打印集合中的所有元素

    package com.swift; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; ...

  4. 创新能力加速产业发展,SphereEx 荣获“中关村银行杯”『大数据与云计算』领域 TOP1

    8 月 9 日下午,2022 中关村国际前沿科技创新大赛"中关村银行杯"大数据与云计算领域决赛在北京市门头沟区中关村(京西)人工智能科技园·智能文创园落下了帷幕.SphereEx ...

  5. java大数据最全课程学习笔记(1)--Hadoop简介和安装及伪分布式

    Hadoop简介和安装及伪分布式 大数据概念 大数据概论 大数据(Big Data): 指无法在一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,是需要新处理模式才能具有更强的决策力,洞察发 ...

  6. 保姆级教程,带你认识大数据,从0到1搭建 Hadoop 集群

    大数据简介,概念部分 概念部分,建议之前没有任何大数据相关知识的朋友阅读 大数据概论 什么是大数据 大数据(Big Data)是指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需 ...

  7. IT大数据服务管理高级课程(IT服务,大数据,云计算,智能城市)

    个人简历 金石先生是马克思主义中国化的研究学者,上海财经大学经济学和管理学硕士,中国民主建国会成员,中国特色社会主义人文科技管理哲学的理论奠基人之一.金石先生博学多才,对问题有独到见解.专于工作且乐于 ...

  8. 【大数据和云计算技术社区】分库分表技术演进&最佳实践笔记

    1.需求背景 移动互联网时代,海量的用户每天产生海量的数量,这些海量数据远不是一张表能Hold住的.比如 用户表:支付宝8亿,微信10亿.CITIC对公140万,对私8700万. 订单表:美团每天几千 ...

  9. 大数据&人工智能&云计算

    仅从技术上讲大数据.人工智能都包含工程.算法两方面内容: 一.大数据: 工程: 1)云计算,核心是怎么管理大量的计算机.存储.网络. 2)核心是如何管理数据:代表是分布式存储,HDFS 3)核心是如何 ...

随机推荐

  1. vue搭建app, M端项目流程

    思路:安装sass预处理嵌套css,flex布局,flexible手机淘宝适配和fastclick移动300s延迟 打开cmd,使用命令行 1.切换盘符:e: 2.使用vue建立一个项目,具体请看我的 ...

  2. python3 字典(dictionary)(二)

    内置函数: len(dict):计算字典元素个数,即键的总数 str(dict):输出字典,以可打印的字符串表示. type(variable):返回输入的变量类型,如果变量是字典就返回字典类型.   ...

  3. js object数据类型

    1.object数据类型,[可以]认为JavaScript中顶级数据类型.在JavaScript绝大多数 高级类型对象都是object类型 2.如何创建一个object类型对象 1) 通过调用Obje ...

  4. 【玩转开源】BananaPi R2 —— 第二篇 Openwrt 网口配置分析

    上次和大家分享了如何烧录和安装Openwrt到BananaPi R2,运行Openwrt的R2目前就具备路由器的功能了,这次我们来看看R2运行Openwrt的性能如何,同时也会讲解一些常用的网络知识. ...

  5. Linux cpu 内存 压力测试

    stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s

  6. springmvc 控制器 读取properties文件

    配置文件app.properties如下: yt.api.url=http://localhost:9000 springmvc.xml 增加配置: <context:property-plac ...

  7. JS的变量的值怎么传递给PHP的变量?

    get: <script> name="xxx"; window.location='xxx.php? name='+name; post: <script> ...

  8. js实现页面重新加载

    https://blog.csdn.net/wangjian530/article/details/80596801

  9. Manacher算法 (马拉车算法)

    #include<iostream> #include<string.h> #include<algorithm> using namespace std; ]; ...

  10. notes for python简明学习教程(1)

    print总是以(\n)作为结尾,不换行可以指定一个空 end='' 字符串前面+r, 原始字符串 \ 显示行连接 input()函数以字符串的形式 返回键入的内容 函数参数, 有默认值的形参要放在形 ...