bdb_usenix.ps
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:82k
源码类别:

MySQL数据库

开发平台:

Visual C++

  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 signi214cant)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. (ost214x (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 con214guration 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 unde214ned.)-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 pre214x 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(e214nes 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(e214nes 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 de214ne 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. Con214gurable)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 re215ect 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 modi214ed 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 noti214ed 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-speci214c 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 bene214t 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 autocon214guration 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 speci214c 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 bene214t 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 bene214t 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(Brie215y)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 de214nition)-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(Speci214cation, 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 De214nition,)-.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