您的位置:首页 > 大数据

大数据平台设计

2016-06-27 10:44 190 查看



大数据总介

我们通常说的大数据,包括大数据本身和基于大数据的系统和技术。大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(价值)、Veracity(真实性)。而基于大数据技术的应用层级分商业智能,和平台解决方案两种。
平台解决方案:偏技术层,基础层,解决数据处理,存储,清洗,收集,api提供,系统调度等操作
商业智能:分析,过滤,可视化,推荐,数据挖掘,机器学习等

公司里,一个完整的大数据系统为三大块:收集,存储,处理,各个系统之间交互都存在过滤,时间性和一定的容错机制



 

       (1)平台层:为大数据存储和挖掘提供大数据存储和计算平台,为多区域智能中心的分析架构提供多数据中心调度引擎; 

  (2)功能层:为大数据存储和挖掘提供大数据集成、存储、管理和挖掘功能; 

  (3)服务层:基于 Web 和 Open API 技术提供大数据服务。

其中功能层位于平台层之上,类似mvc中dao和service关系。一个分布式的平台层,和完善的功能层,才能为上层的业务提供可靠的服务。而根据不同的系统特点,选择不同的技术架构,是重中之重。

华为的Fusion系统:




各系统功能



 

1. 平台层 

  (1)大数据分布式存储系统:研究大规模、非结构化数据的存储问题,突破大数据的存储、管理和高效访问关键技术,当前需要构建至少 PB 级存储能力的大数据平台才能满足一般的科研和应用需求。 

  (2)分布式数据挖掘运行时系统:突破 MapReduce 技术的局限,研究有效支持迭代、递归、层次及集成机制的海量数据挖掘编程模型和运行时系统,构建大数据运行时系统。 

  (3)智能数据中心联合调度技术:研究多数据中心的智能联合调度、负载均衡技术,整合多个数据中心的存储和计算资源,构建基于多智能中心的大数据服务平台。

 

2. 功能层 

  (1)高可扩展性大数据挖掘算法:基于云计算的分布式大数据处理与挖掘算法,构建高可扩展的大数据处理与挖掘算法库,实现 TB 级数据的建模能力。 

  (2)大数据安全与隐私保护技术:参考数据挖掘“软件即服务”(SaaS)模式的需求,研究开发数据挖掘在云环境下的隐私保护、数据审计和节点数据挖掘技术,确保大数据挖掘过程中的数据安全,保证用户的隐私不被泄露。 

  (3)分布式工作流引擎:基于云计算的分布式工作流调度、负载均衡技术,构建高效分布式工作流执行引擎。 

  (4)交互式可视化分析技术:启发式、人机交互、可视化数据挖掘新技术,实现大数据挖掘的高度人机交互功能。

 

3. 服务层 

  (1)基于 Web 的大数据挖掘技术:Web 的大数据挖掘方法和流程,实现易于使用的基于 Web 的大数据挖掘技术,构建基于 Web 的大数据分析环境。 

  (2)基于 Open API 的大数据挖掘技术:Open API 的大数据挖掘方法,研究大数据挖掘开放接口、开放流程,构建基于 Open API 的大数据分析模式。 

  为了提供大数据处理和分析的服务功能,大数据分析平台要采用基于云计算的大数据存储和处理架构、分布式数据挖掘算法和基于互联网的大数据存储、处理和挖掘服务模式。实现这一目标需要做如下创新: 

  (1)系统架构创新:基于互联网和云计算的大数据存储、处理和挖掘的数据中心系统架构,支持多用户、多任务的大数据分析环境; 

  (2)服务模式创新:基于互联网的大数据存储、处理和分析服务模式,为用户提供按需、廉价的大数据存储、处理和分析服务; 

  (3)使用模式创新:基于互联网的大数据存储、管理和分析服务,提供多终端(台式机、笔记本、平板电脑、手机等)、多途径(浏览器访问,Open API 调用等)的用户使用模式。

总结:系统为统一配置,且各系统之间互相为服务式调用,每个系统多为分布式系统,解决大数据量的问题。从功能角度看,系统支持同时运行多个大数据任务,面向用户为配置,调用,和结果展示。且为其他系统提供数据录入的api。


数据归类

内容的格式
数据的类型(例如,交易数据、历史数据或主数据)
将提供该数据的频率
意图:数据需要如何处理(例如对数据的临时查询)
处理是否必须实时、近实时还是按批次执行。

由此可以看出,衡量大数据的三个维度:数量,处理时间,和内容。目前企业的大数据起点基本都是PB级别的数据。

