libai8723 / front-end-dev-notes-bignerdbook

Github Pages
https://libai8723.github.io/front-end-dev-notes-bignerdbook/
1 stars 0 forks source link

Books on Data Warehouse-数据仓库的一些入门的书籍,了解一下这个领域。 #35

Open libai8723 opened 2 years ago

libai8723 commented 2 years ago

因为工作中恰好是有IOC这个产品序列的,所以有兴趣想了解一下正统的数据仓库,数据湖,还有什么OLAP,数据集市都是干啥的,对这个行业有一个初步的了解,这里列举一下找到的书籍和资料吧,有空就更新这个帖子:

关于数据仓库的入口的教材之类的东西

一、数据仓库工具箱(第3版):维度建模权威指南 英文名:《The DataWarehouse Toolkit-The Complete Guide to Dimensonal Modeling》 by Ralph Kimball & Margy Ross

二、数据仓库(原书第4版)

这本书的英文原版的书叫做 4th edition by William H. Inmon

范式是数据库逻辑模型设计的基本理论,一个关系模型可以从第一范式到第五范式进行无损分解。在数据仓库的模型设计中目前一般采用第三范式。范式模型由数据仓库之父 Inmon 提倡,而这本书就是 Inmon 所写。

这本书是我看的第二本数据仓库的书,个人感受是理论比较强,刚开始看基本就是一头雾水,然后当你做了一段时间后,再回头来看这本书会有很多理论指导,比如说元数据该怎么做,模型该怎么设计,参考性很强。

三、数据挖掘:概念与技术(原书第3版)

Han Jiawei的书,之前我有原本的英文版本的

这是一本数据挖掘的书,但是没关系,数据仓库本身就是和数据挖掘息息相关的,或者是说数据仓库是数据挖掘的支撑。这本书的前5章,十分值得一读,这本书讲了其它书没有深入讲的OLAP和数据立方体技术,比如说Kylin构建Cube,其实看看这本书的第五章基本就知道是怎么回事了。

所以强烈推荐看了这本书,至少是前5五章。

一些些可能与数仓有关系的待阅读清单:

https://salttiger.com/designing-cloud-data-platforms/

https://salttiger.com/data-science-on-aws/

https://salttiger.com/data-management-at-scale/

https://salttiger.com/architecting-modern-data-platforms/

https://salttiger.com/seven-databases-in-seven-weeks-2nd-edition/

在PDF Drive还看到了一本比较新的奥莱利的《企业数据湖》

by Alex Gorelik
libai8723 commented 2 years ago

我开始读 数据仓库工具箱(第3版):维度建模权威指南

一开始的overview还是不错的,起码告诉我们要怎么阅读这本书了,首先是一个DW/BI的介绍,更多是关于词汇和概念的。

Chapter 1:Data Warehousing, Business Intelligence, and Dimensional Modeling Primer

为什么没有一开始就讲技术和工具呢,是因为作者认为首先我们要掌握业务诉求,当我们掌握诉求之后,我们反向考虑逻辑设计和物理设计,然后再考虑技术和工具的选择。 With the business needs firmly in hand, we work backwards through the logical and then physical designs, along with decisions about technology and tools.

有一句话比较有意思: 当我们要搞定我们的DWBI项目的时候,我们是需要有一半是DBA的角色,另外一半是MBA的角色,也就是一种混合的角色。

you’ll have an appreciation for the need to be one-half DBA (database administrator) and one-half MBA (business analyst) as you tackle your DW/BI project.

P2: different world of data capture and data analysis

操作类型的系统通常是不需要保留历史记录的,它们的主要责任是更新数据,来反应最新的状态。 operational systems typically do not maintain history, but rather update data to reflect the most current state.

DWBI类型的系统通常不会一次处理一个Transaction,而是成千上万的事务一起处理,从中搜索我们需要的答案,并且DWBI系统会保留历史。

