编辑导游词:相信大家平时用大数据处理产品时,会被各种专业技术名词弄得晕头转向,傻傻分不清。
本篇文章中,作者将大数据中常用的一些技术名词作了汇总和分类。感兴趣的小伙伴不妨来看看,说不定会用到哦。在大数据处理产品中经常会碰到一些技术名词,在这里汇总整理。
一、数据源类型
1. 宽表 VS 窄表
宽表:指字段比较多的数据库表。通常是指业务主体相关的指标、纬度、属性关联在一起的一张数据库表。
广泛应用于数据挖掘模型训练前的数据准备,通过把相关字段放在同一张表中,可以大大提供数据挖掘模型训练过程中迭代计算的消息问题。
虽然提高了数据查询效率,但存在大量冗余。
窄表:严格按照数据库设计三范式。减少了数据冗余,但修改一个数据可能需要修改多张表。
数据库设计三范式:
- 确保每列保持原子性;
- 确保表中的每列都和主键相关;
- 确保每列都和主键列直接相关,而不是间接相关。
2. MySQL
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。是目前最流行的关系型数据库管理系统之一。
3. Oracle
Oracle是一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。
它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。
4. GBase
GBase 是南大通用数据技术有限公司推出的自主品牌的数据库产品,在国内数据库市场具有较高的品牌知名度。
5. HBase
HBase是一个分布式的、面向列的开源数据库。
不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
6. FTP
FTP(File Transfer Protocol)是一套网络文件传输标准协议,访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。
7. HDFS
HDFS是一个Hadoop分布式文件系统,HDFS有着高容错性的特点,并且设计用来部署在低廉的硬件上。
而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。
二、数据计算
1. MaxCompute
MaxCompute是一项大数据计算服务,它能提供快速、完全托管的PB级数据仓库解决方案,可以经济并高效的分析处理海量数据。
2. Flink
Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。
Flink设计为在所有常见的集群环境中运行,以内存速度和任何规模执行计算。
3. Kafka
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
4. 离线计算 VS 实时计算
离线计算:通常也称为“批处理”,表示那些离线批量、延时较高的静态数据处理过程。
离线计算适用于实时性要求不高的场景,比如离线报表、数据分析等。常见计算框架:MapReduce,Spark SQL
实时计算:通常也称为“实时流计算”、“流式计算”,表示那些实时或者低延时的流数据处理过程。
实时计算通常应用在实时性要求高的场景,比如实时ETL、实时监控等。常见计算框架:Spark Streaming,Flink
5. OLTP VS OLAP
OLTP(On-Line Transaction Processing):可称为在线事务处理,一般应用于在线业务交易系统,比如银行交易、订单交易等。
OLTP的主要特点是能够支持频繁的在线操作(增删改),以及快速的访问查询。
OLAP(On-Line Analytical Processing):可称为在线分析处理,较多的应用在数据仓库领域,支持复杂查询的数据分析,侧重于为业务提供决策支持。
目前常见是的实时OLAP场景,比如Druid(Apache Druid,不同于阿里Druid)、ClickHouse等存储组件能够较好的满足需求。
三、分布式相关
1. Hadoop
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
2. HDFS
HDFS是一个Hadoop分布式文件系统。详情在上一小节中已介绍。
3. hive
Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载。
这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。
hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。
4. MapReduce
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。
概念”Map(映射)”和”Reduce(归约)”,是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。
它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。
5. Spark
Spark是专为大规模数据处理而设计的快速通用的计算引擎,类似于Hadoop MapReduce的通用并行框架,拥有Hadoop MapReduce所具有的优点;
但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
四、数据仓库
1. 简介
数据仓库(全称:Data Warehouse;简称:DW/DWH),是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的。
它是一整套包括了ETL(extract-transform-load)、调度、建模在内的完整的理论体系。
2. 与数据库的差异
数据仓库是专门为数据分析设计的,涉及读取大量数据以了解数据之间的关系和趋势。而数据库是用于捕获和存储数据。
3. 分层
- ODS(Operation Data Store): 数据源头层,数据仓库源头系统的数据表通常会原封不动的存储一份,这称为ODS层(可理解为原始库),是后续数据仓库加工数据的来源。数据来源:业务库、埋点日志、消息队列。
- DWD(Data Warehouse Details ):数据细节层,是业务层与数据仓库的隔离层。主要对ODS数据层做一些数据清洗和规范化的操作。数据清洗:去除空值、脏数据、超过极限范围的。
- DWB(Data Warehouse Base):数据基础层,存储的是客观数据,一般用作中间层,可以认为是大量指标的数据层,可理解为知识库字典、常用标准库。
- DWS(Data Warehouse Service): 数据服务层,基于DWB上的基础数据,整合汇总成分析某一个主题域的服务数据层,一般是宽表。用于提供后续的业务查询,OLAP分析,数据分发等。
- ADS(ApplicationData Service):应用数据服务,该层主要是提供数据产品和数据分析使用的数据,一般会存储在ES、mysql等系统中供线上系统使用。
4. 数据地图
以数据搜索为基础,提供表使用说明、数据类目、数据血缘、字段血缘等工具,帮助数据表的使用者和拥有者更好地管理数据、协作开发。
5. 数据血缘
即数据的来龙去脉,主要包含数据的来源、数据的加工方式、映射关系以及数据出口。
数据血缘属于元数据的一部分,清晰的数据血缘是数据平台维持稳定的基础,更有利于数据变更影响分析以及数据问题排查。
本文由@丸子不爱吃丸子 原创发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于CC0协议
1.《大数据中的技术概念》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《大数据中的技术概念》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/2536988.html