如何用AI技术降噪? QCon 广州“音视频架构实践”专场给你答案! 了解详情
写点什么

我所经历的大数据平台发展史(二):非互联网时代 • 下篇

  • 2016 年 2 月 29 日
  • 本文字数:2624 字

    阅读完需:约 9 分钟

编者按:本文是松子(李博源)的大数据平台发展史系列文章的第二篇(共四篇),本系列以独特的视角,比较了非互联网和互联网两个时代以及传统与非传统两个行业。是对数据平台发展的一个回忆,对非互联网、互联网,从数据平台的用户角度、数据架构演进、模型等进行了阐述。

前言,”数据模型“ 这个词只要是跟数据沾边就会出现的一个词,在数据库设计、数据仓库、数据挖掘上、业务里都存在,聚焦一下,这里提到的是数据平台中的”数据模型“。 这是一个非常的抽象词,个人也很难用简单语言把他描述出来,这一章也是整个系列中较为抽象的一章节,同时这个章节将会回答非互联网数据平台数据模型是什么?如何需要数据模型?如何简单的建设?

在“我所经历的大数据平台发展史 上篇 非互联网时代”曾经提到 Bill inmon 与 Ralph kilmball 两位大师的设计理念,对业务的数据按照某种规则进行有效组织并满足业务需求。

在构建过程中,有一个角色理解业务并探索分散在各系统间的数据,并通过某条业务主线把这些分散在各角落的数据串联并存储同时让业务使用,在设计时苦逼的地方除了考虑业务数据结构要素外,还得考虑可操作性、约束性(备注 约束性是完成数据质量提升的一个关键要素,未来新话题主题会讨论这些),这个既要顾业务、数据源、合理的整合的角色是数据模型设计师,又叫数据模型师。

非互联网时代的数据模型是一个高度智慧业务抽象结晶,数据模型是整个系统建设过程的导航图。

(点击放大图像)

平台中模型设计所关注的是企业分散在各角落数据、未知的商业模式与未知的分析报表,通过模型的步骤,理解业务并结合数据整合分析,建立数据模型为Data cleaning 指定清洗规则、为源数据与目标提供ETL mapping (备注:ETL 代指数据从不同源到数据平台的整个过程,ETL Mapping 可理解为 数据加工算法,给数码看的,互联网与非互联网此处差异性也较为明显,非互联网数据平台对ETL 定义与架构较为复杂)支持、 理清数据与数据之间的关系。(备注:Data cleaning 是指的数据清洗 数据质量相关不管是在哪个行业,是最令人头痛的问题,分业务域、技术域的数据质量问题,需要通过事前盘点、事中监控、事后调养,有机会在阐述)。

大家来看一张较为严谨的数据模型关系图:

(点击放大图像)

  • 数据模型是整个数据平台的数据建设过程的导航图。
  • 有利于数据的整合。数据模型是整合各种数据源指导图,对现有业务与数据从逻辑层角度进行了全面描述,通过数据模型,可以建立业务系统与数据之间的映射与转换关系。排除数据描述的不一致性。如:同名异义、同物异名…。
  • 减少多余冗余数据,因为了解数据之间的关系,以及数据的作用。在数据平台中根据需求采集那些用于分析的数据,而不需要那些纯粹用于操作的数据。

在面对企业复杂业务与成千上万的数据项进行设计时,没有哪个牛逼的人都记得住的,所以出现了按照某种层次规则去有组织并抽象与管理易用,由此诞生了概念模型、逻辑模型、物理模型 (备注 数据平台数据模型,而非数据挖掘的模型)。

数据模型在数据平台的数据仓库中是一个统称,严格上来讲分为概念模型、逻辑模型、物理模型。(备注:四类模型如何去详细构建文本不深讲,关于非互联网企业的数据模型网上非常多)

(点击放大图像)

在“我所经历的大数据平台发展史 上篇 非互联网时代“提到两位大师的架构与争论,进一步聚焦来说,争论点我的认为其实是在数据模型的支持上,Bill Inmon 的EDW 的原则是准三范式的设计、Ralph kilmbal 是星型结构。

Bill Inmon 对 EDW 的定义是面向事物处理、面向数据管理,从数据的特征上需要坚持维护最细粒度的数据、维护最微观层次的数据关系、保存数据历史。所以在构建完毕的数据平台中可以从中映射并检查业务信息的完整性(同时也是养数据过程中的重要反馈点),这种方式还可以找出多个系统相关和重合的信息,减少多个系统之间数据的重复定义和不一致性,减小了应用集成的难度。

(点击放大图像)

(点击放大图像)

该建设方式的要点是首先建立各个数据源业务的实体关系、然后再根据保存的主子实体关系、存储性能做优化。

Ralph kilmball 对 DM(备注:数据集市,非挖掘模型)的定义是面向分析过程的 (Analytical Process oriented),因为这个模型对业务用户非常容易理解,同时为了查询也是做了专门的性能优化。所以星型、雪花模型很直观比较高性能为用户提供查询分析。

(点击放大图像)

该方式的建模首先确定用户需求问题与业务需求数据粒度,构建分析所需要的维度、与度量值形成星型模型;(备注 涉及的复杂维度、退化维度等不在这个讨论范围)。

