~ubuntu-branches/ubuntu/maverick/evolution-data-server/maverick-proposed

« back to all changes in this revision

Viewing changes to libdb/docs/ref/refs/bdb_usenix.ps

  • Committer: Bazaar Package Importer
  • Author(s): Didier Roche
  • Date: 2010-05-17 17:02:06 UTC
  • mfrom: (1.1.79 upstream) (1.6.12 experimental)
  • Revision ID: james.westby@ubuntu.com-20100517170206-4ufr52vwrhh26yh0
Tags: 2.30.1-1ubuntu1
* Merge from debian experimental. Remaining change:
  (LP: #42199, #229669, #173703, #360344, #508494)
  + debian/control:
    - add Vcs-Bzr tag
    - don't use libgnome
    - Use Breaks instead of Conflicts against evolution 2.25 and earlier.
  + debian/evolution-data-server.install,
    debian/patches/45_libcamel_providers_version.patch:
    - use the upstream versioning, not a Debian-specific one 
  + debian/libedata-book1.2-dev.install, debian/libebackend-1.2-dev.install,
    debian/libcamel1.2-dev.install, debian/libedataserverui1.2-dev.install:
    - install html documentation
  + debian/rules:
    - don't build documentation it's shipped with the tarball

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
%!PS-Adobe-3.0
2
 
%%Creator: groff version 1.11
3
 
%%CreationDate: Mon Apr 26 13:38:12 1999
4
 
%%DocumentNeededResources: font Times-Bold
5
 
%%+ font Times-Roman
6
 
%%+ font Times-Italic
7
 
%%+ font Courier
8
 
%%DocumentSuppliedResources: procset grops 1.11 0
9
 
%%Pages: 9
10
 
%%PageOrder: Ascend
11
 
%%Orientation: Portrait
12
 
%%EndComments
13
 
%%BeginProlog
14
 
%%BeginResource: procset grops 1.11 0
15
 
/setpacking where{
16
 
pop
17
 
currentpacking
18
 
true setpacking
19
 
}if
20
 
/grops 120 dict dup begin
21
 
/SC 32 def
22
 
/A/show load def
23
 
/B{0 SC 3 -1 roll widthshow}bind def
24
 
/C{0 exch ashow}bind def
25
 
/D{0 exch 0 SC 5 2 roll awidthshow}bind def
26
 
/E{0 rmoveto show}bind def
27
 
/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
28
 
/G{0 rmoveto 0 exch ashow}bind def
29
 
/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
30
 
/I{0 exch rmoveto show}bind def
31
 
/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
32
 
/K{0 exch rmoveto 0 exch ashow}bind def
33
 
/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
34
 
/M{rmoveto show}bind def
35
 
/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
36
 
/O{rmoveto 0 exch ashow}bind def
37
 
/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
38
 
/Q{moveto show}bind def
39
 
/R{moveto 0 SC 3 -1 roll widthshow}bind def
40
 
/S{moveto 0 exch ashow}bind def
41
 
/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
42
 
/SF{
43
 
findfont exch
44
 
[exch dup 0 exch 0 exch neg 0 0]makefont
45
 
dup setfont
46
 
[exch/setfont cvx]cvx bind def
47
 
}bind def
48
 
/MF{
49
 
findfont
50
 
[5 2 roll
51
 
0 3 1 roll
52
 
neg 0 0]makefont
53
 
dup setfont
54
 
[exch/setfont cvx]cvx bind def
55
 
}bind def
56
 
/level0 0 def
57
 
/RES 0 def
58
 
/PL 0 def
59
 
/LS 0 def
60
 
/MANUAL{
61
 
statusdict begin/manualfeed true store end
62
 
}bind def
63
 
/PLG{
64
 
gsave newpath clippath pathbbox grestore
65
 
exch pop add exch pop
66
 
}bind def
67
 
/BP{
68
 
/level0 save def
69
 
1 setlinecap
70
 
1 setlinejoin
71
 
72 RES div dup scale
72
 
LS{
73
 
90 rotate
74
 
}{
75
 
0 PL translate
76
 
}ifelse
77
 
1 -1 scale
78
 
}bind def
79
 
/EP{
80
 
level0 restore
81
 
showpage
82
 
}bind def
83
 
/DA{
84
 
newpath arcn stroke
85
 
}bind def
86
 
/SN{
87
 
transform
88
 
.25 sub exch .25 sub exch
89
 
round .25 add exch round .25 add exch
90
 
itransform
91
 
}bind def
92
 
/DL{
93
 
SN
94
 
moveto
95
 
SN
96
 
lineto stroke
97
 
}bind def
98
 
/DC{
99
 
newpath 0 360 arc closepath
100
 
}bind def
101
 
/TM matrix def
102
 
/DE{
103
 
TM currentmatrix pop
104
 
translate scale newpath 0 0 .5 0 360 arc closepath
105
 
TM setmatrix
106
 
}bind def
107
 
/RC/rcurveto load def
108
 
/RL/rlineto load def
109
 
/ST/stroke load def
110
 
/MT/moveto load def
111
 
/CL/closepath load def
112
 
/FL{
113
 
currentgray exch setgray fill setgray
114
 
}bind def
115
 
/BL/fill load def
116
 
/LW/setlinewidth load def
117
 
/RE{
118
 
findfont
119
 
dup maxlength 1 index/FontName known not{1 add}if dict begin
120
 
{
121
 
1 index/FID ne{def}{pop pop}ifelse
122
 
}forall
123
 
/Encoding exch def
124
 
dup/FontName exch def
125
 
currentdict end definefont pop
126
 
}bind def
127
 
/DEFS 0 def
128
 
/EBEGIN{
129
 
moveto
130
 
DEFS begin
131
 
}bind def
132
 
/EEND/end load def
133
 
/CNT 0 def
134
 
/level1 0 def
135
 
/PBEGIN{
136
 
/level1 save def
137
 
translate
138
 
div 3 1 roll div exch scale
139
 
neg exch neg exch translate
140
 
0 setgray
141
 
0 setlinecap
142
 
1 setlinewidth
143
 
0 setlinejoin
144
 
10 setmiterlimit
145
 
[]0 setdash
146
 
/setstrokeadjust where{
147
 
pop
148
 
false setstrokeadjust
149
 
}if
150
 
/setoverprint where{
151
 
pop
152
 
false setoverprint
153
 
}if
154
 
newpath
155
 
/CNT countdictstack def
156
 
userdict begin
157
 
/showpage{}def
158
 
}bind def
159
 
/PEND{
160
 
clear
161
 
countdictstack CNT sub{end}repeat
162
 
level1 restore
163
 
}bind def
164
 
end def
165
 
/setpacking where{
166
 
pop
167
 
setpacking
168
 
}if
169
 
%%EndResource
170
 
%%IncludeResource: font Times-Bold
171
 
%%IncludeResource: font Times-Roman
172
 
%%IncludeResource: font Times-Italic
173
 
%%IncludeResource: font Courier
174
 
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
175
 
def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron
176
 
/scaron/zcaron/Ydieresis/trademark/quotesingle/.notdef/.notdef/.notdef
177
 
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
178
 
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
179
 
/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
180
 
/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
181
 
/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
182
 
/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
183
 
/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex
184
 
/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y
185
 
/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
186
 
/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
187
 
/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
188
 
/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
189
 
/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen
190
 
/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft
191
 
/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
192
 
/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
193
 
/ordmasculine/guilsinglright/onequarter/onehalf/threequarters
194
 
/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
195
 
/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
196
 
/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
197
 
/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
198
 
/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
199
 
/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
200
 
/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
201
 
/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
202
 
/Courier@0 ENC0/Courier RE/Times-Italic@0 ENC0/Times-Italic RE
203
 
/Times-Roman@0 ENC0/Times-Roman RE/Times-Bold@0 ENC0/Times-Bold RE
204
 
%%EndProlog
205
 
%%Page: 1 1
206
 
%%BeginPageSetup
207
 
BP
208
 
%%EndPageSetup
209
 
/F0 14/Times-Bold@0 SF(Berk)275.358 100.8 Q(eley DB)-.14 E/F1 12
210
 
/Times-Roman@0 SF(Michael A. Olson)270.372 129.6 Q -.3(Ke)283.182 144 S
211
 
(ith Bostic).3 E(Mar)279.15 158.4 Q(go Seltzer)-.216 E/F2 12
212
 
/Times-Italic@0 SF(Sleepycat Softwar)255.492 174.24 Q .24 -.12(e, I)
213
 
-.444 H(nc.).12 E/F3 12/Times-Bold@0 SF(Abstract)290.874 210.24 Q/F4 10
214
 
/Times-Roman@0 SF(Berk)79.2 226.44 Q(ele)-.1 E 2.925(yD)-.15 G 2.925(Bi)
215
 
-2.925 G 2.924(sa)-2.925 G 2.924(nO)-2.924 G .424
216
 
(pen Source embedded database system with a number of k)-2.924 F .724
217
 
-.15(ey a)-.1 H(dv).15 E .424(antages o)-.25 F -.15(ve)-.15 G 2.924(rc)
218
 
.15 G .424(omparable sys-)-2.924 F 3.102(tems. It)79.2 238.44 R .602(is simple to use, supports concurrent access by multiple users, and pro)
219
 
3.102 F .602(vides industrial-strength transaction)-.15 F 1.555
220
 
(support, including survi)79.2 250.44 R 1.555
221
 
(ving system and disk crashes.)-.25 F 1.554
222
 
(This paper describes the design and technical features of)6.555 F(Berk)
223
 
79.2 262.44 Q(ele)-.1 E 2.5(yD)-.15 G(B, the distrib)-2.5 E
224
 
(ution, and its license.)-.2 E F3 3(1. Intr)79.2 286.44 R(oduction)-.216
225
 
E F4 .691(The Berk)79.2 302.64 R(ele)-.1 E 3.191(yD)-.15 G .691
226
 
(atabase \(Berk)-3.191 F(ele)-.1 E 3.191(yD)-.15 G .692
227
 
(B\) is an embedded)-3.191 F .253
228
 
(database system that can be used in applications requir)79.2 314.64 R
229
 
(-)-.2 E 1.636(ing high-performance concurrent storage and retrie)79.2
230
 
326.64 R -.25(va)-.25 G(l).25 E 2.619(of k)79.2 338.64 R -.15(ey)-.1 G
231
 
(/v).15 E 2.619(alue pairs.)-.25 F 2.619(The softw)7.619 F 2.619
232
 
(are is distrib)-.1 F 2.618(uted as a)-.2 F .057
233
 
(library that can be link)79.2 350.64 R .058
234
 
(ed directly into an application.)-.1 F(It)5.058 E(pro)79.2 362.64 Q
235
 
1.454(vides a v)-.15 F 1.453(ariety of programmatic interf)-.25 F 1.453
236
 
(aces, includ-)-.1 F .237
237
 
(ing callable APIs for C, C++, Perl, Tcl and Ja)79.2 374.64 R -.25(va)
238
 
-.2 G 5.237(.U).25 G(sers)-5.237 E .327(may do)79.2 386.64 R .327
239
 
(wnload Berk)-.25 F(ele)-.1 E 2.827(yD)-.15 G 2.827(Bf)-2.827 G .326
240
 
(rom Sleep)-2.827 F .326(ycat Softw)-.1 F(are')-.1 E(s)-.55 E -.8(We)
241
 
79.2 398.64 S 2.5(bs).8 G(ite, at)-2.5 E/F5 10/Times-Italic@0 SF(www)2.5
242
 
E(.sleepycat.com)-.74 E F4(.)A(Sleep)79.2 414.84 Q 1.33(ycat distrib)-.1
243
 
F 1.33(utes Berk)-.2 F(ele)-.1 E 3.83(yD)-.15 G 3.83(Ba)-3.83 G 3.83(sa)
244
 
-3.83 G 3.83(nO)-3.83 G 1.33(pen Source)-3.83 F 3.3(product. The)79.2
245
 
426.84 R(compan)3.3 E 3.3(yc)-.15 G .8(ollects license fees for certain)
246
 
-3.3 F(uses of the softw)79.2 438.84 Q
247
 
(are and sells support and services.)-.1 E F3 3(1.1. History)79.2 468.84
248
 
R F4(Berk)79.2 485.04 Q(ele)-.1 E 3.057(yD)-.15 G 3.057(Bb)-3.057 G
249
 
-2.25 -.15(eg a)-3.057 H 3.058(na).15 G 3.058(san)-3.058 G 1.058 -.25
250
 
(ew i)-3.058 H .558(mplementation of a hash).25 F .843
251
 
(access method to replace both)79.2 497.04 R/F6 10/Courier@0 SF(hsearch)
252
 
3.342 E F4 .842(and the v)3.342 F(ari-)-.25 E(ous)79.2 509.04 Q F6(dbm)
253
 
5.466 E F4 2.967(implementations \()5.466 F F6(dbm)A F4 2.967(from A)
254
 
5.467 F(T&T)-1.11 E(,)-.74 E F6(ndbm)5.467 E F4 1.334(from Berk)79.2
255
 
521.04 R(ele)-.1 E 2.634 -.65(y, a)-.15 H(nd).65 E F6(gdbm)3.834 E F4
256
 
1.334(from the GNU project\).)3.834 F(In)6.333 E .367
257
 
(1990 Seltzer and Y)79.2 533.04 R .368
258
 
(igit produced a package called Hash)-.55 F(to do this [Selt91].)79.2
259
 
545.04 Q 3.106(The \214rst general release of Berk)79.2 561.24 R(ele)-.1
260
 
E 5.606(yD)-.15 G 3.106(B, in 1991,)-5.606 F 3.038(included some interf)
261
 
79.2 573.24 R 3.039(ace changes and a ne)-.1 F 5.539(wB)-.25 G(+tree)
262
 
-5.539 E .887(access method.)79.2 585.24 R .886
263
 
(At roughly the same time, Seltzer and)5.887 F 1.201(Olson de)79.2
264
 
597.24 R -.15(ve)-.25 G 1.202
265
 
(loped a prototype transaction system based).15 F 3.356(on Berk)79.2
266
 
609.24 R(ele)-.1 E 5.856(yD)-.15 G 3.356(B, called LIBTP [Selt92], b)
267
 
-5.856 F 3.355(ut ne)-.2 F -.15(ve)-.25 G(r).15 E(released the code.)
268
 
79.2 621.24 Q .653(The 4.4BSD UNIX release included Berk)79.2 637.44 R
269
 
(ele)-.1 E 3.153(yD)-.15 G 3.153(B1)-3.153 G(.85)-3.153 E .602(in 1992.)
270
 
79.2 649.44 R .601(Seltzer and Bostic maintained the code in the)5.601 F
271
 
1.545(early 1990s in Berk)79.2 661.44 R(ele)-.1 E 4.046(ya)-.15 G 1.546
272
 
(nd in Massachusetts.)-4.046 F(Man)6.546 E(y)-.15 E
273
 
(users adopted the code during this period.)79.2 673.44 Q .432
274
 
(By mid-1996, users w)79.2 689.64 R .431
275
 
(anted commercial support for the)-.1 F(softw)79.2 701.64 Q 7.033
276
 
(are. In)-.1 F 4.533(response, Bostic and Seltzer formed)7.033 F(Sleep)
277
 
79.2 713.64 Q 10.128(ycat Softw)-.1 F 12.628(are. The)-.1 F(compan)
278
 
12.627 E 15.127(ye)-.15 G(nhances,)-15.127 E(distrib)323.2 286.44 Q
279
 
1.623(utes, and supports Berk)-.2 F(ele)-.1 E 4.123(yD)-.15 G 4.124(Ba)
280
 
-4.123 G 1.624(nd supporting)-4.124 F(softw)323.2 298.44 Q 2.2
281
 
(are and documentation.)-.1 F(Sleep)7.2 E 2.2(ycat released v)-.1 F(er)
282
 
-.15 E(-)-.2 E 1.677(sion 2.1 of Berk)323.2 310.44 R(ele)-.1 E 4.177(yD)
283
 
-.15 G 4.178(Bi)-4.177 G 4.178(nm)-4.178 G 1.678(id-1997 with important)
284
 
-4.178 F(ne)323.2 322.44 Q 2.56(wf)-.25 G .06
285
 
(eatures, including support for concurrent access to)-2.56 F 4.176
286
 
(databases. The)323.2 334.44 R(compan)4.176 E 4.177(ym)-.15 G(ak)-4.177
287
 
E 1.677(es about three commer)-.1 F(-)-.2 E .958(cial releases a year)
288
 
323.2 346.44 R 3.458(,a)-.4 G .957(nd most recently shipped v)-3.458 F
289
 
(ersion)-.15 E(2.8.)323.2 358.44 Q F3 3(1.2. Ov)323.2 388.44 R(er)-.12 E
290
 
(view of Berk)-.12 E(eley DB)-.12 E F4 3.094(The C interf)323.2 404.64 R
291
 
3.094(aces in Berk)-.1 F(ele)-.1 E 5.594(yD)-.15 G 5.595(Bp)-5.594 G
292
 
(ermit)-5.595 E F6(dbm)5.595 E F4(-style)A 4.586
293
 
(record management for databases, with signi\214cant)323.2 416.64 R -.15
294
 
(ex)323.2 428.64 S 1.273(tensions to handle duplicate data items ele).15
295
 
F -.05(ga)-.15 G(ntly).05 E 3.773(,t)-.65 G(o)-3.773 E 2.427
296
 
(deal with concurrent access, and to pro)323.2 440.64 R 2.427
297
 
(vide transac-)-.15 F .71
298
 
(tional support so that multiple changes can be simulta-)323.2 452.64 R
299
 
1.273(neously committed \(so that the)323.2 464.64 R 3.773(ya)-.15 G
300
 
1.273(re made permanent\))-3.773 F 1.848
301
 
(or rolled back \(so that the database is restored to its)323.2 476.64 R
302
 
(state at the be)323.2 488.64 Q(ginning of the transaction\).)-.15 E
303
 
1.034(C++ and Ja)323.2 504.84 R 1.534 -.25(va i)-.2 H(nterf).25 E 1.033
304
 
(aces pro)-.1 F 1.033(vide a small set of classes)-.15 F 1.961
305
 
(for operating on a database.)323.2 516.84 R 1.961
306
 
(The main class in both)6.961 F .587(cases is called)323.2 528.84 R F6
307
 
(Db)3.086 E F4 3.086(,a)C .586(nd pro)-3.086 F .586
308
 
(vides methods that encapsu-)-.15 F 1.128(late the)323.2 540.84 R F6
309
 
(dbm)3.628 E F4 1.129(-style interf)B 1.129(aces that the C interf)-.1 F
310
 
1.129(aces pro-)-.1 F(vide.)323.2 552.84 Q 2.565(Tcl and Perl interf)
311
 
323.2 569.04 R 2.564(aces allo)-.1 F 5.064(wd)-.25 G -2.15 -.25(ev e)
312
 
-5.064 H 2.564(lopers w).25 F 2.564(orking in)-.1 F 1.716
313
 
(those languages to use Berk)323.2 581.04 R(ele)-.1 E 4.216(yD)-.15 G
314
 
4.216(Bi)-4.216 G 4.217(nt)-4.216 G 1.717(heir applica-)-4.217 F 3.419
315
 
(tions. Bindings)323.2 593.04 R .919
316
 
(for both languages are included in the)3.419 F(distrib)323.2 605.04 Q
317
 
(ution.)-.2 E(De)323.2 621.24 Q -.15(ve)-.25 G 1.069
318
 
(lopers may compile their applications and link in).15 F(Berk)323.2
319
 
633.24 Q(ele)-.1 E 2.5(yD)-.15 G 2.5(Bs)-2.5 G(tatically or dynamically)
320
 
-2.5 E(.)-.65 E F3 3(1.3. Ho)323.2 663.24 R 3(wB)-.12 G(erk)-3 E
321
 
(eley DB is used)-.12 E F4 .655(The Berk)323.2 679.44 R(ele)-.1 E 3.155
322
 
(yD)-.15 G 3.154(Bl)-3.155 G .654(ibrary supports concurrent access to)
323
 
-3.154 F 5.115(databases. It)323.2 691.44 R 2.616(can be link)5.115 F
324
 
2.616(ed into standalone applica-)-.1 F 1.487
325
 
(tions, into a collection of cooperating applications, or)323.2 703.44 R
326
 
4.21(into serv)323.2 715.44 R 4.21
327
 
(ers that handle requests and do database)-.15 F EP
328
 
%%Page: 2 2
329
 
%%BeginPageSetup
330
 
BP
331
 
%%EndPageSetup
332
 
/F0 10/Times-Roman@0 SF(operations on behalf of clients.)79.2 84 Q .858
333
 
(Compared to using a standalone database management)79.2 100.2 R .846
334
 
(system, Berk)79.2 112.2 R(ele)-.1 E 3.346(yD)-.15 G 3.346(Bi)-3.346 G
335
 
3.346(se)-3.346 G .846(asy to understand and simple)-3.346 F 3.826
336
 
(to use.)79.2 124.2 R 3.826(The softw)8.826 F 3.826
337
 
(are stores and retrie)-.1 F -.15(ve)-.25 G 6.325(sr).15 G(ecords,)
338
 
-6.325 E 2.77(which consist of k)79.2 136.2 R -.15(ey)-.1 G(/v).15 E
339
 
2.77(alue pairs.)-.25 F -2.15 -.25(Ke y)7.77 H 5.27(sa).25 G 2.77
340
 
(re used to)-5.27 F .698(locate items and can be an)79.2 148.2 R 3.198
341
 
(yd)-.15 G .698(ata type or structure sup-)-3.198 F
342
 
(ported by the programming language.)79.2 160.2 Q .813
343
 
(The programmer can pro)79.2 176.4 R .813(vide the functions that Berk)
344
 
-.15 F(e-)-.1 E(le)79.2 188.4 Q 3.264(yD)-.15 G 3.264(Bu)-3.264 G .763
345
 
(ses to operate on k)-3.264 F -.15(ey)-.1 G 3.263(s. F).15 F .763(or e)
346
 
-.15 F .763(xample, B+trees)-.15 F 1.72
347
 
(can use a custom comparison function, and the Hash)79.2 200.4 R .519
348
 
(access method can use a custom hash function.)79.2 212.4 R(Berk)5.518 E
349
 
(e-)-.1 E(le)79.2 224.4 Q 5.222(yD)-.15 G 5.222(Bu)-5.222 G 2.722
350
 
(ses def)-5.222 F 2.723(ault functions if none are supplied.)-.1 F .873
351
 
(Otherwise, Berk)79.2 236.4 R(ele)-.1 E 3.373(yD)-.15 G 3.373(Bd)-3.373
352
 
G .873(oes not e)-3.373 F .873(xamine or interpret)-.15 F .934(either k)
353
 
79.2 248.4 R -.15(ey)-.1 G 3.434(so).15 G 3.434(rv)-3.434 G .934
354
 
(alues in an)-3.684 F 3.434(yw)-.15 G(ay)-3.534 E 5.934(.V)-.65 G .934
355
 
(alues may be arbi-)-7.044 F(trarily long.)79.2 260.4 Q .69
356
 
(It is also important to understand what Berk)79.2 276.6 R(ele)-.1 E
357
 
3.19(yD)-.15 G 3.19(Bi)-3.19 G(s)-3.19 E 4.365(not. It)79.2 288.6 R
358
 
1.865(is not a database serv)4.365 F 1.866(er that handles netw)-.15 F
359
 
(ork)-.1 E 2.797(requests. It)79.2 300.6 R .297
360
 
(is not an SQL engine that e)2.797 F -.15(xe)-.15 G .296(cutes queries.)
361
 
.15 F 1.547(It is not a relational or object-oriented database man-)79.2
362
 
312.6 R(agement system.)79.2 324.6 Q 1.101(It is possible to b)79.2
363
 
340.8 R 1.101(uild an)-.2 F 3.601(yo)-.15 G 3.601(ft)-3.601 G 1.101
364
 
(hose on top of Berk)-3.601 F(ele)-.1 E(y)-.15 E 2.116(DB, b)79.2 352.8
365
 
R 2.116(ut the package, as distrib)-.2 F 2.117(uted, is an embedded)-.2
366
 
F 1.444(database engine.)79.2 364.8 R 1.444
367
 
(It has been designed to be portable,)6.444 F(small, f)79.2 376.8 Q
368
 
(ast, and reliable.)-.1 E/F1 12/Times-Bold@0 SF 3(1.4. A)79.2 406.8 R
369
 
(pplications that use Berk)-.3 E(eley DB)-.12 E F0(Berk)79.2 423 Q(ele)
370
 
-.1 E 4.248(yD)-.15 G 4.248(Bi)-4.248 G 4.249(se)-4.248 G 1.749
371
 
(mbedded in a v)-4.249 F 1.749(ariety of proprietary)-.25 F 3.84
372
 
(and Open Source softw)79.2 435 R 3.84(are packages.)-.1 F 3.84
373
 
(This section)8.84 F(highlights a fe)79.2 447 Q 2.5(wo)-.25 G 2.5(ft)
374
 
-2.5 G(he products that use it.)-2.5 E 1.467(Directory serv)79.2 463.2 R
375
 
1.467(ers, which do data storage and retrie)-.15 F -.25(va)-.25 G(l).25
376
 
E 2.823(using the Local Directory Access Protocol \(LD)79.2 475.2 R
377
 
(AP\),)-.4 E(pro)79.2 487.2 Q .956
378
 
(vide naming and directory lookup service on local-)-.15 F 2.837
379
 
(area netw)79.2 499.2 R 5.337(orks. This)-.1 F 2.837
380
 
(service is, essentially)5.337 F 5.336(,d)-.65 G(atabase)-5.336 E .039
381
 
(query and update, b)79.2 511.2 R .039
382
 
(ut uses a simple protocol rather than)-.2 F 2.202(SQL or ODBC.)79.2
383
 
523.2 R(Berk)7.201 E(ele)-.1 E 4.701(yD)-.15 G 4.701(Bi)-4.701 G 4.701
384
 
(st)-4.701 G 2.201(he embedded data)-4.701 F 1.288
385
 
(manager in the majority of deplo)79.2 535.2 R 1.289(yed directory serv)
386
 
-.1 F(ers)-.15 E(today)79.2 547.2 Q 4.855(,i)-.65 G 2.355(ncluding LD)
387
 
-4.855 F 2.355(AP serv)-.4 F 2.355(ers from Netscape, Mes-)-.15 F
388
 
(sageDirect \(formerly Isode\), and others.)79.2 559.2 Q(Berk)79.2 575.4
389
 
Q(ele)-.1 E 4.385(yD)-.15 G 4.385(Bi)-4.385 G 4.385(sa)-4.385 G 1.886
390
 
(lso embedded in a lar)-4.385 F 1.886(ge number of)-.18 F 5.302
391
 
(mail serv)79.2 587.4 R 7.802(ers. Intermail,)-.15 F 5.302(from Softw)
392
 
7.802 F 5.302(are.com, uses)-.1 F(Berk)79.2 599.4 Q(ele)-.1 E 4.613(yD)
393
 
-.15 G 4.613(Ba)-4.613 G 4.613(sam)-4.613 G 2.114
394
 
(essage store and as the backing)-4.613 F 3.597
395
 
(store for its directory serv)79.2 611.4 R(er)-.15 E 8.597(.T)-.55 G
396
 
3.597(he sendmail serv)-8.597 F(er)-.15 E 1.175
397
 
(\(including both the commercial Sendmail Pro of)79.2 623.4 R(fering)
398
 
-.25 E 3.283(from Sendmail, Inc. and the v)79.2 635.4 R 3.283
399
 
(ersion distrib)-.15 F 3.282(uted by)-.2 F(sendmail.or)79.2 647.4 Q
400
 
2.304(g\) uses Berk)-.18 F(ele)-.1 E 4.804(yD)-.15 G 4.804(Bt)-4.804 G
401
 
4.804(os)-4.804 G 2.305(tore aliases and)-4.804 F 9.01
402
 
(other information.)79.2 659.4 R(Similarly)14.01 E 11.51(,P)-.65 G 9.01
403
 
(ost\214x \(formerly)-11.51 F 3.465(VMailer\) uses Berk)79.2 671.4 R
404
 
(ele)-.1 E 5.965(yD)-.15 G 5.965(Bt)-5.965 G 5.965(os)-5.965 G 3.465
405
 
(tore administrati)-5.965 F -.15(ve)-.25 G(information.)79.2 683.4 Q
406
 
.134(In addition, Berk)79.2 699.6 R(ele)-.1 E 2.634(yD)-.15 G 2.633(Bi)
407
 
-2.634 G 2.633(se)-2.633 G .133(mbedded in a wide v)-2.633 F(ariety)-.25
408
 
E 4.994(of other softw)79.2 711.6 R 4.994(are products.)-.1 F 4.994
409
 
(Example applications)9.994 F .373
410
 
(include managing access control lists, storing user k)323.2 84 R -.15
411
 
(ey)-.1 G(s).15 E 2.75(in a public-k)323.2 96 R 3.05 -.15(ey i)-.1 H
412
 
2.75(nfrastructure, recording machine-to-).15 F(netw)323.2 108 Q .519
413
 
(ork-address mappings in address serv)-.1 F .518(ers, and stor)-.15 F(-)
414
 
-.2 E .411(ing con\214guration and de)323.2 120 R .412
415
 
(vice information in video post-)-.25 F(production softw)323.2 132 Q
416
 
(are.)-.1 E(Finally)323.2 148.2 Q 4.978(,B)-.65 G(erk)-4.978 E(ele)-.1 E
417
 
4.978(yD)-.15 G 4.978(Bi)-4.978 G 4.978(sap)-4.978 G 2.478(art of man)
418
 
-4.978 F 4.977(yo)-.15 G 2.477(ther Open)-4.977 F .005(Source softw)
419
 
323.2 160.2 R .005(are packages a)-.1 F -.25(va)-.2 G .006
420
 
(ilable on the Internet.).25 F -.15(Fo)5.006 G(r).15 E -.15(ex)323.2
421
 
172.2 S .604(ample, the softw).15 F .604
422
 
(are is embedded in the Apache W)-.1 F(eb)-.8 E(serv)323.2 184.2 Q
423
 
(er and the Gnome desktop.)-.15 E F1 3(2. Access)323.2 214.2 R(Methods)3
424
 
E F0 .828(In database terminology)323.2 230.4 R 3.329(,a)-.65 G 3.329
425
 
(na)-3.329 G .829(ccess method is the disk-)-3.329 F 1.964
426
 
(based structure used to store data and the operations)323.2 242.4 R -.2
427
 
(av)323.2 254.4 S 6.053(ailable on that structure.)-.05 F -.15(Fo)11.053
428
 
G 8.554(re).15 G 6.054(xample, man)-8.704 F(y)-.15 E 3.853
429
 
(database systems support a B+tree access method.)323.2 266.4 R 1.203
430
 
(B+trees allo)323.2 278.4 R 3.703(we)-.25 G 1.203
431
 
(quality-based lookups \(\214nd k)-3.703 F -.15(ey)-.1 G 3.704(se).15 G
432
 
(qual)-3.704 E 4(to some constant\), range-based lookups \(\214nd k)
433
 
323.2 290.4 R -.15(ey)-.1 G(s).15 E 1.188(between tw)323.2 302.4 R 3.688
434
 
(oc)-.1 G 1.189(onstants\) and record insertion and dele-)-3.688 F
435
 
(tion.)323.2 314.4 Q(Berk)323.2 330.6 Q(ele)-.1 E 4.729(yD)-.15 G 4.729
436
 
(Bs)-4.729 G 2.228(upports three access methods: B+tree,)-4.729 F 1.553
437
 
(Extended Linear Hashing \(Hash\), and Fix)323.2 342.6 R 1.553(ed- or V)
438
 
-.15 F(ari-)-1.11 E 3.639(able-length Records \(Recno\).)323.2 354.6 R
439
 
3.638(All three operate on)8.638 F 1.956(records composed of a k)323.2
440
 
366.6 R 2.256 -.15(ey a)-.1 H 1.956(nd a data v).15 F 4.456(alue. In)
441
 
-.25 F(the)4.456 E 1.301(B+tree and Hash access methods, k)323.2 378.6 R
442
 
-.15(ey)-.1 G 3.801(sc).15 G 1.301(an ha)-3.801 F 1.601 -.15(ve a)-.2 H
443
 
(rbi-).15 E 3.595(trary structure.)323.2 390.6 R 3.596
444
 
(In the Recno access method, each)8.595 F .266
445
 
(record is assigned a record number)323.2 402.6 R 2.765(,w)-.4 G .265
446
 
(hich serv)-2.765 F .265(es as the)-.15 F -.1(ke)323.2 414.6 S 4.106
447
 
-.65(y. I)-.05 H 2.806(na).65 G .306(ll the access methods, the v)-2.806
448
 
F .306(alue can ha)-.25 F .606 -.15(ve a)-.2 H(rbi-).15 E 1.417
449
 
(trary structure.)323.2 426.6 R 1.417
450
 
(The programmer can supply compari-)6.417 F 2.129
451
 
(son or hashing functions for k)323.2 438.6 R -.15(ey)-.1 G 2.129
452
 
(s, and Berk).15 F(ele)-.1 E 4.629(yD)-.15 G(B)-4.629 E
453
 
(stores and retrie)323.2 450.6 Q -.15(ve)-.25 G 2.5(sv).15 G
454
 
(alues without interpreting them.)-2.75 E 1.069
455
 
(All of the access methods use the host \214lesystem as a)323.2 466.8 R
456
 
(backing store.)323.2 478.8 Q F1 3(2.1. Hash)323.2 508.8 R F0(Berk)323.2
457
 
525 Q(ele)-.1 E 6.485(yD)-.15 G 6.485(Bi)-6.485 G 3.986
458
 
(ncludes a Hash access method that)-6.485 F 9.863(implements e)323.2 537
459
 
R 9.862(xtended linear hashing [Litw80].)-.15 F .017
460
 
(Extended linear hashing adjusts the hash function as the)323.2 549 R
461
 
.507(hash table gro)323.2 561 R .506(ws, attempting to k)-.25 F .506
462
 
(eep all b)-.1 F(uck)-.2 E .506(ets under)-.1 F(-)-.2 E
463
 
(full in the steady state.)323.2 573 Q 1.649
464
 
(The Hash access method supports insertion and dele-)323.2 589.2 R .259
465
 
(tion of records and lookup by e)323.2 601.2 R .259(xact match only)-.15
466
 
F 5.258(.A)-.65 G(ppli-)-5.258 E .038(cations may iterate o)323.2 613.2
467
 
R -.15(ve)-.15 G 2.538(ra).15 G .038(ll records stored in a table, b)
468
 
-2.538 F(ut)-.2 E(the order in which the)323.2 625.2 Q 2.5(ya)-.15 G
469
 
(re returned is unde\214ned.)-2.5 E F1 3(2.2. B+tr)323.2 655.2 R(ee)
470
 
-.216 E F0(Berk)323.2 671.4 Q(ele)-.1 E 7.184(yD)-.15 G 7.184(Bi)-7.184
471
 
G 4.683(ncludes a B+tree [Come79] access)-7.184 F 2.502(method. B+trees)
472
 
323.2 683.4 R .002(store records of k)2.502 F -.15(ey)-.1 G(/v).15 E
473
 
.003(alue pairs in leaf)-.25 F .52(pages, and pairs of \(k)323.2 695.4 R
474
 
-.15(ey)-.1 G 3.02(,c)-.5 G .52(hild page address\) at internal)-3.02 F
475
 
5.384(nodes. K)323.2 707.4 R -.15(ey)-.25 G 5.384(si).15 G 5.384(nt)
476
 
-5.384 G 2.885(he tree are stored in sorted order)-5.384 F(,)-.4 E EP
477
 
%%Page: 3 3
478
 
%%BeginPageSetup
479
 
BP
480
 
%%EndPageSetup
481
 
/F0 10/Times-Roman@0 SF .576
482
 
(where the order is determined by the comparison func-)79.2 84 R .815
483
 
(tion supplied when the database w)79.2 96 R .815(as created.)-.1 F -.15
484
 
(Pa)5.815 G .815(ges at).15 F .389(the leaf le)79.2 108 R -.15(ve)-.25 G
485
 
2.889(lo).15 G 2.889(ft)-2.889 G .389
486
 
(he tree include pointers to their neigh-)-2.889 F 1.444
487
 
(bors to simplify tra)79.2 120 R -.15(ve)-.2 G 3.944(rsal. B+trees).15 F
488
 
1.445(support lookup by)3.944 F -.15(ex)79.2 132 S .068
489
 
(act match \(equality\) or range \(greater than or equal to).15 F 2.891
490
 
(ak)79.2 144 S -.15(ey)-2.991 G 2.891(\). Lik).15 F 2.891(eH)-.1 G .391
491
 
(ash tables, B+trees support record inser)-2.891 F(-)-.2 E
492
 
(tion, deletion, and iteration o)79.2 156 Q -.15(ve)-.15 G 2.5(ra).15 G
493
 
(ll records in the tree.)-2.5 E .646
494
 
(As records are inserted and pages in the B+tree \214ll up,)79.2 172.2 R
495
 
(the)79.2 184.2 Q 2.722(ya)-.15 G .223(re split, with about half the k)
496
 
-2.722 F -.15(ey)-.1 G 2.723(sg).15 G .223(oing into a ne)-2.723 F(w)
497
 
-.25 E 1.603(peer page at the same le)79.2 196.2 R -.15(ve)-.25 G 4.103
498
 
(li).15 G 4.103(nt)-4.103 G 1.603(he tree.)-4.103 F 1.603(Most B+tree)
499
 
6.603 F .387(implementations lea)79.2 208.2 R .687 -.15(ve b)-.2 H .387
500
 
(oth nodes half-full after a split.).15 F 2.763
501
 
(This leads to poor performance in a common case,)79.2 220.2 R 1.522
502
 
(where the caller inserts k)79.2 232.2 R -.15(ey)-.1 G 4.022(si).15 G
503
 
4.022(no)-4.022 G(rder)-4.022 E 6.522(.T)-.55 G 4.023(oh)-7.322 G 1.523
504
 
(andle this)-4.023 F 1.643(case, Berk)79.2 244.2 R(ele)-.1 E 4.143(yD)
505
 
-.15 G 4.143(Bk)-4.143 G 1.642(eeps track of the insertion order)-4.243
506
 
F(,)-.4 E 2.023(and splits pages une)79.2 256.2 R -.15(ve)-.25 G 2.024
507
 
(nly to k).15 F 2.024(eep pages fuller)-.1 F 7.024(.T)-.55 G(his)-7.024
508
 
E 2.3(reduces tree size, yielding better search performance)79.2 268.2 R
509
 
(and smaller databases.)79.2 280.2 Q 3.177
510
 
(On deletion, empty pages are coalesced by re)79.2 296.4 R -.15(ve)-.25
511
 
G(rse).15 E 2.03(splits into single pages.)79.2 308.4 R 2.03
512
 
(The access method does no)7.03 F .347
513
 
(other page balancing on insertion or deletion.)79.2 320.4 R -2.15 -.25
514
 
(Ke y)5.348 H 2.848(sa).25 G(re)-2.848 E 1.927(not mo)79.2 332.4 R -.15
515
 
(ve)-.15 G 4.427(da).15 G 1.927(mong pages at e)-4.427 F -.15(ve)-.25 G
516
 
1.926(ry update to k).15 F 1.926(eep the)-.1 F 2.206
517
 
(tree well-balanced.)79.2 344.4 R 2.207(While this could impro)7.206 F
518
 
2.507 -.15(ve s)-.15 H(earch).15 E 2.341
519
 
(times in some cases, the additional code comple)79.2 356.4 R(xity)-.15
520
 
E(leads to slo)79.2 368.4 Q(wer updates and is prone to deadlocks.)-.25
521
 
E -.15(Fo)79.2 384.6 S 2.948(rs).15 G(implicity)-2.948 E 2.948(,B)-.65 G
522
 
(erk)-2.948 E(ele)-.1 E 2.949(yD)-.15 G 2.949(BB)-2.949 G .449
523
 
(+trees do no pre\214x com-)-2.949 F(pression of k)79.2 396.6 Q -.15(ey)
524
 
-.1 G 2.5(sa).15 G 2.5(ti)-2.5 G(nternal or leaf nodes.)-2.5 E/F1 12
525
 
/Times-Bold@0 SF 3(2.3. Recno)79.2 426.6 R F0(Berk)79.2 442.8 Q(ele)-.1
526
 
E 2.736(yD)-.15 G 2.736(Bi)-2.736 G .236(ncludes a \214x)-2.736 F .236
527
 
(ed- or v)-.15 F .235(ariable-length record)-.25 F 5.075
528
 
(access method, called)79.2 454.8 R/F2 10/Times-Italic@0 SF(Recno)7.575
529
 
E F0 10.075(.T)C 5.075(he Recno access)-10.075 F .896
530
 
(method assigns logical record numbers to each record,)79.2 466.8 R .978
531
 
(and can search for and update records by record num-)79.2 478.8 R(ber)
532
 
79.2 490.8 Q 5.037(.R)-.55 G .037(ecno is able, for e)-5.037 F .037
533
 
(xample, to load a te)-.15 F .036(xt \214le into a)-.15 F 1.514
534
 
(database, treating each line as a record.)79.2 502.8 R 1.514
535
 
(This permits)6.514 F -.1(fa)79.2 514.8 S 1.313
536
 
(st searches by line number for applications lik).1 F 3.812(et)-.1 G
537
 
-.15(ex)-3.812 G(t).15 E(editors [Ston82].)79.2 526.8 Q 2.59
538
 
(Recno is actually b)79.2 543 R 2.59(uilt on top of the B+tree access)
539
 
-.2 F 3.192(method and pro)79.2 555 R 3.191(vides a simple interf)-.15 F
540
 
3.191(ace for storing)-.1 F 3.14(sequentially-ordered data v)79.2 567 R
541
 
5.64(alues. The)-.25 F 3.14(Recno access)5.64 F 2.266
542
 
(method generates k)79.2 579 R -.15(ey)-.1 G 4.766(si).15 G(nternally)
543
 
-4.766 E 7.266(.T)-.65 G 2.266(he programmer')-7.266 F(s)-.55 E(vie)79.2
544
 
591 Q 4.102(wo)-.25 G 4.102(ft)-4.102 G 1.602(he v)-4.102 F 1.602
545
 
(alues is that the)-.25 F 4.102(ya)-.15 G 1.603(re numbered sequen-)
546
 
-4.102 F .254(tially from one.)79.2 603 R(De)5.254 E -.15(ve)-.25 G .254
547
 
(lopers can choose to ha).15 F .553 -.15(ve r)-.2 H(ecords).15 E 9
548
 
(automatically renumbered when lo)79.2 615 R(wer)-.25 E(-numbered)-.2 E
549
 
.041(records are added or deleted.)79.2 627 R .041(In this case, ne)
550
 
5.041 F 2.541(wk)-.25 G -.15(ey)-2.641 G 2.541(sc).15 G(an)-2.541 E
551
 
(be inserted between e)79.2 639 Q(xisting k)-.15 E -.15(ey)-.1 G(s.).15
552
 
E F1 3(3. F)79.2 669 R(eatur)-.3 E(es)-.216 E F0 1.827
553
 
(This section describes important features of Berk)79.2 685.2 R(ele)-.1
554
 
E(y)-.15 E 3.456(DB. In)79.2 697.2 R .956(general, de)3.456 F -.15(ve)
555
 
-.25 G .956(lopers can choose which features).15 F .488
556
 
(are useful to them, and use only those that are required)79.2 709.2 R
557
 
(by their application.)323.2 84 Q -.15(Fo)323.2 100.2 S 3.529(re).15 G
558
 
1.029(xample, when an application opens a database, it)-3.679 F .101
559
 
(can declare the de)323.2 112.2 R .101(gree of concurrenc)-.15 F 2.601
560
 
(ya)-.15 G .102(nd reco)-2.601 F -.15(ve)-.15 G .102(ry that).15 F .049
561
 
(it requires.)323.2 124.2 R .048
562
 
(Simple stand-alone applications, and in par)5.049 F(-)-.2 E .491
563
 
(ticular ports of applications that used)323.2 136.2 R/F3 10/Courier@0
564
 
SF(dbm)2.991 E F0 .491(or one of its)2.991 F -.25(va)323.2 148.2 S 1.093
565
 
(riants, generally do not require concurrent access or).25 F .975
566
 
(crash reco)323.2 160.2 R -.15(ve)-.15 G(ry).15 E 5.975(.O)-.65 G .975
567
 
(ther applications, such as enterprise-)-5.975 F 3.08
568
 
(class database management systems that store sales)323.2 172.2 R 2.643
569
 
(transactions or other critical data, need full transac-)323.2 184.2 R
570
 
3.93(tional service.)323.2 196.2 R 3.93(Single-user operation is f)8.93
571
 
F 3.93(aster than)-.1 F 1.175(multi-user operation, since no o)323.2
572
 
208.2 R -.15(ve)-.15 G 1.176(rhead is incurred by).15 F 3.156
573
 
(locking. Running)323.2 220.2 R .656(with the reco)3.156 F -.15(ve)-.15
574
 
G .655(ry system disabled is).15 F -.1(fa)323.2 232.2 S 1.732
575
 
(ster than running with it enabled, since log records).1 F 2.703
576
 
(need not be written when changes are made to the)323.2 244.2 R
577
 
(database.)323.2 256.2 Q .851
578
 
(In addition, some core subsystems, including the lock-)323.2 272.4 R
579
 
.345(ing system and the logging f)323.2 284.4 R(acility)-.1 E 2.844(,c)
580
 
-.65 G .344(an be used outside)-2.844 F 1.772(the conte)323.2 296.4 R
581
 
1.772(xt of the access methods as well.)-.15 F(Although)6.773 E(fe)323.2
582
 
308.4 Q 4.284(wu)-.25 G 1.784(sers ha)-4.284 F 2.084 -.15(ve c)-.2 H
583
 
1.784(hosen to do so, it is possible to use).15 F .939
584
 
(only the lock manager in Berk)323.2 320.4 R(ele)-.1 E 3.439(yD)-.15 G
585
 
3.439(Bt)-3.439 G 3.439(oc)-3.439 G .939(ontrol con-)-3.439 F(currenc)
586
 
323.2 332.4 Q 4.743(yi)-.15 G 4.743(na)-4.743 G 4.743(na)-4.743 G 2.242
587
 
(pplication, without using an)-4.743 F 4.742(yo)-.15 G 4.742(ft)-4.742 G
588
 
(he)-4.742 E .158(standard database services.)323.2 344.4 R(Alternati)
589
 
5.158 E -.15(ve)-.25 G(ly).15 E 2.658(,t)-.65 G .159(he caller can)
590
 
-2.658 F(inte)323.2 356.4 Q .07
591
 
(grate locking of non-database resources with Berk)-.15 F(e-)-.1 E(le)
592
 
323.2 368.4 Q 5.201(yD)-.15 G(B')-5.201 E 5.201(st)-.55 G 2.702
593
 
(ransactional tw)-5.201 F 2.702(o-phase locking system, to)-.1 F 2.892
594
 
(impose transaction semantics on objects outside the)323.2 380.4 R
595
 
(database.)323.2 392.4 Q F1 3(3.1. Pr)323.2 422.4 R
596
 
(ogrammatic interfaces)-.216 E F0(Berk)323.2 438.6 Q(ele)-.1 E 4.008(yD)
597
 
-.15 G 4.008(Bd)-4.008 G 1.509(e\214nes a simple API for database man-)
598
 
-4.008 F 3.452(agement. The)323.2 450.6 R .952
599
 
(package does not include industry-stan-)3.452 F 1.898
600
 
(dard programmatic interf)323.2 462.6 R 1.898
601
 
(aces such as Open Database)-.1 F(Connecti)323.2 474.6 Q .852
602
 
(vity \(ODBC\), Object Linking and Embedding)-.25 F .817
603
 
(for Databases \(OleDB\), or Structured Query Language)323.2 486.6 R
604
 
4.027(\(SQL\). These)323.2 498.6 R(interf)4.027 E 1.527
605
 
(aces, while useful, were designed)-.1 F 2.477
606
 
(to promote interoperability of database systems, and)323.2 510.6 R
607
 
(not simplicity or performance.)323.2 522.6 Q 3.192
608
 
(In response to customer demand, Berk)323.2 538.8 R(ele)-.1 E 5.691(yD)
609
 
-.15 G 5.691(B2)-5.691 G(.5)-5.691 E .538
610
 
(introduced support for the XA standard [Open94].)323.2 550.8 R(XA)5.539
611
 
E .52(permits Berk)323.2 562.8 R(ele)-.1 E 3.02(yD)-.15 G 3.02(Bt)-3.02
612
 
G 3.02(op)-3.02 G .52(articipate in distrib)-3.02 F .52(uted trans-)-.2
613
 
F 3.373(actions under a transaction processing monitor lik)323.2 574.8 R
614
 
(e)-.1 E -.45(Tu)323.2 586.8 S -.15(xe).45 G 1.31(do from BEA Systems.)
615
 
.15 F(Lik)6.31 E 3.81(eX)-.1 G 1.31(A, other standard)-3.81 F(interf)
616
 
323.2 598.8 Q .99(aces can be b)-.1 F .99
617
 
(uilt on top of the core system.)-.2 F(The)5.99 E .846
618
 
(standards do not belong inside Berk)323.2 610.8 R(ele)-.1 E 3.346(yD)
619
 
-.15 G .846(B, since not)-3.346 F(all applications need them.)323.2
620
 
622.8 Q F1 3(3.2. W)323.2 652.8 R(orking with r)-.9 E(ecords)-.216 E F0
621
 
3.134(Ad)323.2 669 S .634
622
 
(atabase user may need to search for particular k)-3.134 F -.15(ey)-.1 G
623
 
(s).15 E .908(in a database, or may simply w)323.2 681 R .908
624
 
(ant to bro)-.1 F .907(wse a)-.25 F -.25(va)-.2 G(ilable).25 E 4.101
625
 
(records. Berk)323.2 693 R(ele)-.1 E 4.101(yD)-.15 G 4.101(Bs)-4.101 G
626
 
1.601(upports both k)-4.101 F -.15(ey)-.1 G 1.602(ed access, to).15 F
627
 
.173(\214nd one or more records with a gi)323.2 705 R -.15(ve)-.25 G
628
 
2.673(nk).15 G -.15(ey)-2.773 G 2.673(,o)-.5 G 2.673(rs)-2.673 G
629
 
(equential)-2.673 E .53(access, to retrie)323.2 717 R .83 -.15(ve a)-.25
630
 
H .53(ll the records in the database one at).15 F EP
631
 
%%Page: 4 4
632
 
%%BeginPageSetup
633
 
BP
634
 
%%EndPageSetup
635
 
/F0 10/Times-Roman@0 SF 6.34(at)79.2 84 S 6.34(ime. The)-6.34 F 3.84
636
 
(order of the records returned during)6.34 F .208
637
 
(sequential scans depends on the access method.)79.2 96 R(B+tree)5.209 E
638
 
1.495(and Recno databases return records in sort order)79.2 108 R 3.995
639
 
(,a)-.4 G(nd)-3.995 E .023
640
 
(Hash databases return them in apparently random order)79.2 120 R(.)-.55
641
 
E(Similarly)79.2 136.2 Q 4.959(,B)-.65 G(erk)-4.959 E(ele)-.1 E 4.959
642
 
(yD)-.15 G 4.958(Bd)-4.959 G 2.458(e\214nes simple interf)-4.958 F 2.458
643
 
(aces for)-.1 F
644
 
(inserting, updating, and deleting records in a database.)79.2 148.2 Q
645
 
/F1 12/Times-Bold@0 SF 3(3.3. Long)79.2 178.2 R -.12(ke)3 G(ys and v).12
646
 
E(alues)-.12 E F0(Berk)79.2 194.4 Q(ele)-.1 E 3.553(yD)-.15 G 3.553(Bm)
647
 
-3.553 G 1.053(anages k)-3.553 F -.15(ey)-.1 G 3.553(sa).15 G 1.053
648
 
(nd v)-3.553 F 1.053(alues as lar)-.25 F 1.054(ge as 2)-.18 F/F2 8
649
 
/Times-Roman@0 SF(32)-5 I F0 3.192(bytes. Since)79.2 206.4 R .692
650
 
(the time required to cop)3.192 F 3.192(yar)-.1 G .692(ecord is pro-)
651
 
-3.192 F 1.895(portional to its size, Berk)79.2 218.4 R(ele)-.1 E 4.396
652
 
(yD)-.15 G 4.396(Bi)-4.396 G 1.896(ncludes interf)-4.396 F(aces)-.1 E
653
 
4.507(that operate on partial records.)79.2 230.4 R 4.507
654
 
(If an application)9.507 F 1.273(requires only part of a lar)79.2 242.4
655
 
R 1.274(ge record, it requests partial)-.18 F .026(record retrie)79.2
656
 
254.4 R -.25(va)-.25 G .026(l, and recei).25 F -.15(ve)-.25 G 2.526(sj)
657
 
.15 G .025(ust the bytes that it needs.)-2.526 F(The smaller cop)79.2
658
 
266.4 Q 2.5(ys)-.1 G -2.25 -.2(av e)-2.5 H 2.5(sb).2 G
659
 
(oth time and memory)-2.5 E(.)-.65 E(Berk)79.2 282.6 Q(ele)-.1 E 3.206
660
 
(yD)-.15 G 3.206(Ba)-3.206 G(llo)-3.206 E .706
661
 
(ws the programmer to de\214ne the data)-.25 F 2.72(types of k)79.2
662
 
294.6 R -.15(ey)-.1 G 5.22(sa).15 G 2.72(nd v)-5.22 F 5.22(alues. De)
663
 
-.25 F -.15(ve)-.25 G 2.72(lopers use an).15 F 5.22(yt)-.15 G(ype)-5.22
664
 
E -.15(ex)79.2 306.6 S(pressible in the programming language.).15 E F1 3
665
 
(3.4. Lar)79.2 336.6 R(ge databases)-.12 E F0 3.255(As)79.2 352.8 S .755
666
 
(ingle database managed by Berk)-3.255 F(ele)-.1 E 3.256(yD)-.15 G 3.256
667
 
(Bc)-3.256 G .756(an be up)-3.256 F 1.716(to 2)79.2 364.8 R F2(48)-5 I
668
 
F0 1.716(bytes, or 256 petabytes, in size.)4.216 5 N(Berk)6.715 E(ele)
669
 
-.1 E 4.215(yD)-.15 G(B)-4.215 E 2.144
670
 
(uses the host \214lesystem as the backing store for the)79.2 376.8 R
671
 
2.668(database, so lar)79.2 388.8 R 2.667
672
 
(ge databases require big \214le support)-.18 F 3.113
673
 
(from the operating system.)79.2 400.8 R(Sleep)8.113 E 3.114(ycat Softw)
674
 
-.1 F 3.114(are has)-.1 F 5.712(customers using Berk)79.2 412.8 R(ele)
675
 
-.1 E 8.212(yD)-.15 G 8.212(Bt)-8.212 G 8.211(om)-8.212 G 5.711
676
 
(anage single)-8.211 F(databases in e)79.2 424.8 Q(xcess of 100 gig)-.15
677
 
E(abytes.)-.05 E F1 3(3.5. Main)79.2 454.8 R(memory databases)3 E F0
678
 
1.171(Applications that do not require persistent storage can)79.2 471 R
679
 
.119(create databases that e)79.2 483 R .119(xist only in main memory)
680
 
-.15 F 5.118(.T)-.65 G(hese)-5.118 E .542(databases bypass the o)79.2
681
 
495 R -.15(ve)-.15 G .543(rhead imposed by the I/O sys-).15 F
682
 
(tem altogether)79.2 507 Q(.)-.55 E 2.144
683
 
(Some applications do need to use disk as a backing)79.2 523.2 R 2.248
684
 
(store, b)79.2 535.2 R 2.249(ut run on machines with v)-.2 F 2.249
685
 
(ery lar)-.15 F 2.249(ge memory)-.18 F(.)-.65 E(Berk)79.2 547.2 Q(ele)
686
 
-.1 E 2.799(yD)-.15 G 2.799(Bi)-2.799 G 2.799(sa)-2.799 G .299
687
 
(ble to manage v)-2.799 F .299(ery lar)-.15 F .299(ge shared mem-)-.18 F
688
 
.128(ory re)79.2 559.2 R .129
689
 
(gions for cached data pages, log records, and lock)-.15 F 3.938
690
 
(management. F)79.2 571.2 R 1.437(or e)-.15 F 1.437
691
 
(xample, the cache re)-.15 F 1.437(gion used for)-.15 F .033
692
 
(data pages may be gig)79.2 583.2 R .034
693
 
(abytes in size, reducing the lik)-.05 F(eli-)-.1 E .639(hood that an)
694
 
79.2 595.2 R 3.139(yr)-.15 G .639
695
 
(ead operation will need to visit the disk)-3.139 F 1.201
696
 
(in the steady state.)79.2 607.2 R 1.201
697
 
(The programmer declares the size)6.201 F(of the cache re)79.2 619.2 Q
698
 
(gion at startup.)-.15 E(Finally)79.2 635.4 Q 7.048(,m)-.65 G(an)-7.048
699
 
E 7.048(yo)-.15 G 4.548(perating systems pro)-7.048 F 4.548
700
 
(vide memory-)-.15 F 2.532(mapped \214le services that are much f)79.2
701
 
647.4 R 2.533(aster than their)-.1 F 2.602
702
 
(general-purpose \214le system interf)79.2 659.4 R 5.102(aces. Berk)-.1
703
 
F(ele)-.1 E 5.102(yD)-.15 G(B)-5.102 E 5.118
704
 
(can memory-map its database \214les for read-only)79.2 671.4 R 3.917
705
 
(database use.)79.2 683.4 R 3.917(The application operates on records)
706
 
8.917 F 2.069(stored directly on the pages, with no cache manage-)79.2
707
 
695.4 R 1.557(ment o)79.2 707.4 R -.15(ve)-.15 G 4.057(rhead. Because)
708
 
.15 F 1.556(the application gets pointers)4.057 F 1.265
709
 
(directly into the Berk)323.2 84 R(ele)-.1 E 3.765(yD)-.15 G 3.765(Bp)
710
 
-3.765 G 1.265(ages, writes cannot be)-3.765 F 3.775
711
 
(permitted. Otherwise,)323.2 96 R 1.275(changes could bypass the lock-)
712
 
3.775 F .23(ing and logging systems, and softw)323.2 108 R .23
713
 
(are errors could cor)-.1 F(-)-.2 E 4.007(rupt the database.)323.2 120 R
714
 
4.006(Read-only applications can use)9.007 F(Berk)323.2 132 Q(ele)-.1 E
715
 
2.893(yD)-.15 G(B')-2.893 E 2.893(sm)-.55 G .393
716
 
(emory-mapped \214le service to impro)-2.893 F -.15(ve)-.15 G
717
 
(performance on most architectures.)323.2 144 Q F1 3
718
 
(3.6. Con\214gurable)323.2 174 R(page size)3 E F0 .111
719
 
(Programmers declare the size of the pages used by their)323.2 190.2 R
720
 
.403(access methods when the)323.2 202.2 R 2.903(yc)-.15 G .403
721
 
(reate a database.)-2.903 F(Although)5.403 E(Berk)323.2 214.2 Q(ele)-.1
722
 
E 4.046(yD)-.15 G 4.046(Bp)-4.046 G(ro)-4.046 E 1.546
723
 
(vides reasonable def)-.15 F 1.546(aults, de)-.1 F -.15(ve)-.25 G
724
 
(lopers).15 E 3.64(may o)323.2 226.2 R -.15(ve)-.15 G 3.64
725
 
(rride them to control system performance.).15 F .793
726
 
(Small pages reduce the number of records that \214t on a)323.2 238.2 R
727
 
.353(single page.)323.2 250.2 R(Fe)5.353 E .353
728
 
(wer records on a page means that fe)-.25 F(wer)-.25 E .724
729
 
(records are lock)323.2 262.2 R .724(ed when the page is lock)-.1 F .723
730
 
(ed, impro)-.1 F(ving)-.15 E(concurrenc)323.2 274.2 Q 5.262 -.65(y. T)
731
 
-.15 H 1.462(he per).65 F 1.462(-page o)-.2 F -.15(ve)-.15 G 1.462
732
 
(rhead is proportionally).15 F 2.29
733
 
(higher with smaller pages, of course, b)323.2 286.2 R 2.29(ut de)-.2 F
734
 
-.15(ve)-.25 G(lopers).15 E(can trade of)323.2 298.2 Q 2.5(fs)-.25 G
735
 
(pace for time as an application requires.)-2.5 E F1 3(3.7. Small)323.2
736
 
328.2 R -.3(fo)3 G(otprint).3 E F0(Berk)323.2 344.4 Q(ele)-.1 E 3.973
737
 
(yD)-.15 G 3.973(Bi)-3.973 G 3.974(sac)-3.973 G 1.474(ompact system.)
738
 
-3.974 F 1.474(The full package,)6.474 F .832
739
 
(including all access methods, reco)323.2 356.4 R -.15(ve)-.15 G
740
 
(rability).15 E 3.331(,a)-.65 G .831(nd trans-)-3.331 F 1.235
741
 
(action support is roughly 175K of te)323.2 368.4 R 1.236
742
 
(xt space on com-)-.15 F(mon architectures.)323.2 380.4 Q F1 3
743
 
(3.8. Cursors)323.2 410.4 R F0 1.57(In database terminology)323.2 426.6
744
 
R 4.07(,ac)-.65 G 1.57(ursor is a pointer into an)-4.07 F 1.806
745
 
(access method that can be called iterati)323.2 438.6 R -.15(ve)-.25 G
746
 
1.807(ly to return).15 F 3.68(records in sequence.)323.2 450.6 R(Berk)
747
 
8.68 E(ele)-.1 E 6.18(yD)-.15 G 6.18(Bi)-6.18 G 3.68(ncludes cursor)
748
 
-6.18 F(interf)323.2 462.6 Q 2.814(aces for all access methods.)-.1 F
749
 
2.815(This permits, for)7.814 F -.15(ex)323.2 474.6 S .34
750
 
(ample, users to tra).15 F -.15(ve)-.2 G .34(rse a B+tree and vie).15 F
751
 
2.84(wr)-.25 G .34(ecords in)-2.84 F(order)323.2 486.6 Q 6.233(.P)-.55 G
752
 
1.234(ointers to records in cursors are persistent, so)-6.233 F 1.779
753
 
(that once fetched, a record may be updated in place.)323.2 498.6 R
754
 
(Finally)323.2 510.6 Q 4.438(,c)-.65 G 1.939
755
 
(ursors support access to chains of duplicate)-4.438 F
756
 
(data items in the v)323.2 522.6 Q(arious access methods.)-.25 E F1 3
757
 
(3.9. J)323.2 552.6 R(oins)-.18 E F0 2.703(In database terminology)323.2
758
 
568.8 R 5.203(,aj)-.65 G 2.702(oin is an operation that)-5.203 F .616
759
 
(spans multiple separate tables \(or in the case of Berk)323.2 580.8 R
760
 
(e-)-.1 E(le)323.2 592.8 Q 4.518(yD)-.15 G 2.018
761
 
(B, multiple separate DB \214les\).)-4.518 F -.15(Fo)7.017 G 4.517(re)
762
 
.15 G 2.017(xample, a)-4.667 F(compan)323.2 604.8 Q 3.372(ym)-.15 G .873
763
 
(ay store information about its customers in)-3.372 F 1.545
764
 
(one table and information about sales in another)323.2 616.8 R 6.545
765
 
(.A)-.55 G(n)-6.545 E 1.498(application will lik)323.2 628.8 R 1.499
766
 
(ely w)-.1 F 1.499(ant to look up sales informa-)-.1 F .933
767
 
(tion by customer name; this requires matching records)323.2 640.8 R
768
 
2.28(in the tw)323.2 652.8 R 4.78(ot)-.1 G 2.28
769
 
(ables that share a common customer ID)-4.78 F 2.515(\214eld. This)323.2
770
 
664.8 R .015(combining of records from multiple tables is)2.515 F
771
 
(called a join.)323.2 676.8 Q(Berk)323.2 693 Q(ele)-.1 E 5.561(yD)-.15 G
772
 
5.561(Bi)-5.561 G 3.061(ncludes interf)-5.561 F 3.062
773
 
(aces for joining tw)-.1 F 5.562(oo)-.1 G(r)-5.562 E(more tables.)323.2
774
 
705 Q EP
775
 
%%Page: 5 5
776
 
%%BeginPageSetup
777
 
BP
778
 
%%EndPageSetup
779
 
/F0 12/Times-Bold@0 SF 3(3.10. T)79.2 84 R(ransactions)-.888 E/F1 10
780
 
/Times-Roman@0 SF -.35(Tr)79.2 100.2 S(ansactions ha).35 E .3 -.15(ve f)
781
 
-.2 H(our properties [Gray93]:).15 E/F2 8/Times-Roman@0 SF<83>84.2 116.4
782
 
Q F1(The)17.2 E 5.489(ya)-.15 G 2.989(re atomic.)-5.489 F 2.989
783
 
(That is, all of the changes)7.989 F 1.475
784
 
(made in a single transaction must be applied at)104.2 128.4 R 1.31
785
 
(the same instant or not at all.)104.2 140.4 R 1.31(This permits, for)
786
 
6.31 F -.15(ex)104.2 152.4 S 3.565(ample, the transfer of mone).15 F
787
 
6.065(yb)-.15 G 3.565(etween tw)-6.065 F(o)-.1 E 3.68
788
 
(accounts to be accomplished, by making the)104.2 164.4 R 1.27
789
 
(reduction of the balance in one account and the)104.2 176.4 R
790
 
(increase in the other into a single, atomic action.)104.2 188.4 Q F2
791
 
<83>84.2 204.6 Q F1(The)17.2 E 3.125(ym)-.15 G .625(ust be consistent.)
792
 
-3.125 F .625(That is, changes to the)5.625 F 3.628(database by an)104.2
793
 
216.6 R 6.128(yt)-.15 G 3.628(ransaction cannot lea)-6.128 F 3.929 -.15
794
 
(ve t)-.2 H(he).15 E(database in an ille)104.2 228.6 Q -.05(ga)-.15 G
795
 
2.5(lo).05 G 2.5(rc)-2.5 G(orrupt state.)-2.5 E F2<83>84.2 244.8 Q F1
796
 
(The)17.2 E 3.006(ym)-.15 G .506(ust be isolatable.)-3.006 F(Re)5.506 E
797
 
-.05(ga)-.15 G .505(rdless of the num-).05 F .8(ber of users w)104.2
798
 
256.8 R .8(orking in the database at the same)-.1 F 1.88(time, e)104.2
799
 
268.8 R -.15(ve)-.25 G 1.88(ry user must ha).15 F 2.18 -.15(ve t)-.2 H
800
 
1.88(he illusion that no).15 F(other acti)104.2 280.8 Q
801
 
(vity is going on.)-.25 E F2<83>84.2 297 Q F1(The)17.2 E 5.54(ym)-.15 G
802
 
3.04(ust be durable.)-5.54 F(Ev)8.04 E 3.04(en if the disk that)-.15 F
803
 
.877(stores the database is lost, it must be possible to)104.2 309 R
804
 
(reco)104.2 321 Q -.15(ve)-.15 G 2.668(rt).15 G .168
805
 
(he database to its last transaction-consis-)-2.668 F(tent state.)104.2
806
 
333 Q 2.49(This combination of properties \212 atomicity)79.2 349.2 R
807
 
4.99(,c)-.65 G(onsis-)-4.99 E(tenc)79.2 361.2 Q 4.542 -.65(y, i)-.15 H
808
 
3.243(solation, and durability \212 is referred to as).65 F -.4(AC)79.2
809
 
373.2 S 3.459(IDity in the literature.).4 F(Berk)8.459 E(ele)-.1 E 5.958
810
 
(yD)-.15 G 3.458(B, lik)-5.958 F 5.958(em)-.1 G(ost)-5.958 E .993
811
 
(database systems, pro)79.2 385.2 R .993(vides A)-.15 F .994
812
 
(CIDity using a collection)-.4 F(of core services.)79.2 397.2 Q .257
813
 
(Programmers can choose to use Berk)79.2 413.4 R(ele)-.1 E 2.757(yD)-.15
814
 
G(B')-2.757 E 2.757(st)-.55 G(ransac-)-2.757 E
815
 
(tion services for applications that need them.)79.2 425.4 Q F0 3
816
 
(3.10.1. Write-ahead)79.2 455.4 R(logging)3 E F1 .479
817
 
(Programmers can enable the logging system when the)79.2 471.6 R(y)-.15
818
 
E .918(start up Berk)79.2 483.6 R(ele)-.1 E 3.418(yD)-.15 G 3.418
819
 
(B. During)-3.418 F 3.417(at)3.417 G .917(ransaction, the appli-)-3.417
820
 
F .493(cation mak)79.2 495.6 R .493
821
 
(es a series of changes to the database.)-.1 F(Each)5.494 E .552
822
 
(change is captured in a log entry)79.2 507.6 R 3.052(,w)-.65 G .552
823
 
(hich holds the state)-3.052 F .207
824
 
(of the database record both before and after the change.)79.2 519.6 R
825
 
2.208(The log record is guaranteed to be \215ushed to stable)79.2 531.6
826
 
R .871(storage before an)79.2 543.6 R 3.371(yo)-.15 G 3.371(ft)-3.371 G
827
 
.871(he changed data pages are writ-)-3.371 F 3.989(ten. This)79.2 555.6
828
 
R(beha)3.989 E 1.489(vior \212 writing the log before the data)-.2 F
829
 
(pages \212 is called)79.2 567.6 Q/F3 10/Times-Italic@0 SF
830
 
(write-ahead lo)2.5 E -.1(gg)-.1 G(ing).1 E F1(.)A .835(At an)79.2 583.8
831
 
R 3.335(yt)-.15 G .835(ime during the transaction, the application can)
832
 
-3.335 F F3(commit)79.2 595.8 Q F1 4.202(,m)C 1.702
833
 
(aking the changes permanent, or)-4.202 F F3 -.45(ro)4.201 G 1.701
834
 
(ll bac).45 F(k)-.2 E F1(,)A .852
835
 
(cancelling all changes and restoring the database to its)79.2 607.8 R
836
 
1.57(pre-transaction state.)79.2 619.8 R 1.57
837
 
(If the application rolls back the)6.57 F 1.003
838
 
(transaction, then the log holds the state of all changed)79.2 631.8 R
839
 
.5(pages prior to the transaction, and Berk)79.2 643.8 R(ele)-.1 E 3(yD)
840
 
-.15 G 3(Bs)-3 G(imply)-3 E .226(restores that state.)79.2 655.8 R .226
841
 
(If the application commits the trans-)5.226 F .538(action, Berk)79.2
842
 
667.8 R(ele)-.1 E 3.038(yD)-.15 G 3.038(Bw)-3.038 G .538
843
 
(rites the log records to disk.)-3.038 F(In-)5.537 E 2.312
844
 
(memory copies of the data pages already re\215ect the)79.2 679.8 R
845
 
1.399(changes, and will be \215ushed as necessary during nor)79.2 691.8
846
 
R(-)-.2 E 2.35(mal processing.)79.2 703.8 R 2.35
847
 
(Since log writes are sequential, b)7.35 F(ut)-.2 E 8.732
848
 
(data page writes are random, this impro)79.2 715.8 R -.15(ve)-.15 G(s)
849
 
.15 E(performance.)323.2 84 Q F0 3(3.10.2. Crashes)323.2 114 R(and r)3 E
850
 
(eco)-.216 E -.12(ve)-.12 G(ry).12 E F1(Berk)323.2 130.2 Q(ele)-.1 E
851
 
3.592(yD)-.15 G(B')-3.592 E 3.592(sw)-.55 G 1.093
852
 
(rite-ahead log is used by the transac-)-3.592 F .415
853
 
(tion system to commit or roll back transactions.)323.2 142.2 R .414
854
 
(It also)5.414 F(gi)323.2 154.2 Q -.15(ve)-.25 G 3.23(st).15 G .73
855
 
(he reco)-3.23 F -.15(ve)-.15 G .73
856
 
(ry system the information that it needs).15 F .824(to protect ag)323.2
857
 
166.2 R .824(ainst data loss or corruption from crashes.)-.05 F(Berk)
858
 
323.2 178.2 Q(ele)-.1 E 2.703(yD)-.15 G 2.703(Bi)-2.703 G 2.704(sa)
859
 
-2.703 G .204(ble to survi)-2.704 F .504 -.15(ve a)-.25 H .204
860
 
(pplication crashes, sys-).15 F .408(tem crashes, and e)323.2 190.2 R
861
 
-.15(ve)-.25 G 2.908(nc).15 G .407(atastrophic f)-2.908 F .407
862
 
(ailures lik)-.1 F 2.907(et)-.1 G .407(he loss)-2.907 F
863
 
(of a hard disk, without losing an)323.2 202.2 Q 2.5(yd)-.15 G(ata.)-2.5
864
 
E(Survi)323.2 218.4 Q .538(ving crashes requires data stored in se)-.25
865
 
F -.15(ve)-.25 G .539(ral dif).15 F(fer)-.25 E(-)-.2 E 2.52(ent places.)
866
 
323.2 230.4 R 2.52(During normal processing, Berk)7.52 F(ele)-.1 E 5.02
867
 
(yD)-.15 G(B)-5.02 E .766(has copies of acti)323.2 242.4 R 1.066 -.15
868
 
(ve l)-.25 H .766(og records and recently-used data).15 F 1.539
869
 
(pages in memory)323.2 254.4 R 6.539(.L)-.65 G 1.539
870
 
(og records are \215ushed to the log)-6.539 F .694
871
 
(disk when transactions commit.)323.2 266.4 R .695
872
 
(Data pages trickle out)5.694 F .008(to the data disk as pages mo)323.2
873
 
278.4 R .308 -.15(ve t)-.15 H .008(hrough the b).15 F(uf)-.2 E .008
874
 
(fer cache.)-.25 F(Periodically)323.2 290.4 Q 2.691(,t)-.65 G .191
875
 
(he system administrator backs up the data)-2.691 F .278
876
 
(disk, creating a safe cop)323.2 302.4 R 2.778(yo)-.1 G 2.778(ft)-2.778
877
 
G .278(he database at a particular)-2.778 F 2.609(instant. When)323.2
878
 
314.4 R .109(the database is back)2.609 F .109(ed up, the log can be)-.1
879
 
F 3.838(truncated. F)323.2 326.4 R 1.337(or maximum rob)-.15 F 1.337
880
 
(ustness, the log disk and)-.2 F(data disk should be separate de)323.2
881
 
338.4 Q(vices.)-.25 E(Dif)323.2 354.6 Q 1.29(ferent system f)-.25 F 1.29
882
 
(ailures can destro)-.1 F 3.79(ym)-.1 G(emory)-3.79 E 3.79(,t)-.65 G
883
 
1.29(he log)-3.79 F 1.106(disk, or the data disk.)323.2 366.6 R(Berk)
884
 
6.106 E(ele)-.1 E 3.606(yD)-.15 G 3.606(Bi)-3.606 G 3.606(sa)-3.606 G
885
 
1.106(ble to survi)-3.606 F -.15(ve)-.25 G .679(the loss of an)323.2
886
 
378.6 R 3.179(yo)-.15 G .679(ne of these repositories without losing)
887
 
-3.179 F(an)323.2 390.6 Q 2.5(yc)-.15 G(ommitted transactions.)-2.5 E
888
 
1.372(If the computer')323.2 406.8 R 3.871(sm)-.55 G 1.371
889
 
(emory is lost, through an applica-)-3.871 F 1.619
890
 
(tion or operating system crash, then the log holds all)323.2 418.8 R
891
 
1.789(committed transactions.)323.2 430.8 R 1.788(On restart, the reco)
892
 
6.789 F -.15(ve)-.15 G 1.788(ry sys-).15 F .49(tem rolls the log forw)
893
 
323.2 442.8 R .49(ard ag)-.1 F .49(ainst the database, reapply-)-.05 F
894
 
.682(ing an)323.2 454.8 R 3.181(yc)-.15 G .681
895
 
(hanges to on-disk pages that were in memory)-3.181 F .14
896
 
(at the time of the crash.)323.2 466.8 R .14
897
 
(Since the log contains pre- and)5.14 F .957
898
 
(post-change state for transactions, the reco)323.2 478.8 R -.15(ve)-.15
899
 
G .956(ry system).15 F 1.14(also uses the log to restore an)323.2 490.8
900
 
R 3.64(yp)-.15 G 1.14(ages to their original)-3.64 F 1.615(state if the)
901
 
323.2 502.8 R 4.115(yw)-.15 G 1.615
902
 
(ere modi\214ed by transactions that ne)-4.115 F -.15(ve)-.25 G(r).15 E
903
 
(committed.)323.2 514.8 Q 2.051
904
 
(If the data disk is lost, the system administrator can)323.2 531 R .887
905
 
(restore the most recent cop)323.2 543 R 3.386(yf)-.1 G .886
906
 
(rom backup.)-3.386 F .886(The reco)5.886 F(v-)-.15 E 1.298
907
 
(ery system will roll the entire log forw)323.2 555 R 1.298(ard ag)-.1 F
908
 
1.298(ainst the)-.05 F 2.64
909
 
(original database, reapplying all committed changes.)323.2 567 R 4.363
910
 
(When it \214nishes, the database will contain e)323.2 579 R -.15(ve)
911
 
-.25 G(ry).15 E .535(change made by e)323.2 591 R -.15(ve)-.25 G .534
912
 
(ry transaction that e).15 F -.15(ve)-.25 G 3.034(rc).15 G(ommitted.)
913
 
-3.034 E .494(If the log disk is lost, then the reco)323.2 607.2 R -.15
914
 
(ve)-.15 G .495(ry system can use).15 F 1.853
915
 
(the in-memory copies of log entries to roll back an)323.2 619.2 R(y)
916
 
-.15 E .026(uncommitted transactions, \215ush all in-memory database)
917
 
323.2 631.2 R 1.659(pages to the data disk, and shut do)323.2 643.2 R
918
 
1.659(wn gracefully)-.25 F 6.658(.A)-.65 G(t)-6.658 E 2.204
919
 
(that point, the system administrator can back up the)323.2 655.2 R .039
920
 
(database disk, install a ne)323.2 667.2 R 2.539(wl)-.25 G .039
921
 
(og disk, and restart the sys-)-2.539 F(tem.)323.2 679.2 Q EP
922
 
%%Page: 6 6
923
 
%%BeginPageSetup
924
 
BP
925
 
%%EndPageSetup
926
 
/F0 12/Times-Bold@0 SF 3(3.10.3. Checkpoints)79.2 84 R/F1 10
927
 
/Times-Roman@0 SF(Berk)79.2 100.2 Q(ele)-.1 E 6.085(yD)-.15 G 6.085(Bi)
928
 
-6.085 G 3.585(ncludes a checkpointing service that)-6.085 F .263
929
 
(interacts with the reco)79.2 112.2 R -.15(ve)-.15 G .263(ry system.).15
930
 
F .263(During normal pro-)5.263 F 2.415
931
 
(cessing, both the log and the database are changing)79.2 124.2 R
932
 
(continually)79.2 136.2 Q 5.925(.A)-.65 G 3.425(ta)-5.925 G 1.224 -.15
933
 
(ny g)-3.425 H -2.15 -.25(iv e).15 H 3.424(ni).25 G .924
934
 
(nstant, the on-disk v)-3.424 F(ersions)-.15 E .414(of the tw)79.2 148.2
935
 
R 2.914(oa)-.1 G .414(re not guaranteed to be consistent.)-2.914 F .414
936
 
(The log)5.414 F 3.838
937
 
(probably contains changes that are not yet in the)79.2 160.2 R
938
 
(database.)79.2 172.2 Q .085(When an application mak)79.2 188.4 R .086
939
 
(es a)-.1 F/F2 10/Times-Italic@0 SF -.15(ch)2.586 G(ec).15 E(kpoint)-.2
940
 
E F1 2.586(,a)C .086(ll committed)-2.586 F .443
941
 
(changes in the log up to that point are guaranteed to be)79.2 200.4 R
942
 
.631(present on the data disk, too.)79.2 212.4 R .632
943
 
(Checkpointing is moder)5.631 F(-)-.2 E .046(ately e)79.2 224.4 R
944
 
(xpensi)-.15 E .346 -.15(ve d)-.25 H .046(uring normal processing, b).15
945
 
F .045(ut limits the)-.2 F(time spent reco)79.2 236.4 Q -.15(ve)-.15 G
946
 
(ring from crashes.).15 E 3.117
947
 
(After an application or operating system crash, the)79.2 252.6 R(reco)
948
 
79.2 264.6 Q -.15(ve)-.15 G 7.419(ry system only needs to go back tw).15
949
 
F(o)-.1 E(checkpoints)79.2 278.6 Q/F3 7/Times-Roman@0 SF(1)-4 I F1 1.376
950
 
(to start rolling the log forw)3.876 4 N 3.875(ard. W)-.1 F(ithout)-.4 E
951
 
3.264(checkpoints, there is no w)79.2 290.6 R 3.265(ay to be sure ho)-.1
952
 
F 5.765(wl)-.25 G(ong)-5.765 E .395(restarting after a crash will tak)
953
 
79.2 302.6 R 2.895(e. W)-.1 F .395(ith checkpoints, the)-.4 F .088
954
 
(restart interv)79.2 314.6 R .089(al can be \214x)-.25 F .089
955
 
(ed by the programmer)-.15 F 5.089(.R)-.55 G(eco)-5.089 E(v-)-.15 E .668
956
 
(ery processing can be guaranteed to complete in a sec-)79.2 326.6 R
957
 
(ond or tw)79.2 338.6 Q(o.)-.1 E(Softw)79.2 354.8 Q 2.457
958
 
(are crashes are much more common than disk)-.1 F -.1(fa)79.2 366.8 S
959
 
3.385(ilures. Man).1 F 3.385(yd)-.15 G -2.15 -.25(ev e)-3.385 H .884
960
 
(lopers w).25 F .884(ant to guarantee that soft-)-.1 F -.1(wa)79.2 378.8
961
 
S .158(re b).1 F .158(ugs do not destro)-.2 F 2.658(yd)-.1 G .158
962
 
(ata, b)-2.658 F .158(ut are willing to restore)-.2 F .631
963
 
(from tape, and to tolerate a day or tw)79.2 390.8 R 3.131(oo)-.1 G
964
 
3.131(fl)-3.131 G .63(ost w)-3.131 F .63(ork, in)-.1 F .89(the unlikle)
965
 
79.2 402.8 R 3.39(ye)-.15 G -.15(ve)-3.64 G .89(nt of a disk crash.).15
966
 
F -.4(Wi)5.89 G .89(th Berk).4 F(ele)-.1 E 3.39(yD)-.15 G(B,)-3.39 E
967
 
1.093(programmers may truncate the log at checkpoints.)79.2 414.8 R(As)
968
 
6.092 E .09(long as the tw)79.2 426.8 R 2.59(om)-.1 G .09
969
 
(ost recent checkpoints are present, the)-2.59 F(reco)79.2 438.8 Q -.15
970
 
(ve)-.15 G .106(ry system can guarantee that no committed trans-).15 F
971
 
.611(actions are lost after a softw)79.2 450.8 R .611(are crash.)-.1 F
972
 
.611(In this case, the)5.611 F(reco)79.2 462.8 Q -.15(ve)-.15 G 1.439
973
 
(ry system does not require that the log and the).15 F 1.328
974
 
(data be on separate de)79.2 474.8 R 1.329
975
 
(vices, although separating them)-.25 F(can still impro)79.2 486.8 Q .3
976
 
-.15(ve p)-.15 H(erformance by spreading out writes.).15 E F0 3
977
 
(3.10.4. T)79.2 516.8 R -.12(wo)-.888 G(-phase locking).12 E F1(Berk)
978
 
79.2 533 Q(ele)-.1 E 4.416(yD)-.15 G 4.416(Bp)-4.416 G(ro)-4.416 E 1.916
979
 
(vides a service kno)-.15 F 1.915(wn as tw)-.25 F(o-phase)-.1 E 3.017
980
 
(locking. In)79.2 545 R .517(order to reduce the lik)3.017 F .518
981
 
(elihood of deadlocks)-.1 F 2.547(and to guarantee A)79.2 557 R 2.546
982
 
(CID properties, database systems)-.4 F .063(manage locks in tw)79.2 569
983
 
R 2.564(op)-.1 G 2.564(hases. First,)-2.564 F .064(during the operation)
984
 
2.564 F 1.574(of a transaction, the)79.2 581 R 4.074(ya)-.15 G 1.574
985
 
(cquire locks, b)-4.074 F 1.573(ut ne)-.2 F -.15(ve)-.25 G 4.073(rr).15
986
 
G(elease)-4.073 E 6.147(them. Second,)79.2 593 R 3.648
987
 
(at the end of the transaction, the)6.147 F(y)-.15 E .235
988
 
(release locks, b)79.2 605 R .235(ut ne)-.2 F -.15(ve)-.25 G 2.735(ra)
989
 
.15 G .235(cquire them.)-2.735 F .235(In practice, most)5.235 F 4.69
990
 
(database systems, including Berk)79.2 617 R(ele)-.1 E 7.19(yD)-.15 G
991
 
4.69(B, acquire)-7.19 F 2.314(locks on demand o)79.2 629 R -.15(ve)-.15
992
 
G 4.814(rt).15 G 2.314(he course of the transaction,)-4.814 F
993
 
(then \215ush the log, then release all locks.)79.2 641 Q .32 LW 83.2
994
 
650.6 79.2 650.6 DL 87.2 650.6 83.2 650.6 DL 91.2 650.6 87.2 650.6 DL
995
 
95.2 650.6 91.2 650.6 DL 99.2 650.6 95.2 650.6 DL 103.2 650.6 99.2 650.6
996
 
DL 107.2 650.6 103.2 650.6 DL 111.2 650.6 107.2 650.6 DL 115.2 650.6
997
 
111.2 650.6 DL 119.2 650.6 115.2 650.6 DL 123.2 650.6 119.2 650.6 DL
998
 
127.2 650.6 123.2 650.6 DL 131.2 650.6 127.2 650.6 DL 135.2 650.6 131.2
999
 
650.6 DL 139.2 650.6 135.2 650.6 DL 143.2 650.6 139.2 650.6 DL 147.2
1000
 
650.6 143.2 650.6 DL 151.2 650.6 147.2 650.6 DL 155.2 650.6 151.2 650.6
1001
 
DL 159.2 650.6 155.2 650.6 DL 163.2 650.6 159.2 650.6 DL 167.2 650.6
1002
 
163.2 650.6 DL 171.2 650.6 167.2 650.6 DL 175.2 650.6 171.2 650.6 DL
1003
 
179.2 650.6 175.2 650.6 DL 183.2 650.6 179.2 650.6 DL 187.2 650.6 183.2
1004
 
650.6 DL 191.2 650.6 187.2 650.6 DL 195.2 650.6 191.2 650.6 DL 199.2
1005
 
650.6 195.2 650.6 DL 203.2 650.6 199.2 650.6 DL 207.2 650.6 203.2 650.6
1006
 
DL 211.2 650.6 207.2 650.6 DL 215.2 650.6 211.2 650.6 DL 219.2 650.6
1007
 
215.2 650.6 DL 223.2 650.6 219.2 650.6 DL/F4 5/Times-Roman@0 SF(1)100.8
1008
 
661 Q/F5 8/Times-Roman@0 SF .338(One checkpoint is not f)2.338 3.2 N
1009
 
.338(ar enough.)-.08 F .338(The reco)4.338 F -.12(ve)-.12 G .338
1010
 
(ry system can-).12 F .211
1011
 
(not be sure that the most recent checkpoint completed \212 it may ha)
1012
 
79.2 673.8 R -.12(ve)-.16 G .734
1013
 
(been interrupted by the crash that forced the reco)79.2 683.4 R -.12
1014
 
(ve)-.12 G .734(ry system to run).12 F(in the \214rst place.)79.2 693 Q
1015
 
F1(Berk)323.2 84 Q(ele)-.1 E 3.306(yD)-.15 G 3.306(Bc)-3.306 G .806
1016
 
(an lock entire database \214les, which cor)-3.306 F(-)-.2 E .845
1017
 
(respond to tables, or indi)323.2 96 R .844(vidual pages in them.)-.25 F
1018
 
.844(It does)5.844 F 2.141(no record-le)323.2 108 R -.15(ve)-.25 G 4.641
1019
 
(ll).15 G 4.641(ocking. By)-4.641 F 2.142(shrinking the page size,)4.641
1020
 
F(ho)323.2 120 Q(we)-.25 E -.15(ve)-.25 G 4.427 -.4(r, d).15 H -2.15
1021
 
-.25(ev e).4 H 3.627(lopers can guarantee that e).25 F -.15(ve)-.25 G
1022
 
3.626(ry page).15 F 2.101(holds only a small number of records.)323.2
1023
 
132 R 2.102(This reduces)7.102 F(contention.)323.2 144 Q .388
1024
 
(If locking is enabled, then read and write operations on)323.2 160.2 R
1025
 
5.317(ad)323.2 172.2 S 2.817(atabase acquire tw)-5.317 F 2.817
1026
 
(o-phase locks, which are held)-.1 F 3.635
1027
 
(until the transaction completes.)323.2 184.2 R 3.635(Which objects are)
1028
 
8.635 F(lock)323.2 196.2 Q .738
1029
 
(ed and the order of lock acquisition depend on the)-.1 F -.1(wo)323.2
1030
 
208.2 S .503(rkload for each transaction.).1 F .502
1031
 
(It is possible for tw)5.502 F 3.002(oo)-.1 G(r)-3.002 E 1.315
1032
 
(more transactions to deadlock, so that each is w)323.2 220.2 R(aiting)
1033
 
-.1 E(for a lock that is held by another)323.2 232.2 Q(.)-.55 E(Berk)
1034
 
323.2 248.4 Q(ele)-.1 E 3.307(yD)-.15 G 3.307(Bd)-3.307 G .807
1035
 
(etects deadlocks and automatically rolls)-3.307 F 1.825
1036
 
(back one of the transactions.)323.2 260.4 R 1.825
1037
 
(This releases the locks)6.825 F 1.926(that it held and allo)323.2 272.4
1038
 
R 1.925(ws the other transactions to con-)-.25 F 3.346(tinue. The)323.2
1039
 
284.4 R .847(caller is noti\214ed that its transaction did not)3.346 F
1040
 
1.747(complete, and may restart it.)323.2 296.4 R(De)6.747 E -.15(ve)
1041
 
-.25 G 1.747(lopers can specify).15 F .646
1042
 
(the deadlock detection interv)323.2 308.4 R .647(al and the polic)-.25
1043
 
F 3.147(yt)-.15 G 3.147(ou)-3.147 G .647(se in)-3.147 F
1044
 
(choosing a transaction to roll back.)323.2 320.4 Q 6.686(The tw)323.2
1045
 
336.6 R 6.686(o-phase locking interf)-.1 F 6.686(aces are separately)-.1
1046
 
F .927(callable by applications that link Berk)323.2 348.6 R(ele)-.1 E
1047
 
3.427(yD)-.15 G .928(B, though)-3.427 F(fe)323.2 360.6 Q 5.64(wu)-.25 G
1048
 
3.14(sers ha)-5.64 F 3.44 -.15(ve n)-.2 H 3.14(eeded to use that f).15 F
1049
 
3.14(acility directly)-.1 F(.)-.65 E 2.211(Using these interf)323.2
1050
 
372.6 R 2.211(aces, Berk)-.1 F(ele)-.1 E 4.711(yD)-.15 G 4.712(Bp)-4.711
1051
 
G(ro)-4.712 E 2.212(vides a f)-.15 F(ast,)-.1 E 2.4
1052
 
(platform-portable locking system for general-purpose)323.2 384.6 R
1053
 
2.917(use. It)323.2 396.6 R .418
1054
 
(also lets users include non-database objects in a)2.917 F 3.497
1055
 
(database transaction, by controlling access to them)323.2 408.6 R -.15
1056
 
(ex)323.2 420.6 S(actly as if the).15 E 2.5(yw)-.15 G
1057
 
(ere inside the database.)-2.5 E .583(The Berk)323.2 436.8 R(ele)-.1 E
1058
 
3.083(yD)-.15 G 3.084(Bt)-3.083 G -.1(wo)-3.084 G .584(-phase locking f)
1059
 
.1 F .584(acility is b)-.1 F .584(uilt on)-.2 F .609(the f)323.2 448.8 R
1060
 
.609(astest correct locking primiti)-.1 F -.15(ve)-.25 G 3.108(st).15 G
1061
 
.608(hat are supported)-3.108 F 1.967(by the underlying architecture.)
1062
 
323.2 460.8 R 1.967(In the current imple-)6.967 F .593
1063
 
(mentation, this means that the locking system is dif)323.2 472.8 R(fer)
1064
 
-.25 E(-)-.2 E 1.709(ent on the v)323.2 484.8 R 1.709
1065
 
(arious UNIX platforms, and is still more)-.25 F(dif)323.2 496.8 Q .695
1066
 
(ferent on W)-.25 F(indo)-.4 E .695(ws NT)-.25 F 5.695(.I)-.74 G 3.195
1067
 
(no)-5.695 G .695(ur e)-3.195 F .695(xperience, the most)-.15 F(dif)
1068
 
323.2 508.8 Q 2.634
1069
 
(\214cult aspect of performance tuning is \214nding the)-.25 F -.1(fa)
1070
 
323.2 520.8 S .883(stest locking primiti).1 F -.15(ve)-.25 G 3.383(st)
1071
 
.15 G .883(hat w)-3.383 F .882(ork correctly on a par)-.1 F(-)-.2 E 1.26
1072
 
(ticular architecture and then inte)323.2 532.8 R 1.26(grating the ne)
1073
 
-.15 F 3.76(wi)-.25 G(nter)-3.76 E(-)-.2 E -.1(fa)323.2 544.8 S
1074
 
(ce with the se).1 E -.15(ve)-.25 G(ral that we already support.).15 E
1075
 
.536(The w)323.2 561 R .536(orld w)-.1 F .536
1076
 
(ould be a better place if the operating sys-)-.1 F 2.096
1077
 
(tems community w)323.2 573 R 2.096(ould uniformly implement POSIX)-.1 F
1078
 
1.31(locking primiti)323.2 585 R -.15(ve)-.25 G 3.81(sa).15 G 1.31(nd w)
1079
 
-3.81 F 1.31(ould guarantee that acquiring)-.1 F 1.085
1080
 
(an uncontested lock w)323.2 597 R 1.085(as a f)-.1 F 1.085
1081
 
(ast operation.)-.1 F 1.085(Locks must)6.085 F -.1(wo)323.2 609 S 3.641
1082
 
(rk both among threads in a single process and).1 F(among processes.)
1083
 
323.2 621 Q F0 3(3.11. Concurr)323.2 651 R(ency)-.216 E F1 .383
1084
 
(Good performance under concurrent operation is a crit-)323.2 667.2 R
1085
 
.766(ical design point for Berk)323.2 679.2 R(ele)-.1 E 3.266(yD)-.15 G
1086
 
3.265(B. Although)-3.266 F(Berk)3.265 E(ele)-.1 E(y)-.15 E 1.961
1087
 
(DB is itself not multi-threaded, it is thread-safe, and)323.2 691.2 R
1088
 
.547(runs well in threaded applications.)323.2 703.2 R(Philosophically)
1089
 
5.546 E 3.046(,w)-.65 G(e)-3.046 E(vie)323.2 715.2 Q 4.764(wt)-.25 G
1090
 
2.264(he use of threads and the choice of a threads)-4.764 F EP
1091
 
%%Page: 7 7
1092
 
%%BeginPageSetup
1093
 
BP
1094
 
%%EndPageSetup
1095
 
/F0 10/Times-Roman@0 SF .066(package as a polic)79.2 84 R 2.566(yd)-.15
1096
 
G .065(ecision, and prefer to of)-2.566 F .065(fer mecha-)-.25 F .042
1097
 
(nism \(the ability to run threaded or not\), allo)79.2 96 R .043
1098
 
(wing appli-)-.25 F(cations to choose their o)79.2 108 Q(wn policies.)
1099
 
-.25 E 1.947(The locking, logging, and b)79.2 124.2 R(uf)-.2 E 1.947
1100
 
(fer pool subsystems all)-.25 F .711
1101
 
(use shared memory or other OS-speci\214c sharing f)79.2 136.2 R(acili-)
1102
 
-.1 E 1.713(ties to communicate.)79.2 148.2 R 1.713(Locks, b)6.713 F(uf)
1103
 
-.2 E 1.713(fer pool fetches, and)-.25 F 1.061(log writes beha)79.2
1104
 
160.2 R 1.361 -.15(ve i)-.2 H 3.561(nt).15 G 1.061(he same w)-3.561 F
1105
 
1.061(ay across threads in a)-.1 F .033(single process as the)79.2 172.2
1106
 
R 2.532(yd)-.15 G 2.532(oa)-2.532 G .032(cross dif)-2.532 F .032
1107
 
(ferent processes on a)-.25 F(single machine.)79.2 184.2 Q .896
1108
 
(As a result, concurrent database applications may start)79.2 200.4 R
1109
 
1.651(up a ne)79.2 212.4 R 4.151(wp)-.25 G 1.651(rocess for e)-4.151 F
1110
 
-.15(ve)-.25 G 1.651(ry single user).15 F 4.151(,m)-.4 G 1.651
1111
 
(ay create a)-4.151 F 2.848(single serv)79.2 224.4 R 2.848(er which spa)
1112
 
-.15 F 2.849(wns a ne)-.15 F 5.349(wt)-.25 G 2.849(hread for e)-5.349 F
1113
 
-.15(ve)-.25 G(ry).15 E(client request, or may choose an)79.2 236.4 Q
1114
 
2.5(yp)-.15 G(olic)-2.5 E 2.5(yi)-.15 G 2.5(nb)-2.5 G(etween.)-2.5 E
1115
 
(Berk)79.2 252.6 Q(ele)-.1 E 3.629(yD)-.15 G 3.629(Bh)-3.629 G 1.128
1116
 
(as been carefully designed to minimize)-3.629 F .07
1117
 
(contention and maximize concurrenc)79.2 264.6 R 3.87 -.65(y. T)-.15 H
1118
 
.07(he cache man-).65 F .57(ager allo)79.2 276.6 R .57
1119
 
(ws all threads or processes to bene\214t from I/O)-.25 F 2.917
1120
 
(done by one.)79.2 288.6 R 2.917(Shared resources must sometimes be)
1121
 
7.917 F(lock)79.2 300.6 Q 1.804(ed for e)-.1 F(xclusi)-.15 E 2.104 -.15
1122
 
(ve a)-.25 H 1.804(ccess by one thread of control.).15 F 1.757 -.8(We h)
1123
 
79.2 312.6 T -2.25 -.2(av e).8 H -.1(ke)2.857 G .158
1124
 
(pt critical sections small, and are careful not).1 F 1.199
1125
 
(to hold critical resource locks across system calls that)79.2 324.6 R
1126
 
.538(could deschedule the locking thread or process.)79.2 336.6 R
1127
 
(Sleep-)5.539 E .979(ycat Softw)79.2 348.6 R .979
1128
 
(are has customers with hundreds of concur)-.1 F(-)-.2 E(rent users w)
1129
 
79.2 360.6 Q(orking on a single database in production.)-.1 E/F1 12
1130
 
/Times-Bold@0 SF 3(4. Engineering)79.2 390.6 R(Philosoph)3 E(y)-.18 E F0
1131
 
(Fundamentally)79.2 406.8 Q 3.998(,B)-.65 G(erk)-3.998 E(ele)-.1 E 3.998
1132
 
(yD)-.15 G 3.998(Bi)-3.998 G 3.999(sac)-3.998 G 1.499
1133
 
(ollection of access)-3.999 F .19(methods with important f)79.2 418.8 R
1134
 
.19(acilities, lik)-.1 F 2.69(el)-.1 G .19(ogging, locking,)-2.69 F
1135
 
1.251(and transactional access underlying them.)79.2 430.8 R 1.252
1136
 
(In both the)6.252 F .992(research and the commercial w)79.2 442.8 R
1137
 
.991(orld, the techniques for)-.1 F -.2(bu)79.2 454.8 S 2.727
1138
 
(ilding systems lik).2 F 5.227(eB)-.1 G(erk)-5.227 E(ele)-.1 E 5.227(yD)
1139
 
-.15 G 5.227(Bh)-5.227 G -2.25 -.2(av e)-5.227 H 2.728(been well-)5.427
1140
 
F(kno)79.2 466.8 Q(wn for a long time.)-.25 E .443(The k)79.2 483 R .743
1141
 
-.15(ey a)-.1 H(dv).15 E .442(antage of Berk)-.25 F(ele)-.1 E 2.942(yD)
1142
 
-.15 G 2.942(Bi)-2.942 G 2.942(st)-2.942 G .442(he careful atten-)-2.942
1143
 
F 1.059(tion that has been paid to engineering details through-)79.2 495
1144
 
R 1.039(out its life.)79.2 507 R 2.639 -.8(We h)6.039 H -2.25 -.2(av e)
1145
 
.8 H 1.039(carefully designed the system so)3.739 F .452
1146
 
(that the core f)79.2 519 R .452(acilities, lik)-.1 F 2.952(el)-.1 G
1147
 
.452(ocking and I/O, surf)-2.952 F .453(ace the)-.1 F .972(right interf)
1148
 
79.2 531 R .971(aces and are otherwise opaque to the caller)-.1 F(.)-.55
1149
 
E .294(As programmers, we understand the v)79.2 543 R .295
1150
 
(alue of simplicity)-.25 F .206(and ha)79.2 555 R .506 -.15(ve w)-.2 H
1151
 
(ork).05 E .206(ed hard to simplify the interf)-.1 F .205(aces we sur)
1152
 
-.1 F(-)-.2 E -.1(fa)79.2 567 S(ce to users of the database system.).1 E
1153
 
(Berk)79.2 583.2 Q(ele)-.1 E 4.531(yD)-.15 G 4.531(Ba)-4.531 G -.2(vo)
1154
 
-4.731 G 2.031(ids limits in the code.).2 F 2.031(It places no)7.031 F
1155
 
.474(practical limit on the size of k)79.2 595.2 R -.15(ey)-.1 G .473
1156
 
(s, v).15 F .473(alues, or databases;)-.25 F(the)79.2 607.2 Q 2.5(ym)
1157
 
-.15 G(ay gro)-2.5 E 2.5(wt)-.25 G 2.5(oo)-2.5 G(ccup)-2.5 E 2.5(yt)-.1
1158
 
G(he a)-2.5 E -.25(va)-.2 G(ilable storage space.).25 E 1.857
1159
 
(The locking and logging subsystems ha)79.2 623.4 R 2.157 -.15(ve b)-.2
1160
 
H 1.858(een care-).15 F .184
1161
 
(fully crafted to reduce contention and impro)79.2 635.4 R .484 -.15
1162
 
(ve t)-.15 H(hrough-).15 E 2.16
1163
 
(put by shrinking or eliminating critical sections, and)79.2 647.4 R
1164
 
(reducing the sizes of lock)79.2 659.4 Q(ed re)-.1 E
1165
 
(gions and log entries.)-.15 E 2.238
1166
 
(There is nothing in the design or implementation of)79.2 675.6 R(Berk)
1167
 
79.2 687.6 Q(ele)-.1 E 2.818(yD)-.15 G 2.818(Bt)-2.818 G .318
1168
 
(hat pushes the state of the art in database)-2.818 F 3.545
1169
 
(systems. Rather)79.2 699.6 R 3.545(,w)-.4 G 3.545(eh)-3.545 G -2.25 -.2
1170
 
(av e)-3.545 H 1.044(been v)3.745 F 1.044(ery careful to get the)-.15 F
1171
 
4.321(engineering right.)79.2 711.6 R 4.321
1172
 
(The result is a system that is)9.321 F(superior)323.2 84 Q 2.867(,a)-.4
1173
 
G 2.867(sa)-2.867 G 2.866(ne)-2.867 G .366
1174
 
(mbedded database system, to an)-2.866 F 2.866(yo)-.15 G(ther)-2.866 E
1175
 
(solution a)323.2 96 Q -.25(va)-.2 G(ilable.).25 E .811
1176
 
(Most database systems trade of)323.2 112.2 R 3.312(fs)-.25 G .812
1177
 
(implicity for correct-)-3.312 F 4.151(ness. Either)323.2 124.2 R 1.651
1178
 
(the system is easy to use, or it supports)4.151 F 1.17
1179
 
(concurrent use and survi)323.2 136.2 R -.15(ve)-.25 G 3.67(ss).15 G
1180
 
1.17(ystem f)-3.67 F 3.67(ailures. Berk)-.1 F(ele)-.1 E(y)-.15 E 1.013
1181
 
(DB, because of its careful design and implementation,)323.2 148.2 R(of)
1182
 
323.2 160.2 Q(fers both simplicity and correctness.)-.25 E .759
1183
 
(The system has a small footprint, mak)323.2 176.4 R .759
1184
 
(es simple opera-)-.1 F 1.012
1185
 
(tions simple to carry out \(inserting a ne)323.2 188.4 R 3.512(wr)-.25
1186
 
G 1.012(ecord tak)-3.512 F(es)-.1 E 1.16(just a fe)323.2 200.4 R 3.66
1187
 
(wl)-.25 G 1.16(ines of code\), and beha)-3.66 F -.15(ve)-.2 G 3.66(sc)
1188
 
.15 G 1.16(orrectly in the)-3.66 F -.1(fa)323.2 212.4 S .528(ce of hea)
1189
 
.1 F .527(vy concurrent use, system crashes, and e)-.2 F -.15(ve)-.25 G
1190
 
(n).15 E(catastrophic f)323.2 224.4 Q(ailures lik)-.1 E 2.5(el)-.1 G
1191
 
(oss of a hard disk.)-2.5 E F1 3(5. The)323.2 254.4 R(Berk)3 E
1192
 
(eley DB 2.x Distrib)-.12 E(ution)-.24 E F0(Berk)323.2 270.6 Q(ele)-.1 E
1193
 
4.171(yD)-.15 G 4.171(Bi)-4.171 G 4.171(sd)-4.171 G(istrib)-4.171 E
1194
 
1.671(uted in source code form from)-.2 F/F2 10/Times-Italic@0 SF(www)
1195
 
323.2 282.6 Q(.sleepycat.com)-.74 E F0 7.322(.U)C 2.322
1196
 
(sers are free to do)-7.322 F 2.321(wnload and)-.25 F -.2(bu)323.2 294.6
1197
 
S(ild the softw).2 E(are, and to use it in their applications.)-.1 E F1
1198
 
3(5.1. What)323.2 324.6 R(is in the distrib)3 E(ution)-.24 E F0 4.827
1199
 
(The distrib)323.2 340.8 R 4.827(ution is a compressed archi)-.2 F 5.127
1200
 
-.15(ve \214)-.25 H 7.328(le. It).15 F .057
1201
 
(includes the source code for the Berk)323.2 352.8 R(ele)-.1 E 2.556(yD)
1202
 
-.15 G 2.556(Bl)-2.556 G(ibrary)-2.556 E 2.556(,a)-.65 G(s)-2.556 E .453
1203
 
(well as documentation, test suites, and supporting utili-)323.2 364.8 R
1204
 
(ties.)323.2 376.8 Q 2.613(The source code includes b)323.2 393 R 2.612
1205
 
(uild support for all sup-)-.2 F .254(ported platforms.)323.2 405 R .254
1206
 
(On UNIX systems Berk)5.254 F(ele)-.1 E 2.755(yD)-.15 G 2.755(Bu)-2.755
1207
 
G(ses)-2.755 E 1.28(the GNU autocon\214guration tool,)323.2 417 R/F3 10
1208
 
/Courier@0 SF(autoconf)3.78 E F0 3.78(,t)C 3.78(oi)-3.78 G(den-)-3.78 E
1209
 
.992(tify the system and to b)323.2 429 R .992
1210
 
(uild the library and supporting)-.2 F 3.589(utilities. Berk)323.2 441 R
1211
 
(ele)-.1 E 3.589(yD)-.15 G 3.588(Bi)-3.589 G 1.088(ncludes speci\214c b)
1212
 
-3.588 F 1.088(uild en)-.2 F(viron-)-.4 E .515
1213
 
(ments for other platforms, such as VMS and W)323.2 453 R(indo)-.4 E
1214
 
(ws.)-.25 E F1 3(5.1.1. Documentation)323.2 483 R F0 5.008(The distrib)
1215
 
323.2 499.2 R 5.008(uted system includes documentation in)-.2 F 1.626
1216
 
(HTML format.)323.2 511.2 R 1.626(The documentation is in tw)6.626 F
1217
 
4.127(op)-.1 G 1.627(arts: a)-4.127 F .725
1218
 
(UNIX-style reference manual for use by programmers,)323.2 523.2 R
1219
 
(and a reference guide which is tutorial in nature.)323.2 535.2 Q F1 3
1220
 
(5.1.2. T)323.2 565.2 R(est suite)-1.104 E F0 1.107(The softw)323.2
1221
 
581.4 R 1.108(are also includes a complete test suite, writ-)-.1 F .155
1222
 
(ten in Tcl.)323.2 593.4 R 1.754 -.8(We b)5.154 H(elie).8 E .454 -.15
1223
 
(ve t)-.25 H .154(hat the test suite is a k).15 F .454 -.15(ey a)-.1 H
1224
 
(dv).15 E(an-)-.25 E(tage of Berk)323.2 605.4 Q(ele)-.1 E 2.5(yD)-.15 G
1225
 
2.5(Bo)-2.5 G -.15(ve)-2.65 G 2.5(rc).15 G(omparable systems.)-2.5 E
1226
 
2.612(First, the test suite allo)323.2 621.6 R 2.613(ws users who do)
1227
 
-.25 F 2.613(wnload and)-.25 F -.2(bu)323.2 633.6 S 1.731(ild the softw)
1228
 
.2 F 1.731(are to be sure that it is operating cor)-.1 F(-)-.2 E(rectly)
1229
 
323.2 645.6 Q(.)-.65 E .893(Second, the test suite allo)323.2 661.8 R
1230
 
.894(ws us, lik)-.25 F 3.394(eo)-.1 G .894(ther commercial)-3.394 F(de)
1231
 
323.2 673.8 Q -.15(ve)-.25 G .536(lopers of database softw).15 F .536
1232
 
(are, to e)-.1 F -.15(xe)-.15 G .535(rcise the system).15 F 2.256
1233
 
(thoroughly at e)323.2 685.8 R -.15(ve)-.25 G 2.256(ry release.).15 F
1234
 
2.256(When we learn of ne)7.256 F(w)-.25 E -.2(bu)323.2 697.8 S 1.719
1235
 
(gs, we add them to the test suite.).2 F 3.319 -.8(We r)6.719 H 1.719
1236
 
(un the test).8 F 5.692(suite continually during de)323.2 709.8 R -.15
1237
 
(ve)-.25 G 5.692(lopment c).15 F 5.692(ycles, and)-.15 F EP
1238
 
%%Page: 8 8
1239
 
%%BeginPageSetup
1240
 
BP
1241
 
%%EndPageSetup
1242
 
/F0 10/Times-Roman@0 SF(al)79.2 84 Q -.1(wa)-.1 G .314
1243
 
(ys prior to release.).1 F .314(The result is a much more reli-)5.314 F
1244
 
(able system by the time it reaches beta release.)79.2 96 Q/F1 12
1245
 
/Times-Bold@0 SF 3(5.2. Binary)79.2 126 R(distrib)3 E(ution)-.24 E F0
1246
 
(Sleep)79.2 142.2 Q .893(ycat mak)-.1 F .893
1247
 
(es compiled libraries and general binary)-.1 F(distrib)79.2 154.2 Q
1248
 
(utions a)-.2 E -.25(va)-.2 G(ilable to customers for a fee.).25 E F1 3
1249
 
(5.3. Supported)79.2 184.2 R(platf)3 E(orms)-.3 E F0(Berk)79.2 200.4 Q
1250
 
(ele)-.1 E 5.623(yD)-.15 G 5.623(Br)-5.623 G 3.123(uns on an)-5.623 F
1251
 
5.622(yo)-.15 G 3.122(perating system with a)-5.622 F .816
1252
 
(POSIX 1003.1 interf)79.2 212.4 R .817(ace [IEEE96], which includes vir)
1253
 
-.1 F(-)-.2 E 1.998(tually e)79.2 224.4 R -.15(ve)-.25 G 1.997
1254
 
(ry UNIX system.).15 F 1.997(In addition, the softw)6.997 F(are)-.1 E
1255
 
2.85(runs on VMS, W)79.2 236.4 R(indo)-.4 E 2.85(ws/95, W)-.25 F(indo)
1256
 
-.4 E 2.85(ws/98, and W)-.25 F(in-)-.4 E(do)79.2 248.4 Q(ws/NT)-.25 E
1257
 
10.21(.S)-.74 G(leep)-10.21 E 5.21(ycat Softw)-.1 F 5.21
1258
 
(are no longer supports)-.1 F(deplo)79.2 260.4 Q(yment on sixteen-bit W)
1259
 
-.1 E(indo)-.4 E(ws systems.)-.25 E F1 3(6. Berk)79.2 290.4 R
1260
 
(eley DB 2.x Licensing)-.12 E F0(Berk)79.2 306.6 Q(ele)-.1 E 2.627(yD)
1261
 
-.15 G 2.627(B2)-2.627 G .128(.x is distrib)-2.627 F .128
1262
 
(uted as an Open Source prod-)-.2 F 4.709(uct. The)79.2 318.6 R(softw)
1263
 
4.709 E 2.209(are is freely a)-.1 F -.25(va)-.2 G 2.209
1264
 
(ilable from us at our).25 F -.8(We)79.2 330.6 S 3.372(bs).8 G .872
1265
 
(ite, and in other media.)-3.372 F .872(Users are free to do)5.872 F
1266
 
(wn-)-.25 E(load the softw)79.2 342.6 Q(are and b)-.1 E
1267
 
(uild applications with it.)-.2 E 1.023(The 1.x v)79.2 358.8 R 1.022
1268
 
(ersions of Berk)-.15 F(ele)-.1 E 3.522(yD)-.15 G 3.522(Bw)-3.522 G
1269
 
1.022(ere co)-3.522 F -.15(ve)-.15 G 1.022(red by the).15 F 3.763
1270
 
(UC Berk)79.2 370.8 R(ele)-.1 E 6.263(yc)-.15 G(op)-6.263 E 3.763
1271
 
(yright that co)-.1 F -.15(ve)-.15 G 3.764(rs softw).15 F 3.764
1272
 
(are freely)-.1 F(redistrib)79.2 382.8 Q 1.742(utable in source form.)
1273
 
-.2 F 1.741(When Sleep)6.742 F 1.741(ycat Soft-)-.1 F -.1(wa)79.2 394.8
1274
 
S .906(re w).1 F .907(as formed, we needed to draft a license consis-)
1275
 
-.1 F 2.319(tent with the cop)79.2 406.8 R 2.319(yright go)-.1 F -.15
1276
 
(ve)-.15 G 2.318(rning the e).15 F 2.318(xisting, older)-.15 F(softw)
1277
 
79.2 418.8 Q 5.328(are. Because)-.1 F 2.828(of important dif)5.328 F
1278
 
2.828(ferences between)-.25 F .497(the UC Berk)79.2 430.8 R(ele)-.1 E
1279
 
2.997(yc)-.15 G(op)-2.997 E .497(yright and the GPL, it w)-.1 F .496
1280
 
(as impos-)-.1 F .884(sible for us to use the GPL.)79.2 442.8 R 3.384
1281
 
(As)5.884 G .884(econd cop)-3.384 F .884(yright, with)-.1 F .87
1282
 
(terms contradictory to the \214rst, simply w)79.2 454.8 R .87
1283
 
(ould not ha)-.1 F -.15(ve)-.2 G -.1(wo)79.2 466.8 S(rk).1 E(ed.)-.1 E
1284
 
(Sleep)79.2 483 Q 2.533(ycat w)-.1 F 2.533
1285
 
(anted to continue Open Source de)-.1 F -.15(ve)-.25 G(lop-).15 E 2.079
1286
 
(ment of Berk)79.2 495 R(ele)-.1 E 4.579(yD)-.15 G 4.579(Bf)-4.579 G
1287
 
2.079(or se)-4.579 F -.15(ve)-.25 G 2.079(ral reasons.).15 F 3.678 -.8
1288
 
(We a)7.078 H(gree).8 E .853
1289
 
(with Raymond [Raym98] and others that Open Source)79.2 507 R(softw)79.2
1290
 
519 Q .763(are is typically of higher quality than proprietary)-.1 F(,)
1291
 
-.65 E 2.616(binary-only products.)79.2 531 R 2.617
1292
 
(Our customers bene\214t from a)7.616 F .983(community of de)79.2 543 R
1293
 
-.15(ve)-.25 G .983(lopers who kno).15 F 3.483(wa)-.25 G .983
1294
 
(nd use Berk)-3.483 F(ele)-.1 E(y)-.15 E 1.317
1295
 
(DB, and can help with application design, deb)79.2 555 R(ugging,)-.2 E
1296
 
1.65(and performance tuning.)79.2 567 R -.4(Wi)6.65 G 1.65
1297
 
(despread distrib).4 F 1.65(ution and)-.2 F 1.017
1298
 
(use of the source code tends to isolate b)79.2 579 R 1.017(ugs early)
1299
 
-.2 F 3.517(,a)-.65 G(nd)-3.517 E .032(to get \214x)79.2 591 R .031
1300
 
(es back into the distrib)-.15 F .031(uted system quickly)-.2 F 5.031
1301
 
(.A)-.65 G(s)-5.031 E 3.553(ar)79.2 603 S 1.053(esult, Berk)-3.553 F
1302
 
(ele)-.1 E 3.553(yD)-.15 G 3.553(Bi)-3.553 G 3.553(sm)-3.553 G 1.053
1303
 
(ore reliable.)-3.553 F 1.054(Just as impor)6.054 F(-)-.2 E(tantly)79.2
1304
 
615 Q 3.695(,i)-.65 G(ndi)-3.695 E 1.195
1305
 
(vidual users are able to contrib)-.25 F 1.195(ute ne)-.2 F 3.695(wf)
1306
 
-.25 G(ea-)-3.695 E 1.056
1307
 
(tures and performance enhancements, to the bene\214t of)79.2 627 R
1308
 
-2.15 -.25(ev e)79.2 639 T .359(ryone who uses Berk).25 F(ele)-.1 E
1309
 
2.859(yD)-.15 G 2.859(B. From)-2.859 F 2.858(ab)2.859 G .358
1310
 
(usiness per)-3.058 F(-)-.2 E(specti)79.2 651 Q -.15(ve)-.25 G 3.115(,O)
1311
 
.15 G .615(pen Source and free distrib)-3.115 F .615(ution of the soft-)
1312
 
-.2 F -.1(wa)79.2 663 S 1.605(re creates share for us, and gi).1 F -.15
1313
 
(ve)-.25 G 4.105(su).15 G 4.105(sam)-4.105 G(ark)-4.105 E 1.605(et into)
1314
 
-.1 F .412(which we can sell products and services.)79.2 675 R(Finally)
1315
 
5.413 E 2.913(,m)-.65 G(ak-)-2.913 E .148(ing the source code freely a)
1316
 
79.2 687 R -.25(va)-.2 G .147(ilable reduces our support).25 F 2.436
1317
 
(load, since customers can \214nd and \214x b)79.2 699 R 2.437
1318
 
(ugs without)-.2 F(recourse to us, in man)79.2 711 Q 2.5(yc)-.15 G
1319
 
(ases.)-2.5 E 4.727 -.8(To p)323.2 84 T(reserv).8 E 5.627(et)-.15 G
1320
 
3.126(he Open Source heritage of the older)-5.627 F(Berk)323.2 96 Q(ele)
1321
 
-.1 E 3.003(yD)-.15 G 3.003(Bc)-3.003 G .504(ode, we drafted a ne)-3.003
1322
 
F 3.004(wl)-.25 G .504(icense go)-3.004 F -.15(ve)-.15 G(rning).15 E
1323
 
.417(the distrib)323.2 108 R .417(ution of Berk)-.2 F(ele)-.1 E 2.916
1324
 
(yD)-.15 G 2.916(B2)-2.916 G 2.916(.x. W)-2.916 F 2.916(ea)-.8 G .416
1325
 
(dopted terms)-2.916 F .411(from the GPL that mak)323.2 120 R 2.911(ei)
1326
 
-.1 G 2.911(ti)-2.911 G .411(mpossible to turn our Open)-2.911 F 1.289
1327
 
(Source code into proprietary code o)323.2 132 R 1.288(wned by someone)
1328
 
-.25 F(else.)323.2 144 Q(Brie\215y)323.2 160.2 Q 3.18(,t)-.65 G .68
1329
 
(he terms go)-3.18 F -.15(ve)-.15 G .68(rning the use and distrib).15 F
1330
 
.68(ution of)-.2 F(Berk)323.2 172.2 Q(ele)-.1 E 2.5(yD)-.15 G 2.5(Ba)
1331
 
-2.5 G(re:)-2.5 E/F2 8/Times-Roman@0 SF<83>328.2 188.4 Q F0
1332
 
(your application must be internal to your site, or)17.2 E F2<83>328.2
1333
 
204.6 Q F0 .612(your application must be freely redistrib)17.2 F .611
1334
 
(utable in)-.2 F(source form, or)348.2 216.6 Q F2<83>328.2 232.8 Q F0
1335
 
(you must get a license from us.)17.2 E -.15(Fo)323.2 249 S 2.631(rc).15
1336
 
G .131(ustomers who prefer not to distrib)-2.631 F .132(ute Open Source)
1337
 
-.2 F 1.493(products, we sell licenses to use and e)323.2 261 R 1.492
1338
 
(xtend Berk)-.15 F(ele)-.1 E(y)-.15 E(DB at a reasonable cost.)323.2 273
1339
 
Q 2.675 -.8(We w)323.2 289.2 T 1.076
1340
 
(ork hard to accommodate the needs of the Open).7 F .606
1341
 
(Source community)323.2 301.2 R 5.606(.F)-.65 G .606(or e)-5.756 F .606
1342
 
(xample, we ha)-.15 F .905 -.15(ve c)-.2 H .605(rafted spe-).15 F 1.415
1343
 
(cial licensing arrangements with Gnome to encourage)323.2 313.2 R
1344
 
(its use and distrib)323.2 325.2 Q(ution of Berk)-.2 E(ele)-.1 E 2.5(yD)
1345
 
-.15 G(B.)-2.5 E(Berk)323.2 341.4 Q(ele)-.1 E 4.103(yD)-.15 G 4.103(Bc)
1346
 
-4.103 G 1.603(onforms to the Open Source de\214nition)-4.103 F 4.867
1347
 
([Open99]. The)323.2 353.4 R 2.367
1348
 
(license has been carefully crafted to)4.867 F -.1(ke)323.2 365.4 S .643
1349
 
(ep the product a).1 F -.25(va)-.2 G .642(ilable as an Open Source of)
1350
 
.25 F(fering,)-.25 E(while pro)323.2 377.4 Q
1351
 
(viding enough of a return on our in)-.15 E -.15(ve)-.4 G(stment to).15
1352
 
E 1.546(fund continued de)323.2 389.4 R -.15(ve)-.25 G 1.546
1353
 
(lopment and support of the prod-).15 F 3.033(uct. The)323.2 401.4 R
1354
 
.534(current license has created a b)3.033 F .534(usiness capable)-.2 F
1355
 
.916(of funding three years of de)323.2 413.4 R -.15(ve)-.25 G .916
1356
 
(lopment on the softw).15 F(are)-.1 E(that simply w)323.2 425.4 Q
1357
 
(ould not ha)-.1 E .3 -.15(ve h)-.2 H(appened otherwise.).15 E F1 3
1358
 
(7. Summary)323.2 455.4 R F0(Berk)323.2 471.6 Q(ele)-.1 E 2.991(yD)-.15
1359
 
G 2.991(Bo)-2.991 G -.25(ff)-2.991 G .491
1360
 
(ers a unique collection of features, tar).25 F(-)-.2 E .175
1361
 
(geted squarely at softw)323.2 483.6 R .174(are de)-.1 F -.15(ve)-.25 G
1362
 
.174(lopers who need simple,).15 F .492
1363
 
(reliable database management services in their applica-)323.2 495.6 R
1364
 
5.3(tions. Good)323.2 507.6 R 2.8(design and implementation and careful)
1365
 
5.3 F 1.633(engineering throughout mak)323.2 519.6 R 4.133(et)-.1 G
1366
 
1.633(he softw)-4.133 F 1.634(are better than)-.1 F(man)323.2 531.6 Q
1367
 
2.5(yo)-.15 G(ther systems.)-2.5 E(Berk)323.2 547.8 Q(ele)-.1 E 4.1(yD)
1368
 
-.15 G 4.1(Bi)-4.1 G 4.1(sa)-4.1 G 4.1(nO)-4.1 G 1.6
1369
 
(pen Source product, a)-4.1 F -.25(va)-.2 G 1.6(ilable at).25 F/F3 10
1370
 
/Times-Italic@0 SF(www)323.2 559.8 Q(.sleepycat.com)-.74 E F0 .654
1371
 
(for do)3.154 F 3.154(wnload. The)-.25 F(distrib)3.154 E .654(uted sys-)
1372
 
-.2 F .383(tem includes e)323.2 571.8 R -.15(ve)-.25 G .383
1373
 
(rything needed to b).15 F .382(uild and deplo)-.2 F 2.882(yt)-.1 G(he)
1374
 
-2.882 E(softw)323.2 583.8 Q(are or to port it to ne)-.1 E 2.5(ws)-.25 G
1375
 
(ystems.)-2.5 E(Sleep)323.2 600 Q 2.633(ycat Softw)-.1 F 2.633
1376
 
(are distrib)-.1 F 2.633(utes Berk)-.2 F(ele)-.1 E 5.133(yD)-.15 G 5.134
1377
 
(Bu)-5.133 G 2.634(nder a)-5.134 F .764(license agreement that dra)323.2
1378
 
612 R .764(ws on both the UC Berk)-.15 F(ele)-.1 E(y)-.15 E(cop)323.2
1379
 
624 Q 2.377(yright and the GPL.)-.1 F 2.377(The license guarantees that)
1380
 
7.377 F(Berk)323.2 636 Q(ele)-.1 E 3.384(yD)-.15 G 3.384(Bw)-3.384 G
1381
 
.884(ill remain an Open Source product and)-3.384 F(pro)323.2 648 Q
1382
 
1.493(vides Sleep)-.15 F 1.493(ycat with opportunities to mak)-.1 F
1383
 
3.994(em)-.1 G(one)-3.994 E(y)-.15 E(to fund continued de)323.2 660 Q
1384
 
-.15(ve)-.25 G(lopment on the softw).15 E(are.)-.1 E EP
1385
 
%%Page: 9 9
1386
 
%%BeginPageSetup
1387
 
BP
1388
 
%%EndPageSetup
1389
 
/F0 12/Times-Bold@0 SF 3(8. Refer)79.2 84 R(ences)-.216 E/F1 10
1390
 
/Times-Roman@0 SF([Come79])79.2 100.2 Q(Comer)104.2 112.2 Q 3.127(,D)-.4
1391
 
G .627(., \231The Ubiquitous B-tree,)-3.127 F<9a>-.7 E/F2 10
1392
 
/Times-Italic@0 SF -.3(AC)3.126 G 3.126(MC).3 G(om-)-3.126 E .404
1393
 
(puting Surve)104.2 124.2 R(ys)-.3 E F1 -1.29(Vo)2.904 G .404
1394
 
(lume 11, number 2, June 1979.)1.29 F([Gray93])79.2 140.4 Q(Gray)104.2
1395
 
152.4 Q 2.982(,J)-.65 G .482(., and Reuter)-2.982 F 2.982(,A)-.4 G(.,)
1396
 
-2.982 E F2 -1.55 -.55(Tr a)2.981 H .481(nsaction Pr).55 F(ocessing:)
1397
 
-.45 E 6.776(Concepts and T)104.2 164.4 R(ec)-.92 E(hniques)-.15 E F1
1398
 
9.277(,M)C(or)-9.277 E -.05(ga)-.18 G(n-Kaufman).05 E(Publishers, 1993.)
1399
 
104.2 176.4 Q([IEEE96])79.2 192.6 Q .364
1400
 
(Institute for Electrical and Electronics Engineers,)104.2 204.6 R F2
1401
 
(IEEE/ANSI Std 1003.1)104.2 216.6 Q F1 2.5(,1)C(996 Edition.)-2.5 E
1402
 
([Litw80])79.2 232.8 Q 2.365(Litwin, W)104.2 244.8 R 2.366
1403
 
(., \231Linear Hashing: A Ne)-.92 F 4.866(wT)-.25 G 2.366(ool for)-5.666
1404
 
F 1.784(File and T)104.2 256.8 R 1.783(able Addressing,)-.8 F<9a>-.7 E
1405
 
F2(Pr)4.283 E 1.783(oceedings of the)-.45 F 4.804
1406
 
(6th International Confer)104.2 268.8 R 4.804(ence on V)-.37 F 4.804
1407
 
(ery Lar)-1.11 F -.1(ge)-.37 G 1.983(Databases \(VLDB\))104.2 280.8 R F1
1408
 
4.483(,M)C 1.982(ontreal, Quebec, Canada,)-4.483 F(October 1980.)104.2
1409
 
292.8 Q([Open94])79.2 309 Q 4.068(The Open Group,)104.2 321 R F2
1410
 
(Distrib)6.568 E 4.069(uted TP: The XA+)-.2 F .78(Speci\214cation, V)
1411
 
104.2 333 R(er)-1.11 E .78(sion 2)-.1 F F1 3.28(,T)C .78
1412
 
(he Open Group, 1994.)-3.28 F([Open99])79.2 349.2 Q(Opensource.or)104.2
1413
 
361.2 Q 8.307(g, \231Open Source De\214nition,)-.18 F<9a>-.7 E F2(www)
1414
 
104.2 373.2 Q(.opensour)-.74 E(ce)-.37 E(.or)-.15 E(g/osd.html)-.37 E F1
1415
 
3.13(,v)C .63(ersion 1.4, 1999.)-3.28 F([Raym98])79.2 389.4 Q .718
1416
 
(Raymond, E.S., \231The Cathedral and the Bazaar)104.2 401.4 R -.7<2c9a>
1417
 
-.4 G F2(www)104.2 413.4 Q(.tuxedo.or)-.74 E(g/~esr/writings/cathedr)
1418
 
-.37 E(al-)-.15 E(bazaar/cathedr)104.2 425.4 Q(al-bazaar)-.15 E(.html)
1419
 
-1.11 E F1 2.5(,J)C(anuary 1998.)-2.5 E([Selt91])79.2 441.6 Q(Seltzer)
1420
 
104.2 453.6 Q 2.578(,M)-.4 G .078(., and Y)-2.578 F .079(igit, O., \231)
1421
 
-.55 F 2.579(AN)-.8 G .579 -.25(ew H)-2.579 H .079(ashing P).25 F(ack-)
1422
 
-.15 E 6.704(age for UNIX,)104.2 465.6 R<9a>-.7 E F2(Pr)9.204 E 6.704
1423
 
(oceedings 1991 W)-.45 F(inter)-.55 E(USENIX Confer)104.2 477.6 Q(ence)
1424
 
-.37 E F1 2.5(,D)C(allas, TX, January 1991.)-2.5 E([Selt92])79.2 493.8 Q
1425
 
(Seltzer)104.2 505.8 Q 5.365(,M)-.4 G 2.865
1426
 
(., and Olson, M., \231LIBTP: Portable)-5.365 F 2.845(Modular T)104.2
1427
 
517.8 R 2.845(ransactions for UNIX,)-.35 F<9a>-.7 E F2(Pr)5.345 E
1428
 
(oceedings)-.45 E 1.49(1992 W)104.2 529.8 R 1.49(inter Usenix Confer)
1429
 
-.55 F(ence)-.37 E F1 3.99(,S)C 1.49(an Francisco,)-3.99 F
1430
 
(CA, January 1992.)104.2 541.8 Q([Ston82])79.2 558 Q(Stonebrak)104.2 570
1431
 
Q(er)-.1 E 10.04(,M)-.4 G 7.54(., Stettner)-10.04 F 10.04(,H)-.4 G 7.54
1432
 
(., Kalash, J.,)-10.04 F .763(Guttman, A., and L)104.2 582 R .764
1433
 
(ynn, N., \231Document Process-)-.55 F .557
1434
 
(ing in a Relational Database System,)104.2 594 R 3.056<9a4d>-.7 G
1435
 
(emoran-)-3.056 E .825(dum No. UCB/ERL M82/32, Uni)104.2 606 R -.15(ve)
1436
 
-.25 G .825(rsity of Cali-).15 F(fornia at Berk)104.2 618 Q(ele)-.1 E
1437
 
1.3 -.65(y, B)-.15 H(erk).65 E(ele)-.1 E 1.3 -.65(y, C)-.15 H
1438
 
(A, May 1982.).65 E EP
1439
 
%%Trailer
1440
 
end
1441
 
%%EOF