数据仓库

马蜂窝数据仓库的架构、模型与应用实践

為{幸葍}努か 提交于 2019-11-30 18:12:54
(马蜂窝技术原创内容,公众号ID:mfwtech) 一、马蜂窝数据仓库与数据中台 最近几年,数据中台概念的热度一直不减。2018 年起,马蜂窝也开始了自己的数据中台探索之路。 数据中台到底是什么?要不要建?和数据仓库有什么本质的区别?相信很多企业都在关注这些问题。 我认为数据中台的概念非常接近传统数据仓库+大数据平台的结合体。它是在企业的数据建设经历了数据中心、数据仓库等积累之后,借助平台化的思路,将数据更好地进行整合与统一,以组件化的方式实现灵活的数据加工与应用,以更清晰的数据职能组织应对业务的快速变化,以服务的方式更好地释放数据价值的一种方式。 所以,数据中台更多的是体现一种管理思路和架构组织上的变革。在这样的思想下,我们结合自身业务特点建设了马蜂窝的数据中台,核心架构如下: 在中台建设之前,马蜂窝已经建立了自己的大数据平台,并积累了一些通用、组件化的工具,这些可以支撑数据中台的快速搭建。作为中台的另一大核心部分,马蜂窝数据仓库主要承担数据统一化建设的工作,包括统一数据模型,统一指标体系等。下面介绍马蜂窝在数据仓库建设方面的具体实践。 二、数据仓库核心架构 马蜂窝数据仓库遵循标准的三层架构,对数据分层的定位主要采取维度模型设计,不会对数据进行抽象打散处理,更多注重业务过程数据整合。现有数仓主要以离线为主,整体架构如下: 如图所示,共分为 3 层: 业务数据层

马蜂窝数据仓库的架构、模型与应用实践

拜拜、爱过 提交于 2019-11-30 18:11:37
(马蜂窝技术原创内容,公众号ID:mfwtech) 一、马蜂窝数据仓库与数据中台 最近几年,数据中台概念的热度一直不减。2018 年起,马蜂窝也开始了自己的数据中台探索之路。 数据中台到底是什么?要不要建?和数据仓库有什么本质的区别?相信很多企业都在关注这些问题。 我认为数据中台的概念非常接近传统数据仓库+大数据平台的结合体。它是在企业的数据建设经历了数据中心、数据仓库等积累之后,借助平台化的思路,将数据更好地进行整合与统一,以组件化的方式实现灵活的数据加工与应用,以更清晰的数据职能组织应对业务的快速变化,以服务的方式更好地释放数据价值的一种方式。 所以,数据中台更多的是体现一种管理思路和架构组织上的变革。在这样的思想下,我们结合自身业务特点建设了马蜂窝的数据中台,核心架构如下: 在中台建设之前,马蜂窝已经建立了自己的大数据平台,并积累了一些通用、组件化的工具,这些可以支撑数据中台的快速搭建。作为中台的另一大核心部分,马蜂窝数据仓库主要承担数据统一化建设的工作,包括统一数据模型,统一指标体系等。下面介绍马蜂窝在数据仓库建设方面的具体实践。 二、数据仓库核心架构 马蜂窝数据仓库遵循标准的三层架构,对数据分层的定位主要采取维度模型设计,不会对数据进行抽象打散处理,更多注重业务过程数据整合。现有数仓主要以离线为主,整体架构如下: 如图所示,共分为 3 层: 业务数据层

MYSQL做数据仓库的性能瓶颈

二次信任 提交于 2019-11-30 17:34:07
缺少hash join 和parallel 这种工具,MYSQL 注定不是个合适的数据仓库工具。 无论是是myisam还是innodb,在处理一个复杂的SQL查询的时候,并不能发挥多核CPU的性能。 只会有一个CPU正在满负荷地运转。 所以对于一个分析性数据库而言,MYSQL多核实际上是极大的浪费。 MYSQL做查询优化的时候,一个是注意在group by后面使用order by null,禁用默认的group by排序。 二是使用索引,5.6有condition push down的功能。可以大大提高索引查询的效率。 事务型应用尽量使用主键查询,或者查询的数据是有索引。 选择索引的字段,一定要符合差异率高的字段,甚至比联合索引带来的整体效果更好。 但是方案选型了以后,只能做更多的优化。 比如说:手动拆分SQL,再合并结果集。 my.cnf配置优化,增加临时表空间和key_buffer_size等等。 即使是KETTLE, DATASTAGE, 在处理海量数据的时候,也不能做到像hadoop那样分布式计算。 哎,如果让我选型的话,还是上PG库算了。 来源: oschina 链接: https://my.oschina.net/u/254596/blog/511514

