Big Data

大数据 TB 级以上.

目前关系型数据库支持百万级数据没有问题.

大数据的主要目的和流程:

透过大量的数据, 分析出数据模型进而指导业务. 从目的看, 主要有以下流程:

首先将数据收集 -> 大数据(高可用存储) -> 研究数据(数据分析的计算能力) -> 展示结果

大数据的基本生态

来源: google 的3篇论文 GFS, MapReduce, bigtable

GFS 和 MapReduce 最后产生了 Hadoop

bigtable 产生了 HBase.

Core: 一套分布式文件系统以及支持Map-Reduce的计算框架
HDFS (分布式文件系统)
解决大数据存储的问题
MapReduce(分析, 读取大数据) 基于 java语言
ZooKeeper: 高可用和可靠的分布式协同系统
Hive: 是为提供简单的数据操作而设计的下一代分布式数据仓库, 支持SQL标准来查询hdfs数据做mapreduce操作,主要是面向数据分析
HBase: 建立与 Hadoop Core 之上提供一个可扩展的数据库系统 (bigtable论文对应) 列式数据库
(不属于Hadoop家族) Flume: 分布式, 可靠,和高可用的海量日志聚合的系统,支持系统中定制各类数据发送方, 用于收集数据
(不属于Hadoop家族)Mahout: 可扩充机器学习库
(不属于Hadoop家族)Sqoop: 是 Apache下用 RDBMS 和 HDFS 相互导数据的工具

现在比较流程的架构

 个人意见

可以通过很多开元的技术搭建这一整套生态系统, 暂且不论生态系统的稳定性和如何能运维这一套开源的套件(每个组件都深入内部?)

如何利用好这些数据来挖掘出有价值的东西,这才是重点,而不是如何去搭建这一整套平台.

So:

数据分析: 本身是如何利用好技术, 做到 data modeling, 而编程for shuju分析技术本身对于这块(数据分析)来说, 所占的比重并不大, 这块的重点是如何利用数据分析出问题, 所以要懂数据.

数据挖掘: 在有了大数据这个平台之后, 如何通过AI 的技术来做数据挖掘, 可能很大程度上会有“AI platform"做成产品级工具提供数据挖掘的解决方案, 而对于我们而言, 很显然这也不是我们的一个方向. 因为可能是AI platform 已经提供的service.

所以针对大数据, 我们更加重要的是 focus 如何利用数据, 如何分析数据, 而不是技术

流程步骤

数据采集 -> 数据存储 -> 数据提取 -> 数据挖掘 -> 数据分析 -> 数据展现 -> 数据应用

可以看到, 数据挖掘实际上是在数据分析之前。

数据挖掘:利用工具,不需要懂数据的业务逻辑,纯是技术上的挖掘。

数据分析:更多的是通过挖掘出来的信息看看怎么作用回业务,需要懂业务数据。

相关业务逻辑

大数据的搭建等等 都是使用成熟的框架, 没有业务参与, 将来不确定是否会被 container 替代.

有业务逻辑参与的是: Hive (SQL) 查询数据 和 shellscript / python 一些脚本的实例. 

大数据技术的核心

大数据的传输, 大数据的存储, 大数据的计算.

原文地址:https://www.cnblogs.com/moveofgod/p/12303685.html