数据模型的业务建模阶段、领域概念模型阶段、逻辑模型阶段、物理模型阶段是超级学术与复杂的话题,而且在模型领域根据特点又分主数据 (MDM)、CIF(企业级统一视图) 、通用模型 (IBM 的金融、保险行业通用模型、 Teradata 的 金融通用模型、 电信移动通用模型等),锁涉及到术语”扩展“、”扁平化“、”裁剪“等眼花缭乱的建模手法,数据模型不同层次 ODS、DWD
DWD、DW、ST 的分层目的不同导致模型设计方法又不同。相信业界有很多大牛能讲的清楚的,以后有机会再交流。

(点击放大图像)

(点击放大图像)

(点击放大图像)

(点击放大图像)

本文带大家回忆了历史非互联网的数据平台发展与核心模型特点,当然数据平台的发展不是一步到位的,是经过无数人的智慧、努力反复迭代而逐渐演进的。

非互联网企业的数据平台发展,每一代的平台架构中的结构都是及其复杂的,比如ETL 架构、数据模型架构、BD 的架构、前端展现、元数据、数据质量等各方面,每一部分展开都是一个很深的话题,有机会再分享给大家。

下篇章将分享给大家互联网时代的数据平台,互联网的数据平台也就是在07 年-08 年左右开始迅猛发展的,在发展的初期也是从传统数据平台的第三代架构开始演进的,互联网产品发展特点是“糙、快、猛”,同时数据量的超快速膨胀所带来的技术变革,从数据仓库-> 海量数据-> 大数据膨胀必然原有的技术无法支撑高IO 吞吐、密集型计算,从而发展了合适互联网大数据平台。

关于作者

松子(李博源),自由撰稿人,数据产品& 数据分析总监。2000 年开始数据领域,从业传统制造业、银行、保险、第三方支付& 互联网金融、在线旅行、移动互联网行业 ; 个人沉淀在大数据产品、大数据分析、数据模型领域;欢迎关注个人微信订阅号:songzi2016。


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016 年 2 月 29 日 16:3510573

评论

发布
暂无评论
发现更多内容

堪称完美!字节强推数据结构与算法进修指南:理论源码面试三飞

Java 程序员 后端

大年初三,我带着Spring事务管理详解来给大家拜年啦-!

Java 程序员 后端

linux检测系统是否被入侵(上)

入门小站

Linux

天哪!手动编写mybatis雏形竟然长这样

Java 程序员 后端

太悲伤了,女朋友面试惨遭面试官吊打,半夜偷偷摸摸躲在被子里抹眼泪刷题

Java 程序员 后端

增删改查的基本操作:实现MyArrayList,你学会了吗?

Java 程序员 后端

备战明年金三银四,阿里P8大佬总结的这份Java面试文档,你可一定要好好看看

Java 程序员 后端

多线程详解第3讲:线程状态

Java 程序员 后端

阿里技术官限产的MySQL高级笔记及面试宝典,简直开挂

Java MySQL 数据库 程序员

在线文本中英文数字清除工具

入门小站

工具

从 Kafka 到 Pulsar,BIGO 打造实时消息系统之路

Apache Pulsar

分布式 BIGO 消息中间件 云存储 Apache Pulsar 消息系统

多层次存储器

Java 程序员 后端

多线程详解第4讲:线程同步(重点)

Java 程序员 后端

大厂炸锅了!这份全程无尿点的Java彩版面试开挂攻略在GitHub火了

Java 程序员 后端

大战618,决胜双十一 高并发秒杀系统解密—后端java程序员力荐

Java 程序员 后端

太强了!这是我见过最通俗易懂的一篇Spring知识点总结

Java 程序员 后端

大厂面试必备:JVM-垃圾回收机制—垃圾回收中的概念

Java 程序员 后端

太强了,阿里P8面试官用1个多月,总结1000道题的Java面试文档!

Java 程序员 后端

奉劝各位学弟学妹们,该打造你的技术影响力了!

Java 程序员 后端

堪称全网最全的JAVA面试复盘笔记(23个技术栈)5000字解析!冲击大厂必备

Java 程序员 后端

复习一周,字节跳动三场技术面+HR面,不小心拿了offer

Java 程序员 后端

头条二面:你确定ThreadLocal真的会造成内存泄露?

Java 程序员 后端

云原生 DevOps,模型化应用交付能力很重要!

阿里巴巴云原生

DevOps 云原生 模型 应用交付

头条五面惨败,被虐到怀疑人生!面试官三十六连击,你能答出多少?

Java 程序员 后端

大神万字总结:InnoDB 锁类型及其详细分析

Java 程序员 后端

太刺激了,面试官让我手写跳表,而我用两种实现方式吊打了TA

Java 程序员 后端

女生适合学编程吗?

Java 程序员 后端

大专生出身,做Java程序员真的没有春天吗?冲刺拼多多终拿下Offer

Java 程序员 后端

天天curd,怎么才能成长,跳离CRUD的苦海?

Java 程序员 后端

奉劝那些想把编程学好的学弟学妹们!呕心沥血,袒露心声,掏心掏肺

Java 程序员 后端

Go语言,垃圾回收、三色标记原理,终于能跟面试官扯皮了!

微客鸟窝

垃圾回收 Go 语言 11月日更

「云智公开课」百度沧海·存储

「云智公开课」百度沧海·存储

我所经历的大数据平台发展史(二):非互联网时代 • 下篇_大数据_松子(李博源)_InfoQ精选文章