跟读练习: Learn Data Modeling in 8 minutes: Dimensional Data Modeling, Data Vault, and One Big Table - 通过视频学习英语口语

正在创建课程...
1
Data modeling is one of the most important skills that data engineers have to learn.
2
So how is it so important?
3
Well, at the end of the day, data modeling is the structure of the data that we create for businesses.
4
Because the asset that we produce for businesses is data to make better decisions.
5
And data modeling has a bunch of different components to it.
6
And we're going to talk about each of them.
7
There's the highest level, it's called conceptual data modeling.
8
Then we're going to be going over the next layer down, which is logical data modeling.
9
And then the final layer that we're going to talk about is physical data modeling.
10
In this video, we should be covering all of those.
11
So at the end of this, you should know all the ins and outs of all three types of these data modeling.
12
So let's first talk about the highest level conceptual data modeling, which is the highest level way of thinking about it is like, what data do we need?
13
What data does the business desire?
14
What data do we have access to?
15
What are the sources?
16
Where can we find this data?
17
Can we like think about all the relationships of this data, like at a very high level? because sometimes you might want data in a business, but it's actually unfeasible to get it,
18
or it's going to take months and months and months.
19
And it's not ROI positive
20
because the time it would take to get the data is more than the value you can get out of it.
21
So this area of data modeling is very, very, very important because if you get this wrong,
22
you can end up spending a lot of extra time on the data model for things that don't matter that much.
23
Like there might be an extra column or an extra table
24
that like some data scientists ask for that they're only going to use one time.
25
And if you push back on that, it makes your job as a data engineer a lot easier because you remove that requirement because it's a low value requirement.
26
So you need to be able to like walk through all the requirements of the data model at this highest level.
27
And really having a deep understanding of the business is where you can really, really shine as a data engineer with conceptual data modeling.
28
So after you have mastered the conceptual data model, you skip into the next layer, which is the logical data model.
29
So the logical data model is where you start talking about like facts and dimensions and how they're related.
30
Like, so facts are events.
31
You can think of that as like I click the login button.
32
I purchase a product.
33
I send a message to a friend.
34
Like all of these are like events and actions that you can take on a website.
35
And these are going to be your facts because they can't really change.
36
After I've logged in on Facebook at 6.03 p.m., like I can't go back into a time machine and change that.
37
So then you have dimensions, which are going to be like your nouns or like your actors in this space, right?
38
So you have things like users or listings or posts or, you know, devices.
39
These are all like things that bring context.
40
Cause like I could be like, I'm a user in China who clicks an ad, right?
41
And then the user in China bit, that part of my user object and then clicking the ad is part of the fact.
42
And so those are the ways to be thinking about all of these things.
43
So the logical data model is all about how do you find all of these entities and how are they related.
44
So like, for example, when you click on an ad on Facebook, the entities that are involved, the user who clicked the ad, you also have the device that clicked the ad,
45
you also have the browser potentially that clicked the ad.
46
And so those are three dimensions
47
that you can bring in to your fact data to make your fact data richer and more powerful.
48
So after you have gotten the logical data layer nailed down, then you move into the final layer, which is the physical layer.
49
And this is the layer where people oftentimes, like they think the physical layer is the only part of data modeling when it's actually not,
50
it's actually like probably the least important in some regards, but it's also where it becomes real.
51
It becomes reality.
52
It's physical data now.
53
So this is where you start looking at the schema.
54
What are the columns of your data?
55
Like what are the data types of your data?
56
How are you storing this data?
57
How can you compress this data to make it smaller?
58
So in this space, you have a couple different data modeling techniques
59
that you can look into
60
that can really help understand all the way up from like physical to logical to conceptual
61
and you can like understand there's a couple different paradigms here
62
so one is called one big table
63
so one big table essentially says you don't need facts
64
and dimensions you can essentially have a fact
65
that has all of its context all the context is already in the fact
66
so you don't need to do joins you can just do aggregations you don't need to join at all
67
because when data gets very big joins become very expensive like actually joining in the the nouns into your data.
68
But the trade here, right, is that you're duplicating data, right?
69
Because every now my user data is now in every single fact, right?
70
And say I do 300 events on a data set.
71
This is what's called the compute storage trade off, right?
72
Because it is duplicated in storage.
73
But why is this potentially worth it is
74
because you can now do aggregations without doing join
75
and aggregations are faster than join because you don't have to like pull data from all these different locations, you can just aggregate right down and group very quickly.
76
And so this is what is the advantage of one big table, even though one big table also duplicates a lot of data and is super painful.
77
So then you have the more traditional approach of facts and dimensions, where like you separate your nouns and you separate your verbs and your events, and then you join them together.
78
That's called dimensional data modeling.
79
Dimensional data modeling is the oldest technique of all the techniques that we have talked about.
80
And it's the one that most data engineers should probably pick.
81
It's the most foundational and the most fundamental.
82
So definitely, if you haven't learned about dimensional data modeling, I'll put a link in the description below.
83
I have many hours of content on dimensional data modeling on my YouTube channel.
84
And then last but not least here is called a data vault.
85
So data vault is very interesting because data vault is all about preserving the rawness of the data.
86
So you want to bring in data in its most untransformed state and kind of stack it onto things.
87
And this allows you to essentially know exactly what the data was in its rawest form.
88
So you don't end up filtering something out that you didn't mean to or transform something that you made a mistake on.
89
And Data Vault allows you to back up into like the most raw form of the data.
90
It's kind of related to ELT, you know, extract load transform instead of extract transform load.
91
That's it's kind of related to that.
92
But it's also about how you actually model the data.
93
And it has a very strict kind of thing in it and like a strict kind of ideology to it.
94
That's why I don't really I don't really subscribe to Data Vault as much.
95
I really like dimensional data modeling and one big table data modeling.
96
But at the end of the day, like it's still a very useful technique.
97
And you can combine all of these techniques.
98
I'm going to give an example.
99
So when I worked at Airbnb, I actually built a data model that was a mix of one big table and data vault and dimensional data modeling.
100
So how it worked was we use data vault to get all of the inputs.
101
So the inputs in this case were for availability and price
102
because the host sets the price rules like what is the daily price?
103
Are there any discounts?
104
Are there any like any length of stay requirements?
105
Maybe you have to book for three days or seven days or you know, you can only book 48 hours in advanced, there's a lot of these different rules that hosts can set in Airbnb.
106
And so I took all those rules in their raw form and combine them into one data set called inputs.
107
And that was the data vault kind of technique that I use.
108
And then from the inputs table, we process it through to a new table called listing pricing.
109
So now we actually know what the actual prices would have been given those rules.
110
And that table was one big table because it had all of the nights in one column.
111
So one of the giveaways of like a one big table data set is that it uses complex data types, like it uses things like struct and array and like map
112
and those kind of like more complicated data types more than just like, you know, string and integer and decimal.
113
It's like one big table very often is a table within a table.
114
And that was a big thing I did here at Airbnb.
115
Keeping in mind that like you don't have to adhere to any one of these three religions
116
when you are working with with data modeling, you can also kind of do whatever you want, right?
117
And mix and match.
118
It's more of an art than a science.
119
And it's really about matching business requirements to the physical data modeling needs that you, or the physical data modeling tools that you have.
120
So yeah, I hope you found this content interesting and make sure to like, follow, and subscribe.