Hive --数据仓库工具

怎甘沉沦 提交于 2019-11-30 14:33:06
Hive–数据仓库工具 1.Hive核心架构 2.Hive开发环境和使用方式 3.Hive核心原理解析 4.核心概念 5.HQL查询详解 6.Hive批处理脚本开发 7.Hive函数详解 8.高级特性与调优 原文: 大专栏 Hive --数据仓库工具 来源: https://www.cnblogs.com/petewell/p/11597681.html

Kylin系列(一)—— 入门

落花浮王杯 提交于 2019-11-29 17:37:57
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/w124374860/article/details/82464518 总目录 Kylin系列(一)—— 入门 Kylin系列(二)—— Cube 构造算法 总目录 前言 核心概念 数据仓库 传统数仓和大数据数仓的区别 OLAP和OLTP 维度和度量 维度的基数 事实表和维度表 星型模型 Kylin中维度表的设计 Cube和Cuboid Kylin的技术架构 Kylin的核心模块 REST Server 查询引擎(Query Engine) Routing 元数据管理工具 任务引擎(Cube Build Engine) Kylin Cube三种构造 博客参考 因为平常只会使用kylin而不知其原理,故写下此篇文章。文章不是自己原创,是看过很多资料,查过很多博客,有自己的理解,觉得精华的部分的一个集合。算是自己对Kylin学习完的一个总结和概括吧。文章最后有链接,需要请自取。 前言 企业中的查询大致可分为即席查询和定制查询两种。很多的OLAP引擎包括Hive、Presto、SparkSQL,虽然很大成都上能降低数据分析的难度,但是他们都只适用于即席查询的场景。但是随着数据量和计算复杂度的增长,响应时间是无法保证的

你需要的不是实时数仓 | 你需要的是一款强大的OLAP数据库(上)

限于喜欢 提交于 2019-11-29 12:40:19
来源:大数据技术与架构 作者:王知无 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! By 大数据技术与架构 场景描述: 今年有个现象,实时数仓的建设突然就被大家所关注。我个人在公众号也写过和转载过几篇关于实时数据仓库建设的文章和方案。 对于实时数仓的狂热追求大可不必如此。 关键词: 实时数仓 OLAP架构选型 声明:本文参考了阿里巴巴菜鸟网络,知乎,网易严选,美团的实时数仓设计的公开技术文章,感谢以上各位技术同学无私付出。参考链接在文末给出。 《大数据技术与架构》读者拥有本文的优先阅读权。 本文版权个人所有,未经作者本人允许不得转载。 阿里巴巴F4 · A band镇贴 前言 今年有个现象,实时数仓建设突然就被大家所关注。我个人在公众号也写过和转载过几篇关于实时数据仓库的文章和方案。 但是对于实时数仓的狂热追求大可不必如此。 首先,在技术上几乎没有难点,基于强大的开源中间件实现实时数据仓库的需求已经变得没有那么困难。其次,实时数仓的建设一定是伴随着业务的发展而发展,武断的认为Kappa架构一定是最好的实时数仓架构是不对的。实际情况中随着业务的发展数仓的架构变得没有那么非此即彼。 在整个实时数仓的建设中,OLAP数据库的选型直接制约实时数仓的可用性和功能性。本文从业内几个典型的数仓建设和发展情况入手,从架构

python数据挖掘试题四十道,你敢来挑战吗?