在1996年Kimball Ralph的书里面,他用了整整一章来解释记录处理操作型的系统和数仓是有本质区别的,区别在于他们面向不同的诉求,面向不同的用户,不同的结构,不同的节奏,但是依然有很多人认为数仓就是把操作类型数据拷贝到一个单独的物理平台,解决了性能的问题。

DWBI的目标是什么

■“We collect tons of data, but we can’t access it.” ■ “We need to slice and dice the data every which way.” ■ “Business people need to get at the data easily.” ■ “Just show me what is important.” ■ “We spend entire meetings arguing about who has the right numbers rather than making decisions.” ■ “We want people to use information to support more fact-based decision making.”

上面的问题看起来很扯,但是确实都是每天在发生的,往往层级还不低,所以这些朴素的诉求依然是驱动我们DWBI发展的基石(bedrock)

下面就是我们抽象出来的诉求:

  1. simple and fast
  2. consistenly 数据是一致的,可以被信赖,如果名字是一样的,指代的东西应该就是一样的
  3. adapt to change,要能适应变化
  4. timely way,要有一定的时效性,甚至是秒级的
  5. secure,安全确保数据访问可控。
  6. 必须是一个权威、值得信赖的决策系统。
  7. 用户的接受度决定了BI的成功,因为operational system是不得不用的,但是DWBI往往是optional的,所以做的不好真的没有用户的。

最后两个才是最重要的

P5: todo

libai8723 commented 2 years ago

Publishing Metaphor for DW/BI Managers

用出版发行工作的比喻来说明DW/BI的管理员的职责

从这个比喻来看,当一个主编还是很累的:

1、理解读者:他们在统计意义上的特点,读者需要什么,识别“优秀的”读者,会持续订阅并且买广告的东西,扩大读者范围 2、确保杂志的吸引力:让内容有趣,布局与排版,高质量且一致的体验,持续监控文档的准确性和广告主张的准确性,持续更新读者的profiles和作家、贡献者的可用性。 3、确保持续初版:吸引广告商保持收益、维持读者的信任,让老板满意。。。

可以看出来要想办一本成功的杂志,是非常难的,有很多事情要做。

所以从作者的角度来看,我们都是从一些地方(撰稿人,贡献者 vs 各种各样的系统)收集资料,通过编辑的方式(审稿 vs ETL)确保发布内容的质量,来服务好我们的读者。尽管DWBI使用到了很多技术,但是技术只是达到最终目标的一种手段,这种手段不应该出现在最终用户的界面上,也就是说,技术很重要,但是没那么重要。

所以经过比喻来看,DW/BI的Manager的职责就是:

  1. 理解用户:他们的职责目标和目的;他们要做什么决定;识别最有影响力的用户;识别潜在的新用户
  2. 交付高质量、相关的、容易访问的数据和分析结论:选择最鲁棒性的数据,UI和应用要简单,要模板驱动,复核用户的认知,确保数据准确,随着用户的变化,公司的数据的变化,适应这些变化。
  3. 维护好DW/BI环境:Take a portion of the credit for the business decisions made using the DW/BI system, and use these successes to justify staffing and ongoing expenditures 持续的更新DW/BI,维护用户的信任,让用户,sponsors,IT主管开心。

但是说了这么多,感觉这份工作都不是像是在搞IT,而是天天在搞用户。。。(作者的心声)

libai8723 commented 2 years ago

Dimensional Modeling Introduction

P7,终于到了维度建模介绍

作者认为Dimensional Modeling被广泛接收,主要是它同时满足了2个诉求:

  1. 能把数据按照业务用户可理解的方式发布。
  2. 交付了高性能的查询能力。

Dimensional Modeling 是经过时间考验的能使得数据库简单的一种技术。 简单是很重要的,经过50年的验证,我们发现简单性至关重要,它能保证业务用户更容易理解,也能让系统更快速和有效的交付这些数据。

@todo,还没来得及写,待补充