本课的词汇与口语要点

这段视频共有 120 个句子、1736 个单词可供跟读。 讲话部分时长为 8:06。 说话人语速较快,每分钟约 214 个词,会出现较多连读和弱读。 87% 的单词属于英语最常用的 3,000 词,词汇容易理解。

视频中的重点词汇

视频中 15 个不太常见的单词,附发音和释义:

  • layer /ˈleɪ̯ɚ/ (名词) — 層 /层. A single thickness of some material covering a surface.
  • vault /vɑlt/ (名词) — 拱頂 /拱顶. An arched masonry structure supporting and forming a ceiling, whether freestanding or forming part of a larger building.
  • technique /tɛkˈniːk/ (名词) — 技術 /技术, 技巧. The practical aspects of a given art, occupation etc.; formal requirements.
  • dimensional /daɪˈmɛn.ʃə.nəl/ (形容词) — 維的 /维的. Of or pertaining to dimensions.
  • requirement /ɹɪˈkwaɪɹmənt/ (名词) — 要求, 需求. A necessity or prerequisite; something required or obligatory. Its adpositions are generally of in relation to who or what has given it, on in relation to whom…
  • dimension /daɪˈmɛn.ʃən/ (名词) — 方面, 特點 /特点. A single aspect of a given thing.
  • input /ˈɪnpʊt/ (名词) — 輸入 /输入. The act or process of putting in; infusion.
  • essentially /ɪˈsɛnʃəli/ (副词) — 本質上 /本质上, 基本上. In essence: by nature.
  • transform /tɹænsˈfɔɹm/ (动词) — 變換 /变换, 變形 /变形. To change greatly the appearance or form of.
  • noun /naʊn/ (名词) — 名詞 /名词. A word that functions as the name of a specific object or set of objects, such as person, animal, place, word, thing, phenomenon, substance, quality, or idea…
  • duplicate /ˈd(j)uː.plɪˌkeɪt/ (动词) — 複製 /复制. To make a copy of.
  • column /ˈkɒləm/ (名词) — 柱子, 柱. A solid upright structure designed usually to support a larger structure above it, such as a roof or horizontal beam, but sometimes for decoration.
  • combine /kəmˈbaɪn/ (动词) — 結合 /结合, 組合 /组合. To bring (two or more things or activities) together; to unite.
  • entity /ˈɛn.tə.ti/ [-tʰi] (名词) — 實體 /实体, 整體 /整体. That which has a distinct existence as an individual unit, often used for organizations which have no physical form.
  • extract /ˈɛkstɹækt/ (名词) — 精. Something that is extracted or drawn out.

