数据湖架构

目录

前言

数据湖-单向数据湖的问题

数据湖的实现流程

数据湖中的数据类型

数据池

数据池的通用结构

模拟信号数据池

应用程序数据池

文本数据池

数据池之间的对比

数据湖常用的方式-搜索与分析

数据池中的业务价值

数据湖的一些规范

数据湖中的技术或工具

归档数据池

数据湖和数据仓库


前言


在大数据时代,大数据项目成了各大公司迫在眉睫的实现案例,于是各大公司各显神通,出现了很多数据平台和架构的设计方案。但是,很多大数据项目的落地过程并不容易,最大的问题是,很多客户反应已经接入了那么多的数据,为什么在出报表或要分析相关数据时的周期却那么长,通常需要1至2周,更重要的是很多时候分析的结果并不能给公司带来高收益或高效率,进而不能够给公司的决策上带来帮组,这样数据湖就变成了“垃圾场”。
 

数据湖-单向数据湖的问题


造成数据湖的价值之低的主要原因有以下几点:
  • 数据量大:大量数据接入数据湖,找到想要分析的数据犹如大海捞针
  • 数据的含义模糊:存在各种各样的数据,在数据的阅读和理解上需要专业人事的水平
  • 数据的格式复杂:由于数据格式的多样和复杂,造成数据在存储和计算上造成过高的成本
  • 数据的不规范化:只负责接入数据,而不对数据进行规范的管理,增大数据的获取和分析的难度
 
以上原因也就造成数据湖的利用效率变低,也就是数据进来了,但是输出有价值的数据少之又少,这种数据湖也称为“单向数据湖”。
 

数据湖的实现流程


为了提高数据湖中的数据价值,就需要对数据湖进行规划改造。实现数据湖要符合以下4种规范:
 
1、元数据(metadata)
元数据就是数据湖中的对数据进行描述的数据。当我们要使用某个数据集时,要事先知道这个数据集有哪些信息,这些信息包括数据属性、属性类型、主键值、索引以及数据属性之间的关系等描述。
 
2、整合图谱(integration mapping)
整合图谱描述的是多个数据集之间是如何产生关联的,以及数据以什么样的逻辑被组合到一起。
 
3、语境(context)
语境也叫上下文,主要针对文本数据的分析中,语境描述的是一个词语或语句在数据记录中所表达的意思。如果文本数据缺乏语境描述,那么在分析时很容易出现数据上的意义不明确或表达出现歧义,也就是同一个词语或语句在不同的数据记录中表示的意义不同。
 
4、元过程(meta process)
元过程信息描述的是数据是被如何处理的,如数据在何处产生(如设备IP)?在何时产生(如时间戳)?由谁产生(如某个应用程序)?被如何处理的(如使用正则解析)?如何进入数据湖的(如udp/agent方式)?
 

数据湖中的数据类型


数据湖中有各种各样类型的数据,主要被分为3种:
1、模拟信号数据
  • 来源:机器设备(cpu、容量)、传感器、程序埋点等
  • 特点:数据量巨大,重复性数据,通常作为指标监测,异常值是关注点
2、应用程序数据
  • 来源:应用系统、业务系统,如:访问日志、关系数据库表
  • 特点:数据量较大、重复性数据,以记录形式出现,通常作为应用和业务的分析
3、文本数据
  • 来源:应用系统,通常会与某个应用系统相关联,如:文章、评论、邮件等
  • 特点:数据量大、非重复非结构化数据。在分析前需要结构化,并标识相关语境信息
 

数据池


1、初始数据池:数据最开始进入初始化数据池,所以它必须要小且向外传递数据的速度要快
 
2、模拟信号数据池:存储模拟信号数据的地方,这里主要对数据进行缩减
 
3、应用程序数据池:应用程序数据算是数据湖中“最干净”的数据,需要对数据解析以便分析
 
4、文本数据池:它是非结构化数据,需要进行数据消歧(解析成一致格式、标识语境)
 
5、归档数据池:存储历史中不常用于分析的数据(或过期数据)
 

 
 

数据池的通用结构


每个数据池都有一些共同的组成部分:
  • 数据池描述:更新频率、来源描述、数据量、选择标准(为什么采纳这个数据)、摘要标准(采用什么算法处理了数据)、规划标准(数据规划描述)、数据关系
  • 数据池目标:用于调整数据模型,如用户描述、销售记录、库存记录等
  • 数据池数据:数据的实体,通常采用read on schema方式
  • 数据池元数据:用来描述数据的具体特征,如:属性、键、索引等
  • 数据池元过程:用来描述数据调整或解析的过程,属于数据池外的处理过程
  • 数据转换标准:数据调整或解析的标准,如:如何过滤、统一单位、打标签、消歧等。
 

模拟信号数据池


对于模拟信号数据,最大的挑战是如何简化和提炼出重要的数据。有如下方法:
  • 消重:也就是去重
  • 切除:过滤掉没用的数据
  • 压缩:压缩后,需要解压缩
  • 平滑:消除或修改异常值
  • 插值:根据数据点周围的数值推断可能的值
  • 采样:适用粗度分析,不适合精细分析
  • 舍入:删除或舍掉无关要紧的数据
  • 编码:用较短符号代表长字符串
  • 标记:是数据编码的一种,适用标记高度重复数据
  • 阈值:阈值是数据切除的一种形式
  • 聚类:是数据消重的一种
  • 聚合:用来缩减数据,提供缩减后的平均值、最大值、最小值、标准差等
 

应用程序数据池


应用程序数据包含关系数据库数据、应用日志、业务日志等,调整和解析这些数据有如下方法:
  • 正则解析:使用正则解析出需要分析的属性
  • 打标签:使用对照档方式或程序方式打标签
  • 关联应用数据:使用离线计算或流计算整合数据
 

