seegongsik
我的单词本
数据

一台不够时,分着装

信息不断堆积会怎样? 再大的一座仓库总有一天会装满。于是把仓库扩成好几座,把货分着装。再加上,为了一座仓库塌了也不丢货,还会把同样的货复制到另一座仓库。数据也一样。一台扛不住,就分到好几台装,并复制到好几台,免得出事。

01

一台开始不够用

前面我们学过数据库
是一座巨大的仓库。
安全地存、快速地找。
可信息不停地堆积。
人变多、记录变多,
照片和视频也涌进来。
再大的一座仓库,
总有一天会装满,再也装不下。
会有一刻,一台变得不够用。

一台的容量
点一下增加数据
0 / 8

点一下不断增加数据。一旦超过一台的容量,就再也装不下。

一台彻底装满了。
想再放也没地方。
换成更大的电脑,
那台也总有一天又装满。
把一台无止境地养大,
有明显的极限。
那就该换个办法了。
与其养大一台,
扩成好几台怎么样?

02

分到好几台装

办法比想的简单。
把数据切成块,
撒到好几台上装。
不让一台抱着全部硬撑,
每台只接一部分。
比如名字 A 到 M 放 1 号台,
N 到 Z 放 2 号台,就这么分。
这样把货切开分摊,
叫做分布(分散)。
也叫分片。

要分的块
A
B
C
D
E
F
1号台
2号台
3号台
点一下把块分到好几台

点一块,分到好几台装。每台只持有整体的一部分。

货撒到好几台上了。
一台原本扛的负担轻了。
数据再变多,
只要再加一台就行。
那新块就交给新台。
这样能不断扩,
所以很大的数据也装得下。
不过冒出一个担忧。
那一台要是突然坏了怎么办?

03

把同样的复制一份

分着装有一个弱点。
持有某块的台坏了,
那一块就整个没了。
所以把同样的数据
复制到好几台上。
就算一台坏了,
有副本的另一台接过去。
所以数据不会出事。
这样把同样的东西复制到好几台,
叫做复制。

先复制,再关掉一台试试

点复制,把同样的数据放到好几台上。关掉一台,另一台还活着,所以不出事。

关掉一台也没事。
多亏副本守在旁边。
这里一定要区分两件事。
分着装的分布是把块切开,
分到不同的台上;
复制保存的复制是把同样的东西
一模一样地放到好几台上。
分布是分开,复制是复制。
两个看着像,却是完全不同的事。

04

更松的容器,NoSQL

可当数据多到惊人,
又要极快地进进出出时,
严格的表格反而碍事。
把列对齐的规矩,
会拖住速度。
所以用规矩放松的容器。
不用表格,把一个值挂在一个键上,
直接放、直接取。
相当于把前面看的哈希养大。
这种松的容器叫做 NoSQL。

严格的表格
-
松的键-值 (NoSQL)
-
点一下尺度比较两个容器

点一下比较严格的表格和松的键-值容器。松的那边更适合巨大又快速的处理。

松的容器,
规矩少,所以自由又快。
不用像表格那样把列对得整整齐齐,
只要有键就能直接放和取值。
代价是把列对齐的整洁,
稍微放下一点。
得到什么、放下什么,
按用途来挑就行。
对巨大又快速的数据,
这种松的容器很合适。

05

来理一理数据这块

走到这里,路已经很长了。
我们从装值的容器开始,
看了把这些容器聚起来的数据库,
学会了在巨大的表里
快速找到想要的那一行。
造捷径的索引,
把表连起来的关系,
还有中途断了也安全的处理。
今天又看了一台不够时,
怎么分着装、怎么留副本。

依次点数据这块的大脉络,把它收尾

依次点数据这块的大脉络,把它收尾。(容器 → 数据库 → 快速查找 → 索引 → 关系 → 安全处理 → 分着装与复制)

归成一句话,是这样。
数据一台扛不住时,
就切成块分到好几台装(分布),
并复制到好几台免得出事(复制)。
分开和复制是不同的事。
为了巨大又快速的处理,
用把表格放松的容器 NoSQL。
它是把哈希养大的容器,
所以是通向下一个要遇见的
人工智能那海量数据的桥。

现在处理数据的大图景
一眼就看明白了。
从一个小容器开始,
一路走到把数据分到
好几台又复制的庞大经营。
把信息安全地存、
快速地找、大大地养,
这种本事成了支撑
下一个领域人工智能的地基。
数据汇聚的地方,
会长出会思考的机器。

一句话总结数据大到一台扛不住时,就把它切成块分到好几台装。这叫分布(分散)。每台只持有整体的一部分,凑起来就能装下很大的数据。而且为了一台坏了也不出事,把同样的数据复制到好几台。这叫复制。分着装的分布和复制保存的复制,是不同的概念。分布是把货切开分摊,复制是把同样的货放在好几处。为了这种巨大又快速的处理,把严格的表格形式放松的容器,叫做 NoSQL。它就像把哈希那种用键直接放和找值的容器养大,于是成了通向下一个领域人工智能所处理的海量数据的桥。
数据
如果有帮助,请支持我们