视频中出现的短语动词

  • end up (动词) — 到达. To bring to a conclusion.
  • look at (动词) — 觀察 /观察, 看. To observe or watch.

需要注意的发音

说话人用了 23 次缩略和弱读形式,例如 don't, we're, can't。请按听到的简短形式来说。

  • “sh” 和 “zh” 音: dimensional /daɪˈmɛn.ʃə.nəl/, dimension /daɪˈmɛn.ʃən/, essentially /ɪˈsɛnʃəli/, potentially /pəˈtɛnʃ(ə)li/, shine /ʃaɪn/
  • 长单词——注意重音位置: dimensional /daɪˈmɛn.ʃə.nəl/, essentially /ɪˈsɛnʃəli/, potentially /pəˈtɛnʃ(ə)li/, entity /ˈɛn.tə.ti/ [-tʰi], complicated /ˈkɑm.plɪˌkeɪ.tɪd/

如何用这段视频练习

  1. 先完整听一遍视频,不要开口,记下不认识的单词。
  2. 先用 0.75 倍速逐句跟读,熟练之后再回到正常速度。
  3. 录下自己的声音并与原声对比,特别注意 layer, vault, technique 这类单词。

视频中的语法

说话人最常用的结构,并附上视频中的原话:

结构视频中的用法
现在完成时 have/has + 过去分词 — 过去发生但与现在仍有关联的事have mastered · I've logged · have gotten
被动语态 be + 过去分词 — 强调发生了什么,而不是谁做的are involved · is called · is duplicated
定语从句 who / which + 从句 — 补充说明人或事物down, which is · modeling, which is · layer, which is

什么是跟读法?

跟读法 (Shadowing) 是一种有科学依据的语言学习技巧,最初开发用于专业口译员的培训,并由多语言者Alexander Arguelles博士普及。这个方法简单而强大:您在听英语母语原声的同时立即大声重复——就像是一个延迟1-2秒紧跟说话者的影子。与被动听力或语法练习不同,跟读法强迫您的大脑和口腔肌肉同时处理并模仿真实的讲话模式。研究表明它能显着提高发音准确性,语调,节奏,连读,听力理解和口语流利度——使其成为雅思口语备考和真实英语交流最有效的方法之一。

影子跟读法: 阅读完整分步指南 →