文本数据池


文本数据是非结构化数据,在整合和分析上的难度都比较大,整合的方式主要是文本消歧:
  • 分词:文本数据结构化的一种方式
  • 内在语境判断:根据周围单词或上下文判断某个词语或语句的表示意思
  • 领近:彼此邻近的词更容易发现词义
  • 同形词辨认:如"ha"可以表示头疼(head ache),也可以表示高可用(high availability)
  • 拼写转换:在英格兰,单词color的拼法是colour
  • 缩写辨认:一种拼写转换的一种,如NBA是美国职业篮球联赛(National Basketball Association)
  • 自定义变量识别:如电话号识别、身份证识别
  • 类别辨认:是文本消歧的一种,也就是归类,如:苹果、梨都属于水果
  • 日期标准化:如2019年10月10日和2019-10-10是一样的
 

数据池之间的对比


1、相同点
  • 都会将初始数据转换、解析、整合成为适合分析的形式
  • 最终都能够回支持业务分析
  • 最后数据都发送到归档数据池
 
2、不同点
  • 进入不同数据池的数据类型不同(模拟信号数据、应用程序数据、文本)
  • 转换和调整的过程也不相同
  • 每个数据池最终的数据状态所产生的业务分析类型不同
 
3、建议点
  • 数据的最终状态是否一定是关系数据库格式:不一定,不过通常是关系型结构化的格式
  • 每个数据池的最终状态数据是否以同一种技术处理:不一定,为了减少开销,通常会使用相同技术
  • 数据池之间的数据移动:技术上可行,但是不建议这样做,意义不大
  • 在多个数据池进行分析:技术上可行,必要时需要这样分析
  • 使用元数据来关联不同数据池的数据:不同数据池的数据关系首先发生在元数据层
  • 如何处理不属于本文提到的3种类型数据:不要将此数据放置在不属于它的数据池内,建议放在初始数据池内的杂项数据区。
 

数据湖常用的方式-搜索与分析


当被转换和整合的数据进入数据池后,接下来就是进行业务分析了,这里有两个步骤:
 
(1)找到数据-搜索
搜索技术是找数据的高效方式,常用的搜索技术有:建立索引、搜索引擎。
 
(2)分析数据-分析
数据分析也有多种形式:数据排序、数据摘要、数据比较、异常分析等。
常用的数据分析技术有:OLAP分析引擎、机器学习。
 

数据池中的业务价值


不同数据池提供的价值和提供价值的方式是不尽相同的。
 
1、模拟信号数据池
    提供价值的方式:异常检测、发现数据规律(如趋势)
 
2、应用程序数据池:
    提供价值的方式:审计、统计分析、历史追溯
 
3、文本数据池
    提供价值的方式:语义分析(情感、观点)、文本分类
 
看待数据池所提供的业务价值的另一个角度是通过记录所含的业务价值百分比(有价值记录/所有记录)。
 
实际中,大量重复的数据是乏味的,一般只会关心异常和特殊的数据记录,而非重复的记录都是有趣的,尽管或多或少有些差别,但都具有业务价值。
 
所以,3种数据池含有的业务价值排名如下:
 
模拟信号数据池(很低%) <  应用程序数据池(低%) <    文本数据池(很高%)
 
 

数据湖的一些规范


1、文档的重要性
  • 数据如何进入数据湖、如何从一个数据池流向另一个数据池、如何流入归档数据池
  • 数据池的元数据信息、元过程信息、转换文档、数据流动架构、数据进入或离开数据池的标准
2、流入数据湖的数据
  • 企业或工厂信息、机器或设备数据、应用业务系统、数据仓库、数据集市等
3、数据的年龄
  • 在数据湖中,可以找到任何年龄的数据,包括秒、天、年
  • 需要长时间保留数据的另一个原因是为了合规要求,有些数据是必须永久保存的
4、数据的安全
  • 数据湖环境需要安全,但是不如其它数据处理环境中那么严格
  • 常见数据安全的处理方式有:权限控制、加密、脱敏
 

数据湖中的技术或工具


常用的数据湖的实现技术或工具如下:
  • 可视化:BI工具、Grafana、Echart等
  • 搜索或检索:Elasticsearch、Solr
  • 文本消歧:自然语言处理技术、数据解析或整合时打标签
  • 统计分析:OLAP工具、Impala、Presto、Hive、Spark
  • 数据ETL处理:Logstash、Spark、Kettle
 

归档数据池


数据池的数据是有生命周期的,归档数据池是用来保存那些生命周期步入尾声的数据。
 
数据进入归档数据池的标准:
  • 老化的数据
  • 低使用频率的数据
  • 由于法规要求强制保留的数据
  • 由于数据具有关键性价值而被保留的数据
 
必要时,需要为归档数据池建立单独的索引。
 

数据湖和数据仓库


根据要求,典型的组织将需要数据仓库和数据湖,因为它们可满足不同的需求和使用案例。
 
数据仓库是一个优化的数据库,用于分析来自事务系统和业务线应用程序的关系数据。事先定义数据结构和 Schema 以优化快速 SQL 查询,其中结果通常用于操作报告和分析。数据经过了清理、丰富和转换,因此可以充当用户可信任的“单一信息源”。
 
数据湖有所不同,因为它存储来自业务线应用程序的关系数据,以及来自移动应用程序、IoT 设备和社交媒体的非关系数据。捕获数据时,未定义数据结构或 Schema。这意味着您可以存储所有数据,而不需要精心设计也无需知道将来您可能需要哪些问题的答案。您可以对数据使用不同类型的分析(如 SQL 查询、大数据分析、全文搜索、实时分析和机器学习)来获得见解。
 
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值