有些话、适合烂在心里 提交于 2019-11-29 10:27:36
自从毕业后,你多久没有进行过考试了?如果再给你一次重新考试的机会,你会怎么考?今天分享给大家的是python数据挖掘试题四十道,文末有答案,但希望你从接受挑战那一刻起,就像期末考试一样对待! 1.某超市研究销售纪录数据后发现,买啤酒的人很大概率也会购买尿布,这种属于数据挖掘的哪类问题? A.关联规则发现 B.聚类 C.分类 D.自然语言处理 2.以下两种描述分别对应哪两种对分类算法的评价标准? (a)警察抓小偷,描述警察抓的人中有多少个是小偷的标准。 (b)描述有多少比例的小偷给警察抓了的标准。 A.Precision,Recall B.Recall,Precision C.Precision,ROC D.Recall,ROC 3.将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务? A.频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 4.当不知道数据所带标签时,可以使用哪种技术促使带同类标签的数据与带其他标签的数据相分离? A.分类 B.聚类 C.关联分析 D.隐马尔可夫链 5.什么是KDD? A.数据挖掘与知识发现 B.领域知识发现 C.文档知识发现 D.动态知识发现 6.使用交互式的和可视化的技术,对数据进行探索属于数据挖掘的哪一类任务? A.探索性数据分析 B.建模描述 C.预测建模 D.寻找模式和规则 7.为数据的总体分布建模

数据仓库的初识

北城以北 提交于 2019-11-29 06:41:13
数据仓库技术 https://blog.csdn.net/zzq900503/article/details/78405958#commentBox 从功能结构划分,数据仓库系统至少应该包含数据获取(Data Acquisition)、数据存储(Data Storage)、数据访问(Data Access)三个关键部分。 一、数据获取 实现ETL转换的过程体现为以下几个方面: 1、空值处理:可捕获字段空值,进行加载或替换为其他含义数据,并可根据字段空值实现分流加载到不同目标库。 2、规范化数据格式:可实现字段格式约束定义,对于数据源中时间、数值、字符等数据,可自定义加载格式。 3、拆分数据(使用UDF函数):依据业务需求对字段可进行分解。 4、验证数据正确性:可利用Lookup及拆分功能进行数据验证。 5、数据替换:对于因业务因素,可实现无效数据、缺失数据的替换。 6、建立ETL过程的主外键约束:对无依赖性的非法数据,可替换或导出到错误数据文件中,保证主键唯一记录的加载。 二、数据存储 常见的数仓模型: 星型模型的设计方式主要带来的好处是能够提升查询效率,因为生成的事实表已经经过预处理,主要的数据都在事实表里面, 所以只要扫描实时表就能够进行大量的查询,而不必进行大量的join,其次维表数据一般比较少, 在join可直接放入内存进行join以提升效率,除此之外

数据仓库

ε祈祈猫儿з 提交于 2019-11-29 05:05:48
1.1数据仓库概念 什么是数据仓库? 数据仓库本身并不“生产”任何数据,同时自身也不需要“消费”任何的数据,数据来源于外部,并且开放给外部应用 目的? 构建面向分析的集成化数据环境,主要职责是做分析,对仓库里面的数据来做分析,数据分析可以支持我们做决策 数据分析特征: (1)面向主题:数据分析有一定范围,需要选取一定的主题进行分析(比如:我们针对订单分析,那么可能跟我们的商品表关系不大,只需要围绕订单分析) (2)继承性:集成各个其他方面关联的一些数据,(比如:我们分析订单购买人情况,就涉及到客户的基本信息;数据出现交叉,那么就将数据集成到一起,需要什么选取什么) (3)非易失性:数据分析,主要分析过去已经发生的数据,都是即成的事实 (4)时变性:随着时间的发展,数的形态也在发生变化,数据的分析的手段也要变化 数据仓库与数据的区别: 数据库:OLTP,联机事务处理,数据库主要的功能就是用来做事务处理,主要负责频繁的增删改查 数据仓库:OLAP,连接分析处理,不需要做事务的保证,主要职责就是做数据的分析,面向分析 首先要明白,数据仓库的出现,并不是要取代数据库。 数据库是面向事务的设计,数据仓库是面向主题设计的。 数据库一般存储业务数据,数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余,一般针对某一业务应用进行设计,比如一张简单的User表,记录用户名、密码等简单数据即可

数据仓库基本概念01

烈酒焚心 提交于 2019-11-29 03:32:12
数据为什么要分层 1.清洗数据结构,每一层都有其特定作用域 2.数据血缘追踪 ,数据出现问题,快速定位到源表。 3.减少重复开发 ,会有中间层数据。 4.复杂问题简单化,每一层具有特定的数据层功能。 5.屏蔽源数据的异常 来源: https://www.cnblogs.com/tangsonghuai/p/11443896.html