由此级别再进行细分:

按特定方向分析大数据的特征会有所帮助,例如以下特征:数据如何收集、分析和处理。对数据进行分类后,就可以将它与合适的大数据模式匹配:
分析类型 — 对数据执行实时分析还是批量分析。请仔细考虑分析类型的选择,因为这会影响一些有关产品、工具、硬件、数据源和预期的数据频率的其他决策。一些用例可能需要混合使用两种类型:
欺诈检测;分析必须实时或近实时地完成。
针对战略性业务决策的趋势分析;分析可采用批量模式。

处理方法 — 要应用来处理数据的技术类型(比如预测、分析、临时查询和报告)。业务需求确定了合适的处理方法。可结合使用各种技术。处理方法的选择,有助于识别要在您的大数据解决方案中使用的合适的工具和技术。
数据频率和大小 — 预计有多少数据和数据到达的频率多高。知道频率和大小,有助于确定存储机制、存储格式和所需的预处理工具。数据频率和大小依赖于数据源:
按需分析,与社交媒体数据一样
实时、持续提供(天气数据、交易数据)
时序(基于时间的数据)

数据类型 — 要处理数据类型 — 交易、历史、主数据等。知道数据类型,有助于将数据隔离在存储中。
内容格式(传入数据的格式)结构化(例如 RDMBS)、非结构化(例如音频、视频和图像)或半结构化。格式确定了需要如何处理传入的数据,这是选择工具、技术以及从业务角度定义解决方案的关键。
数据源 — 数据的来源(生成数据的地方),比如 Web 和社交媒体、机器生成、人类生成等。识别所有数据源有助于从业务角度识别数据范围。该图显示了使用最广泛的数据源。
数据使用者 — 处理的数据的所有可能使用者的列表:
业务流程
业务用户
企业应用程序
各种业务角色中的各个人员
部分处理流程
其他数据存储库或企业应用程序

硬件 — 将在其上实现大数据解决方案的硬件类型,包括商用硬件或最先进的硬件。理解硬件的限制,有助于指导大数据解决方案的选择。




公司解决方案

大数据为金融公司带来的利益约为以下几点:
合规性和监管报告
风险分析和管理
欺诈检测和安全分析
CRM 和客户忠诚度计划
信用风险、评分和分析
高速套利交易
交易监管
异常交易模式分析

每一项可以对应一个系统或多个系统,但任何系统都是基于 数据+正确的算法进而产生有价值的数据,而我们公司为可基于金融和移动互联网数据来源,逐步实现上述功能。
用户画像:
日志分析:事件分析,监控预警,审核
推荐系统


平台层


1.大数据存储


数据仓库概念设计

数据存储采取数据仓库方式,数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support)。其实数据仓库本身并不“生产”任何数据,同时自身也不需要“消费”任何的数据,数据来源于外部,并且开放给外部应用,这也是为什么叫“仓库”,而不叫“工厂”的原因。数据仓库从各数据源获取数据及在数据仓库内的数据转换和流动都可以认为是ETL(抽取Extra,
转化Transfer, 装载Load)的过程,ETL是数据仓库的流水线,也可以认为是数据仓库的血液,它维系着数据仓库中数据的新陈代谢,而数据仓库日常的管理和维护工作的大部分精力就是保持ETL的正常和稳定。因此数据仓库的基本架构主要包含的是数据流入流出的过程,可以分为三层——源数据、数据仓库、数据应用:



数据存储:数据仓库先要建立和维护细节数据,再根据需求聚合和处理细节数据生成特定的分析模型。其中细节数据可以以不变应万变。面向主题是数据仓库的第一特性,主要是指合理地组织数据以方便实现分析。

数据的聚合,avg,sum等
多维数据模型:地域,时间,消费层次等
业务模型:基于数据分析和决策支持而建立起来的数据模型,如用户评价模型,关联推荐模型,RFM分析模型,或者是决策支持的线性规划模型、库存模型等。数据挖掘中前期数据的处理也可以在这里完成。
元数据管理,记录数据仓库中模型的定义,各层级间的映射关系,监控数据仓库的数据状态及ETL的任务运行状态。一般会通过元数据资料库(Metadata Repository)来统一地存储和管理元数据,其主要目的是使数据仓库的设计、部署、操作和管理能达成协同和一致。淘宝的元数据架构:




2.计算平台

计算平台对数据进行建模分析,此时存在数据仓库中多是细节基础数据,在细节基础数据上进行计算,需要做到下面几点
适应多个数据源
落地的数据可能存在多个数据源
并行计算
配置化执行
能适应准实时的流式处理

