-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathglossary.html
646 lines (331 loc) · 53.2 KB
/
glossary.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
<!DOCTYPE HTML>
<html lang="" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>术语表 · GitBook</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.3">
<link rel="stylesheet" href="gitbook/style.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-intopic-toc/style.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-search-pro/search.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-splitter/splitter.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-theme-comscore/test.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="colophon.html" />
<link rel="prev" href="ch12.html" />
</head>
<body>
<div class="book">
<div class="book-summary">
<div id="book-search-input" role="search">
<input type="text" placeholder="Type to search" />
</div>
<nav role="navigation">
<ul class="summary">
<li class="chapter " data-level="1.1" data-path="./">
<a href="./">
简介
</a>
</li>
<li class="chapter " data-level="1.2" data-path="preface.html">
<a href="preface.html">
序言
</a>
</li>
<li class="chapter " data-level="1.3" data-path="part-i.html">
<a href="part-i.html">
第一部分:数据系统的基石
</a>
<ul class="articles">
<li class="chapter " data-level="1.3.1" data-path="ch1.html">
<a href="ch1.html">
第一章:可靠性、可伸缩性、可维护性
</a>
</li>
<li class="chapter " data-level="1.3.2" data-path="ch2.html">
<a href="ch2.html">
第二章:数据模型与查询语言
</a>
</li>
<li class="chapter " data-level="1.3.3" data-path="ch3.html">
<a href="ch3.html">
第三章:存储与检索
</a>
</li>
<li class="chapter " data-level="1.3.4" data-path="ch4.html">
<a href="ch4.html">
第四章:编码与演化
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.4" data-path="part-ii.html">
<a href="part-ii.html">
第二部分:分布式数据
</a>
<ul class="articles">
<li class="chapter " data-level="1.4.1" data-path="ch5.html">
<a href="ch5.html">
第五章:复制
</a>
</li>
<li class="chapter " data-level="1.4.2" data-path="ch6.html">
<a href="ch6.html">
第六章:分区
</a>
</li>
<li class="chapter " data-level="1.4.3" data-path="ch7.html">
<a href="ch7.html">
第七章:事务
</a>
</li>
<li class="chapter " data-level="1.4.4" data-path="ch8.html">
<a href="ch8.html">
第八章:分布式系统的麻烦
</a>
</li>
<li class="chapter " data-level="1.4.5" data-path="ch9.html">
<a href="ch9.html">
第九章:一致性与共识
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.5" data-path="part-iii.html">
<a href="part-iii.html">
第三部分:衍生数据
</a>
<ul class="articles">
<li class="chapter " data-level="1.5.1" data-path="ch10.html">
<a href="ch10.html">
第十章:批处理
</a>
</li>
<li class="chapter " data-level="1.5.2" data-path="ch11.html">
<a href="ch11.html">
第十一章:流处理
</a>
</li>
<li class="chapter " data-level="1.5.3" data-path="ch12.html">
<a href="ch12.html">
第十二章:数据系统的未来
</a>
</li>
</ul>
</li>
<li class="chapter active" data-level="1.6" data-path="glossary.html">
<a href="glossary.html">
术语表
</a>
</li>
<li class="chapter " data-level="1.7" data-path="colophon.html">
<a href="colophon.html">
后记
</a>
</li>
<li class="divider"></li>
<li>
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
Published with GitBook
</a>
</li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<!-- Title -->
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i>
<a href="." >术语表</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<div id="book-search-results">
<div class="search-noresults">
<section class="normal markdown-section">
<h1 id="术语表-【draft】">术语表 【DRAFT】</h1>
<blockquote>
<p>请注意,本术语表中的定义简短而简单,旨在传达核心思想,而不是术语的完整细微之处。 有关更多详细信息,请参阅正文中的参考资料。</p>
</blockquote>
<p>[TOC]</p>
<h3 id="异步(asynchronous)">异步(asynchronous)</h3>
<p>不等待某些事情完成(例如,将数据发送到网络中的另一个节点),并且不会假设要花多长时间。请参阅第153页上的“同步与异步复制”,第284页上的“同步与异步网络”,以及第306页上的“系统模型与现实”。</p>
<h3 id="原子(atomic)">原子(atomic)</h3>
<p>1.在并发操作的上下文中:描述一个在单个时间点看起来生效的操作,所以另一个并发进程永远不会遇到处于“半完成”状态的操作。另见隔离。</p>
<p>2.在事务的上下文中:将一些写入操作分为一组,这组写入要么全部提交成功,要么遇到错误时全部回滚。参见第223页的“原子性”和第354页的“原子提交和两阶段提交(2PC)”。</p>
<h3 id="背压(backpressure)">背压(backpressure)</h3>
<p>接收方接收数据速度较慢时,强制降低发送方的数据发送速度。也称为流量控制。请参阅第441页上的“消息系统”。</p>
<h3 id="批处理(batch-process)">批处理(batch process)</h3>
<p>一种计算,它将一些固定的(通常是大的)数据集作为输入,并将其他一些数据作为输出,而不修改输入。见第十章。</p>
<h3 id="边界(bounded)">边界(bounded)</h3>
<p>有一些已知的上限或大小。例如,网络延迟情况(请参阅“超时和未定义的延迟”在本页281)和数据集(请参阅第11章的介绍)。</p>
<h3 id="拜占庭故障(byzantine-fault)">拜占庭故障(Byzantine fault)</h3>
<p>表现异常的节点,这种异常可能以任意方式出现,例如向其他节点发送矛盾或恶意消息。请参阅第304页上的“拜占庭故障”。</p>
<h3 id="缓存(cache)">缓存(cache)</h3>
<p>一种组件,通过存储最近使用过的数据,加快未来对相同数据的读取速度。缓存中通常存放部分数据:因此,如果缓存中缺少某些数据,则必须从某些底层较慢的数据存储系统中,获取完整的数据副本。</p>
<h3 id="cap定理(cap-theorem)">CAP定理(CAP theorem)</h3>
<p>一个被广泛误解的理论结果,在实践中是没有用的。参见第336页的“CAP定理”。</p>
<h3 id="因果关系(causality)">因果关系(causality)</h3>
<p>事件之间的依赖关系,当一件事发生在另一件事情之前。例如,后面的事件是对早期事件的回应,或者依赖于更早的事件,或者应该根据先前的事件来理解。请参阅第186页上的“发生之前的关系和并发性”和第339页上的“排序和因果关系”。</p>
<h3 id="共识(consensus)">共识(consensus)</h3>
<p>分布式计算的一个基本问题,就是让几个节点同意某些事情(例如,哪个节点应该是数据库集群的领导者)。问题比乍看起来要困难得多。请参阅第364页上的“容错共识”。</p>
<h3 id="数据仓库(data-warehouse)">数据仓库(data warehouse)</h3>
<p>一个数据库,其中来自几个不同的OLTP系统的数据已经被合并和准备用于分析目的。请参阅第91页上的“数据仓库”。</p>
<h3 id="声明式(declarative)">声明式(declarative)</h3>
<p>描述某些东西应有的属性,但不知道如何实现它的确切步骤。在查询的上下文中,查询优化器采用声明性查询并决定如何最好地执行它。请参阅第42页上的“数据的查询语言”。</p>
<h3 id="非规范化(denormalize)">非规范化(denormalize)</h3>
<p>为了加速读取,在标准数据集中引入一些冗余或重复数据,通常采用缓存或索引的形式。非规范化的值是一种预先计算的查询结果,像物化视图。请参见“单对象和多对象操作”(第228页)和“从同一事件日志中派生多个视图”(第461页)。</p>
<h3 id="衍生数据(derived-data)">衍生数据(derived data)</h3>
<p>一种数据集,根据其他数据通过可重复运行的流程创建。必要时,你可以运行该流程再次创建衍生数据。衍生数据通常用于提高特定数据的读取速度。常见的衍生数据有索引、缓存和物化视图。参见第三部分的介绍。</p>
<h3 id="确定性(deterministic)">确定性(deterministic)</h3>
<p>描述一个函数,如果给它相同的输入,则总是产生相同的输出。这意味着它不能依赖于随机数字、时间、网络通信或其他不可预测的事情。</p>
<h3 id="分布式(distributed)">分布式(distributed)</h3>
<p>在由网络连接的多个节点上运行。对于部分节点故障,具有容错性:系统的一部分发生故障时,其他部分仍可以正常工作,通常情况下,软件无需了解故障相关的确切情况。请参阅第274页上的“故障和部分故障”。</p>
<h3 id="持久(durable)">持久(durable)</h3>
<p>以某种方式存储数据,即使发生各种故障,也不会丢失数据。请参阅第226页上的“持久性”。</p>
<h3 id="etl(extract-transform-load)">ETL(Extract-Transform-Load)</h3>
<p>提取-转换-加载(Extract-Transform-Load)。从源数据库中提取数据,将其转换为更适合分析查询的形式,并将其加载到数据仓库或批处理系统中的过程。请参阅第91页上的“数据仓库”。</p>
<h3 id="故障切换(failover)">故障切换(failover)</h3>
<p>在具有单一领导者的系统中,故障切换是将领导角色从一个节点转移到另一个节点的过程。请参阅第156页的“处理节点故障”。</p>
<h3 id="容错(fault-tolerant)">容错(fault-tolerant)</h3>
<p>如果出现问题(例如,机器崩溃或网络连接失败),可以自动恢复。请参阅第6页上的“可靠性”。</p>
<h3 id="流量控制(flow-control)">流量控制(flow control)</h3>
<p>见背压(backpressure)。</p>
<h3 id="追随者(follower)">追随者(follower)</h3>
<p>一种数据副本,仅处理领导者发出的数据变更,不直接接受来自客户端的任何写入。也称为辅助、仆从、只读副本或热备份。请参阅第152页上的“领导和追随者”。</p>
<h3 id="全文检索(full-text-search)">全文检索(full-text search)</h3>
<p>通过任意关键字来搜索文本,通常具有附加特征,例如匹配类似的拼写词或同义词。全文索引是一种支持这种查询的次级索引。请参阅第88页上的“全文搜索和模糊索引”。</p>
<h3 id="图(graph)">图(graph)</h3>
<p>一种数据结构,由顶点(可以指向的东西,也称为节点或实体)和边(从一个顶点到另一个顶点的连接,也称为关系或弧)组成。请参阅第49页上的“和图相似的数据模型”。 </p>
<h3 id="散列(hash)">散列(hash)</h3>
<p>将输入转换为看起来像随机数值的函数。相同的输入会转换为相同的数值,不同的输入一般会转换为不同的数值,也可能转换为相同数值(也被称为冲突)。请参阅第203页的“根据键的散列值分隔”。</p>
<h3 id="幂等(idempotent)">幂等(idempotent)</h3>
<p>用于描述一种操作可以安全地重试执行,即执行多次的效果和执行一次的效果相同。请参阅第478页的“幂等”。</p>
<h3 id="索引(index)">索引(index)</h3>
<p>一种数据结构。通过索引,你可以根据特定字段的值,在所有数据记录中进行高效检索。请参阅第70页的“让数据库更强大的数据结构”。</p>
<h3 id="隔离性(isolation)">隔离性(isolation)</h3>
<p>在事务上下文中,用于描述并发执行事务的互相干扰程度。串行运行具有最强的隔离性,不过其它程度的隔离也通常被使用。请参阅第225页的“隔离”。</p>
<h3 id="连接(join)">连接(join)</h3>
<p>汇集有共同点的记录。在一个记录与另一个记录有关(外键,文档参考,图中的边)的情况下最常用,查询需要获取参考所指向的记录。请参阅第33页上的“多对一和多对多关系”和第393页上的“减少端连接和分组”。</p>
<h3 id="领导者(leader)">领导者(leader)</h3>
<p>当数据或服务被复制到多个节点时,由领导者分发已授权变更的数据副本。领导者可以通过某些协议选举产生,也可以由管理者手动选择。也被称为主人。请参阅第152页的“领导者和追随者”。</p>
<h3 id="线性化(linearizable)">线性化(linearizable)</h3>
<p>表现为系统中只有一份通过原子操作更新的数据副本。请参阅第324页的“线性化”。</p>
<h3 id="局部性(locality)">局部性(locality)</h3>
<p>一种性能优化方式,如果经常在相同的时间请求一些离散数据,把这些数据放到一个位置。请参阅第41页的“请求数据的局部性”。</p>
<h3 id="锁(lock)">锁(lock)</h3>
<p>一种保证只有一个线程、节点或事务可以访问的机制,如果其它线程、节点或事务想访问相同元素,则必须等待锁被释放。请参阅第257页的“两段锁(2PL)”和301页的“领导者和锁”。</p>
<h3 id="日志(log)">日志(log)</h3>
<p>日志是一个只能以追加方式写入的文件,用于存放数据。预写式日志用于在存储引擎崩溃时恢复数据(请参阅第82页的“使二叉树更稳定”);结构化日志存储引擎使用日志作为它的主要存储格式(请参阅第76页的“有序字符串表和日志结构的合并树”);复制型日志用于把写入从领导者复制到追随者(请参阅第152页的“领导者和追随者”);事件性日志可以表现为数据流(请参阅第446页的“分段日志”)。</p>
<h3 id="物化(materialize)">物化(materialize)</h3>
<p>急切地计算并写出结果,而不是在请求时计算。请参阅第101页的“聚合:数据立方和物化视图”和419页的“中间状态的物化”。</p>
<h3 id="节点(node)">节点(node)</h3>
<p>计算机上运行的一些软件的实例,通过网络与其他节点通信以完成某项任务。</p>
<h3 id="规范化(normalized)">规范化(normalized)</h3>
<p>以没有冗余或重复的方式进行结构化。 在规范化数据库中,当某些数据发生变化时,您只需要在一个地方进行更改,而不是在许多不同的地方复制很多次。 请参阅第33页上的“多对一和多对多关系”。</p>
<h3 id="olap(online-analytic-processing)">OLAP(Online Analytic Processing)</h3>
<p>在线分析处理。 通过对大量记录进行聚合(例如,计数,总和,平均)来表征的访问模式。 请参阅第90页上的“交易处理或分析?”。</p>
<h3 id="oltp(online-transaction-processing)">OLTP(Online Transaction Processing)</h3>
<p>在线事务处理。 访问模式的特点是快速查询,读取或写入少量记录,这些记录通常通过键索引。 请参阅第90页上的“交易处理或分析?”。</p>
<h3 id="分区(partitioning)">分区(partitioning)</h3>
<p>将单机上的大型数据集或计算结果拆分为较小部分,并将其分布到多台机器上。 也称为分片。 见第6章。</p>
<h3 id="百分位点(percentile)">百分位点(percentile)</h3>
<p>通过计算有多少值高于或低于某个阈值来衡量值分布的方法。 例如,某个时间段的第95个百分位响应时间是时间t,则该时间段中,95%的请求完成时间小于t,5%的请求完成时间要比t长。 请参阅第13页上的“描述性能”。</p>
<h3 id="主键(primary-key)">主键(primary key)</h3>
<p>唯一标识记录的值(通常是数字或字符串)。 在许多应用程序中,主键由系统在创建记录时生成(例如,按顺序或随机); 它们通常不由用户设置。 另请参阅二级索引。</p>
<h3 id="法定人数(quorum)">法定人数(quorum)</h3>
<p>在操作完成之前,需要对操作进行投票的最少节点数量。 请参阅第179页上的“读写的法定人数”。</p>
<h3 id="再平衡(rebalance)">再平衡(rebalance)</h3>
<p>将数据或服务从一个节点移动到另一个节点以实现负载均衡。 请参阅第209页上的“再平衡分区”。</p>
<h3 id="复制(replication)">复制(replication)</h3>
<p>在几个节点(副本)上保留相同数据的副本,以便在某些节点无法访问时,数据仍可访问。请参阅第5章。</p>
<h3 id="模式(schema)">模式(schema)</h3>
<p>一些数据结构的描述,包括其字段和数据类型。 可以在数据生命周期的不同点检查某些数据是否符合模式(请参阅第39页上的“文档模型中的模式灵活性”),模式可以随时间变化(请参阅第4章)。</p>
<h3 id="次级索引(secondary-index)">次级索引(secondary index)</h3>
<p>与主要数据存储器一起维护的附加数据结构,使您可以高效地搜索与某种条件相匹配的记录。 请参阅第85页上的“其他索引结构”和第206页上的“分区和二级索引”。</p>
<h3 id="可序列化(serializable)">可序列化(serializable)</h3>
<p>保证多个并发事务同时执行时,它们的行为与按顺序逐个执行事务相同。 请参阅第251页上的“可序列化”。</p>
<h3 id="无共享(shared-nothing)">无共享(shared-nothing)</h3>
<p>与共享内存或共享磁盘架构相比,独立节点(每个节点都有自己的CPU,内存和磁盘)通过传统网络连接。 见第二部分的介绍。</p>
<h3 id="偏斜(skew)">偏斜(skew)</h3>
<p>1.各分区负载不平衡,例如某些分区有大量请求或数据,而其他分区则少得多。也被称为热点。请参阅第205页上的“工作负载偏斜和减轻热点”和第407页上的“处理偏斜”。</p>
<p>2.时间线异常导致事件以不期望的顺序出现。 请参阅第237页上的“快照隔离和可重复读取”中的关于读取偏斜的讨论,第246页上的“写入偏斜和模糊”中的写入偏斜以及第291页上的“订购事件的时间戳”中的时钟偏斜。</p>
<h3 id="脑裂(split-brain)">脑裂(split brain)</h3>
<p>两个节点同时认为自己是领导者的情况,这种情况可能违反系统担保。 请参阅第156页的“处理节点中断”和第300页的“真相由多数定义”。</p>
<h3 id="存储过程(stored-procedure)">存储过程(stored procedure)</h3>
<p>一种对事务逻辑进行编码的方式,它可以完全在数据库服务器上执行,事务执行期间无需与客户端通信。 请参阅第252页的“实际串行执行”。</p>
<h3 id="流处理(stream-process)">流处理(stream process)</h3>
<p>持续运行的计算。可以持续接收事件流作为输入,并得出一些输出。 见第11章。</p>
<h3 id="同步(synchronous)">同步(synchronous)</h3>
<p>异步的反义词。</p>
<h3 id="记录系统(system-of-record)">记录系统(system of record)</h3>
<p>一个保存主要权威版本数据的系统,也被称为真相的来源。首先在这里写入数据变更,其他数据集可以从记录系统衍生。 参见第三部分的介绍。</p>
<h3 id="超时(timeout)">超时(timeout)</h3>
<p>检测故障的最简单方法之一,即在一段时间内观察是否缺乏响应。 但是,不可能知道超时是由于远程节点的问题还是网络中的问题造成的。 请参阅第281页上的“超时和无限延迟”。</p>
<h3 id="全序(total-order)">全序(total order)</h3>
<p>一种比较事物的方法(例如时间戳),可以让您总是说出两件事中哪一件更大,哪件更小。 总的来说,有些东西是无法比拟的(不能说哪个更大或更小)的顺序称为偏序。 请参见第341页的“因果顺序不是全序”。</p>
<h3 id="事务(transaction)">事务(transaction)</h3>
<p>为了简化错误处理和并发问题,将几个读写操作分组到一个逻辑单元中。 见第7章。</p>
<h3 id="两阶段提交(2pc-two-phase-commit)">两阶段提交(2PC, two-phase commit)</h3>
<p>一种确保多个数据库节点全部提交或全部中止事务的算法。 请参阅第354页上的“原子提交和两阶段提交(2PC)”。</p>
<h3 id="两阶段锁定(2pl-two-phase-locking)">两阶段锁定(2PL, two-phase locking)</h3>
<p>一种用于实现可序列化隔离的算法,该算法通过事务获取对其读取或写入的所有数据的锁,直到事务结束。 请参阅第257页上的“两阶段锁定(2PL)”。</p>
<h3 id="无边界(unbounded)">无边界(unbounded)</h3>
<p>没有任何已知的上限或大小。 反义词是边界(bounded)。</p>
</section>
</div>
<div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
</div>
</div>
</div>
<a href="ch12.html" class="navigation navigation-prev " aria-label="Previous page: 第十二章:数据系统的未来">
<i class="fa fa-angle-left"></i>
</a>
<a href="colophon.html" class="navigation navigation-next " aria-label="Next page: 后记">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"术语表","level":"1.6","depth":1,"next":{"title":"后记","level":"1.7","depth":1,"path":"colophon.md","ref":"colophon.md","articles":[]},"previous":{"title":"第十二章:数据系统的未来","level":"1.5.3","depth":2,"path":"ch12.md","ref":"ch12.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["callouts@git+https://github.com/Simran-B/gitbook-plugin-callouts.git","intopic-toc","theme-comscore","-lunr","-search","search-pro","github","splitter","-sharing","mathjax-pro","livereload"],"pluginsConfig":{"callouts":{"showTypeInHeader":true},"github":{"url":"https://github.com/KnowledgeHive/ddia"},"intopic-toc":{"isCollapsed":false,"isScrollspyActive":true,"label":{"de":"导航","en":"导航","ch":"导航"},"maxDepth":6,"mode":"nested","selector":".markdown-section h1, .markdown-section h2, .markdown-section h3, .markdown-section h4, .markdown-section h5, .markdown-section h6","visible":true},"livereload":{},"splitter":{},"search-pro":{},"fontsettings":{"theme":"white","family":"sans","size":2},"highlight":{},"theme-comscore":{},"mathjax-pro":{"forceSVG":false,"version":"2.7.7"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"glossary.md","mtime":"2020-12-01T02:42:40.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-12-21T05:58:49.715Z"},"basePath":".","book":{"language":""}});
});
</script>
</div>
<script src="gitbook/gitbook.js"></script>
<script src="gitbook/theme.js"></script>
<script src="gitbook/gitbook-plugin-intopic-toc/anchor.min.js"></script>
<script src="gitbook/gitbook-plugin-intopic-toc/gumshoe.polyfills.min.js"></script>
<script src="gitbook/gitbook-plugin-intopic-toc/plugin.js"></script>
<script src="gitbook/gitbook-plugin-search-pro/jquery.mark.min.js"></script>
<script src="gitbook/gitbook-plugin-search-pro/search.js"></script>
<script src="gitbook/gitbook-plugin-github/plugin.js"></script>
<script src="gitbook/gitbook-plugin-splitter/splitter.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script src="gitbook/gitbook-plugin-mathjax-pro/plugin.js"></script>
<script src="gitbook/gitbook-plugin-livereload/plugin.js"></script>
<script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
<script src="gitbook/gitbook-plugin-theme-comscore/test.js"></script>
</body>
</html>