方案:用spark流式处理。


3.调度引擎

先看看阿里的调度系统,功能点如下
根节点启动
任务之间基于触发启动
能很好解决均衡负载
ETL任务的优先级能传递到云梯的资源分配调度
很好解决gateway失效的问题
一键式运维,轻松快捷

其中解决负载均衡可以通过第三方自带框架解决,调度引擎基本负责各个任务的监控和调度,根据任务类型,可以划分
数据收集类任务:如flume,canal等
数据分析类任务:如业务建模,多维度建模,数据分析,ETL等
数据管理类任务:如数据迁移,压缩,集群类管理可以单独用运维工具。
定时执行


功能层


大数据集成

数据集成主要可以理解为对下面三个平台的操作,然后都通过服务方式提供,元数据统一控制。增量同步的话在数据量过大的情况下,常常会出现消费者速度无法跟上,此时需要用到kafka。

 需要实现下面几点:
实时和非实时
触发式和定时任务
ETL
基本覆盖所有的数据源
agent收集和api接收

 目前我们可以获取的数据的四个大途径:


日志:

目前是flume收集,日志的过滤在每个agent层


数据库:

实时类型:

mysql: alibaba的 canal,目前还是需要配置模式才能运行。

oracle:

非实时类型:

datax,可以一天一次,基本支持所有的数据库 


文档数据

需要通过其他方式先解析文档,读取内容


大数据管理

从数据源过来的数据已经过一次ETL,此时面向的是数据仓库中的数据,提供基础的数据管理功能,并且是一个可视化的页面
数据压缩
权限管理:分管理员,普通用户,可以引用公司的openid
数据二次清理
数据迁移
数据转换
元数据监控,元数据改变则重启相关的任务
任务监控
资源监控

数据管理平台包括对任务调度管理平台和数据计算平台的使用,以及大数据存储平台的监控。而平台的监控可以通过gangalia来监控,然后访问api获取结果。


大数据存储

采用hadoop分布式存储方式,不过这个之前需要有个代理,根据不同的数据类型,选择不同的存储方式
历史性数据不可修改的,可以压缩成结构化parquet格式
文档格式数据,如txt,可以压缩
非结构化数据存储txt
结构化数据存储hive的orc

因此存储系统应该包括多个系统,并且其中hadoop的实时性较差,在读写的时候需要长连接打开流,若要求实时性会存在碎文件。而其他nosql产品 mangodb,hbase,redis 可以较快读写。

elasticsearch的查询速度快,适用查询快的应用。

元数据是贯穿整个系统的配置,目前考虑存储在mysql中。


大数据挖掘

先看一个kimball数据建模



事实数据表

      数据仓库架构中的中央表,它包含联系事实与维度表的数字度量值和键。事实数据表包含描述业务(如银行事务或产品销售)内特定事件的数据。事实数据表不应该包含描述性的信息,也不应该包含除数字度量字段及使事实与纬度表中对应项的相关索引字段之外的任何数据

维度表

      数据仓库中的表,其条目描述事实数据表中的数据。维度表包含创建维度所基于的数据。 维度表可以看作是用户来分析数据的窗口,包含事实数据表中事实记录的特性,

主题

      主题是与传统数据库的面向应用相对应的,是一个抽象概念,是在较高层次上将企业信息系统中的数据综合、归类并进行分析利用的抽象。每一个主题对应一个宏观的分析领域。在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象。面向主题的数据组织方式,
就是在较高层次上对分析对象数据的一个完整并且一致的描 述,能刻画各个分析对象所涉及的企业各项数据,以及数据之间的联系。所谓较高层次是相 对面向应用的数据组织方式而言的, 是指按照主题进行数据组织的方式具有更高的数据抽象 级别。 与传统数据库面向应用进行数据组织的特点相对应, 数据仓库中的数据是面向主题进行组织的。主题是根据分析的要求来确定的。这与按照数据处理或应用的要求来组织数据是不同的。

主题域

  主题域通常是联系较为紧密的数据主题的集合。可以根据业务的关注点,将这些数据主题划分到不同的主题域。主题域的确定必须由最终用户数据仓库的设计人员共同完成。

主题域、主题、实体间关系

  主题设计是对主题域进一步分解,细化的过程。主题域下面可以有多个主题,主题还可以划分成更多的子主题,而实体则是不可划分的最小单位。

而关于一个


服务层

1.open api


商业智能


1.用户画像


2.用户推荐


3.统计报表

4.机器学习
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: