📄 bdb_usenix.ps
字号:
(are is distrib)-.1 F 2.618(uted as a)-.2 F .057(library that can be link)79.2 350.64 R .058(ed directly into an application.)-.1 F(It)5.058 E(pro)79.2 362.64 Q1.454(vides a v)-.15 F 1.453(ariety of programmatic interf)-.25 F 1.453(aces, includ-)-.1 F .237(ing callable APIs for C, C++, Perl, Tcl and Ja)79.2 374.64 R -.25(va)-.2 G 5.237(.U).25 G(sers)-5.237 E .327(may do)79.2 386.64 R .327(wnload Berk)-.25 F(ele)-.1 E 2.827(yD)-.15 G 2.827(Bf)-2.827 G .326(rom Sleep)-2.827 F .326(ycat Softw)-.1 F(are')-.1 E(s)-.55 E -.8(We)79.2 398.64 S 2.5(bs).8 G(ite, at)-2.5 E/F5 10/Times-Italic@0 SF(www)2.5E(.sleepycat.com)-.74 E F4(.)A(Sleep)79.2 414.84 Q 1.33(ycat distrib)-.1F 1.33(utes Berk)-.2 F(ele)-.1 E 3.83(yD)-.15 G 3.83(Ba)-3.83 G 3.83(sa)-3.83 G 3.83(nO)-3.83 G 1.33(pen Source)-3.83 F 3.3(product. The)79.2426.84 R(compan)3.3 E 3.3(yc)-.15 G .8(ollects license fees for certain)-3.3 F(uses of the softw)79.2 438.84 Q(are and sells support and services.)-.1 E F3 3(1.1. History)79.2 468.84R F4(Berk)79.2 485.04 Q(ele)-.1 E 3.057(yD)-.15 G 3.057(Bb)-3.057 G-2.25 -.15(eg a)-3.057 H 3.058(na).15 G 3.058(san)-3.058 G 1.058 -.25(ew i)-3.058 H .558(mplementation of a hash).25 F .843(access method to replace both)79.2 497.04 R/F6 10/Courier@0 SF(hsearch)3.342 E F4 .842(and the v)3.342 F(ari-)-.25 E(ous)79.2 509.04 Q F6(dbm)5.466 E F4 2.967(implementations \()5.466 F F6(dbm)A F4 2.967(from A)5.467 F(T&T)-1.11 E(,)-.74 E F6(ndbm)5.467 E F4 1.334(from Berk)79.2521.04 R(ele)-.1 E 2.634 -.65(y, a)-.15 H(nd).65 E F6(gdbm)3.834 E F41.334(from the GNU project\).)3.834 F(In)6.333 E .367(1990 Seltzer and Y)79.2 533.04 R .368(igit produced a package called Hash)-.55 F(to do this [Selt91].)79.2545.04 Q 3.106(The \214rst general release of Berk)79.2 561.24 R(ele)-.1E 5.606(yD)-.15 G 3.106(B, in 1991,)-5.606 F 3.038(included some interf)79.2 573.24 R 3.039(ace changes and a ne)-.1 F 5.539(wB)-.25 G(+tree)-5.539 E .887(access method.)79.2 585.24 R .886(At roughly the same time, Seltzer and)5.887 F 1.201(Olson de)79.2597.24 R -.15(ve)-.25 G 1.202(loped a prototype transaction system based).15 F 3.356(on Berk)79.2609.24 R(ele)-.1 E 5.856(yD)-.15 G 3.356(B, called LIBTP [Selt92], b)-5.856 F 3.355(ut ne)-.2 F -.15(ve)-.25 G(r).15 E(released the code.)79.2 621.24 Q .653(The 4.4BSD UNIX release included Berk)79.2 637.44 R(ele)-.1 E 3.153(yD)-.15 G 3.153(B1)-3.153 G(.85)-3.153 E .602(in 1992.)79.2 649.44 R .601(Seltzer and Bostic maintained the code in the)5.601 F1.545(early 1990s in Berk)79.2 661.44 R(ele)-.1 E 4.046(ya)-.15 G 1.546(nd in Massachusetts.)-4.046 F(Man)6.546 E(y)-.15 E(users adopted the code during this period.)79.2 673.44 Q .432(By mid-1996, users w)79.2 689.64 R .431(anted commercial support for the)-.1 F(softw)79.2 701.64 Q 7.033(are. In)-.1 F 4.533(response, Bostic and Seltzer formed)7.033 F(Sleep)79.2 713.64 Q 10.128(ycat Softw)-.1 F 12.628(are. The)-.1 F(compan)12.627 E 15.127(ye)-.15 G(nhances,)-15.127 E(distrib)323.2 286.44 Q1.623(utes, and supports Berk)-.2 F(ele)-.1 E 4.123(yD)-.15 G 4.124(Ba)-4.123 G 1.624(nd supporting)-4.124 F(softw)323.2 298.44 Q 2.2(are and documentation.)-.1 F(Sleep)7.2 E 2.2(ycat released v)-.1 F(er)-.15 E(-)-.2 E 1.677(sion 2.1 of Berk)323.2 310.44 R(ele)-.1 E 4.177(yD)-.15 G 4.178(Bi)-4.177 G 4.178(nm)-4.178 G 1.678(id-1997 with important)-4.178 F(ne)323.2 322.44 Q 2.56(wf)-.25 G .06(eatures, including support for concurrent access to)-2.56 F 4.176(databases. The)323.2 334.44 R(compan)4.176 E 4.177(ym)-.15 G(ak)-4.177E 1.677(es about three commer)-.1 F(-)-.2 E .958(cial releases a year)323.2 346.44 R 3.458(,a)-.4 G .957(nd most recently shipped v)-3.458 F(ersion)-.15 E(2.8.)323.2 358.44 Q F3 3(1.2. Ov)323.2 388.44 R(er)-.12 E(view of Berk)-.12 E(eley DB)-.12 E F4 3.094(The C interf)323.2 404.64 R3.094(aces in Berk)-.1 F(ele)-.1 E 5.594(yD)-.15 G 5.595(Bp)-5.594 G(ermit)-5.595 E F6(dbm)5.595 E F4(-style)A 4.586(record management for databases, with signi\214cant)323.2 416.64 R -.15(ex)323.2 428.64 S 1.273(tensions to handle duplicate data items ele).15F -.05(ga)-.15 G(ntly).05 E 3.773(,t)-.65 G(o)-3.773 E 2.427(deal with concurrent access, and to pro)323.2 440.64 R 2.427(vide transac-)-.15 F .71(tional support so that multiple changes can be simulta-)323.2 452.64 R1.273(neously committed \(so that the)323.2 464.64 R 3.773(ya)-.15 G1.273(re made permanent\))-3.773 F 1.848(or rolled back \(so that the database is restored to its)323.2 476.64 R(state at the be)323.2 488.64 Q(ginning of the transaction\).)-.15 E1.034(C++ and Ja)323.2 504.84 R 1.534 -.25(va i)-.2 H(nterf).25 E 1.033(aces pro)-.1 F 1.033(vide a small set of classes)-.15 F 1.961(for operating on a database.)323.2 516.84 R 1.961(The main class in both)6.961 F .587(cases is called)323.2 528.84 R F6(Db)3.086 E F4 3.086(,a)C .586(nd pro)-3.086 F .586(vides methods that encapsu-)-.15 F 1.128(late the)323.2 540.84 R F6(dbm)3.628 E F4 1.129(-style interf)B 1.129(aces that the C interf)-.1 F1.129(aces pro-)-.1 F(vide.)323.2 552.84 Q 2.565(Tcl and Perl interf)323.2 569.04 R 2.564(aces allo)-.1 F 5.064(wd)-.25 G -2.15 -.25(ev e)-5.064 H 2.564(lopers w).25 F 2.564(orking in)-.1 F 1.716(those languages to use Berk)323.2 581.04 R(ele)-.1 E 4.216(yD)-.15 G4.216(Bi)-4.216 G 4.217(nt)-4.216 G 1.717(heir applica-)-4.217 F 3.419(tions. Bindings)323.2 593.04 R .919(for both languages are included in the)3.419 F(distrib)323.2 605.04 Q(ution.)-.2 E(De)323.2 621.24 Q -.15(ve)-.25 G 1.069(lopers may compile their applications and link in).15 F(Berk)323.2633.24 Q(ele)-.1 E 2.5(yD)-.15 G 2.5(Bs)-2.5 G(tatically or dynamically)-2.5 E(.)-.65 E F3 3(1.3. Ho)323.2 663.24 R 3(wB)-.12 G(erk)-3 E(eley DB is used)-.12 E F4 .655(The Berk)323.2 679.44 R(ele)-.1 E 3.155(yD)-.15 G 3.154(Bl)-3.155 G .654(ibrary supports concurrent access to)-3.154 F 5.115(databases. It)323.2 691.44 R 2.616(can be link)5.115 F2.616(ed into standalone applica-)-.1 F 1.487(tions, into a collection of cooperating applications, or)323.2 703.44 R4.21(into serv)323.2 715.44 R 4.21(ers that handle requests and do database)-.15 F EP%%Page: 2 2%%BeginPageSetupBP%%EndPageSetup/F0 10/Times-Roman@0 SF(operations on behalf of clients.)79.2 84 Q .858(Compared to using a standalone database management)79.2 100.2 R .846(system, Berk)79.2 112.2 R(ele)-.1 E 3.346(yD)-.15 G 3.346(Bi)-3.346 G3.346(se)-3.346 G .846(asy to understand and simple)-3.346 F 3.826(to use.)79.2 124.2 R 3.826(The softw)8.826 F 3.826(are stores and retrie)-.1 F -.15(ve)-.25 G 6.325(sr).15 G(ecords,)-6.325 E 2.77(which consist of k)79.2 136.2 R -.15(ey)-.1 G(/v).15 E2.77(alue pairs.)-.25 F -2.15 -.25(Ke y)7.77 H 5.27(sa).25 G 2.77(re used to)-5.27 F .698(locate items and can be an)79.2 148.2 R 3.198(yd)-.15 G .698(ata type or structure sup-)-3.198 F(ported by the programming language.)79.2 160.2 Q .813(The programmer can pro)79.2 176.4 R .813(vide the functions that Berk)-.15 F(e-)-.1 E(le)79.2 188.4 Q 3.264(yD)-.15 G 3.264(Bu)-3.264 G .763(ses to operate on k)-3.264 F -.15(ey)-.1 G 3.263(s. F).15 F .763(or e)-.15 F .763(xample, B+trees)-.15 F 1.72(can use a custom comparison function, and the Hash)79.2 200.4 R .519(access method can use a custom hash function.)79.2 212.4 R(Berk)5.518 E(e-)-.1 E(le)79.2 224.4 Q 5.222(yD)-.15 G 5.222(Bu)-5.222 G 2.722(ses def)-5.222 F 2.723(ault functions if none are supplied.)-.1 F .873(Otherwise, Berk)79.2 236.4 R(ele)-.1 E 3.373(yD)-.15 G 3.373(Bd)-3.373G .873(oes not e)-3.373 F .873(xamine or interpret)-.15 F .934(either k)79.2 248.4 R -.15(ey)-.1 G 3.434(so).15 G 3.434(rv)-3.434 G .934(alues in an)-3.684 F 3.434(yw)-.15 G(ay)-3.534 E 5.934(.V)-.65 G .934(alues may be arbi-)-7.044 F(trarily long.)79.2 260.4 Q .69(It is also important to understand what Berk)79.2 276.6 R(ele)-.1 E3.19(yD)-.15 G 3.19(Bi)-3.19 G(s)-3.19 E 4.365(not. It)79.2 288.6 R1.865(is not a database serv)4.365 F 1.866(er that handles netw)-.15 F(ork)-.1 E 2.797(requests. It)79.2 300.6 R .297(is not an SQL engine that e)2.797 F -.15(xe)-.15 G .296(cutes queries.).15 F 1.547(It is not a relational or object-oriented database man-)79.2312.6 R(agement system.)79.2 324.6 Q 1.101(It is possible to b)79.2340.8 R 1.101(uild an)-.2 F 3.601(yo)-.15 G 3.601(ft)-3.601 G 1.101(hose on top of Berk)-3.601 F(ele)-.1 E(y)-.15 E 2.116(DB, b)79.2 352.8R 2.116(ut the package, as distrib)-.2 F 2.117(uted, is an embedded)-.2F 1.444(database engine.)79.2 364.8 R 1.444(It has been designed to be portable,)6.444 F(small, f)79.2 376.8 Q(ast, and reliable.)-.1 E/F1 12/Times-Bold@0 SF 3(1.4. A)79.2 406.8 R(pplications that use Berk)-.3 E(eley DB)-.12 E F0(Berk)79.2 423 Q(ele)-.1 E 4.248(yD)-.15 G 4.248(Bi)-4.248 G 4.249(se)-4.248 G 1.749(mbedded in a v)-4.249 F 1.749(ariety of proprietary)-.25 F 3.84(and Open Source softw)79.2 435 R 3.84(are packages.)-.1 F 3.84(This section)8.84 F(highlights a fe)79.2 447 Q 2.5(wo)-.25 G 2.5(ft)-2.5 G(he products that use it.)-2.5 E 1.467(Directory serv)79.2 463.2 R1.467(ers, which do data storage and retrie)-.15 F -.25(va)-.25 G(l).25E 2.823(using the Local Directory Access Protocol \(LD)79.2 475.2 R(AP\),)-.4 E(pro)79.2 487.2 Q .956(vide naming and directory lookup service on local-)-.15 F 2.837(area netw)79.2 499.2 R 5.337(orks. This)-.1 F 2.837(service is, essentially)5.337 F 5.336(,d)-.65 G(atabase)-5.336 E .039(query and update, b)79.2 511.2 R .039(ut uses a simple protocol rather than)-.2 F 2.202(SQL or ODBC.)79.2523.2 R(Berk)7.201 E(ele)-.1 E 4.701(yD)-.15 G 4.701(Bi)-4.701 G 4.701(st)-4.701 G 2.201(he embedded data)-4.701 F 1.288(manager in the majority of deplo)79.2 535.2 R 1.289(yed directory serv)-.1 F(ers)-.15 E(today)79.2 547.2 Q 4.855(,i)-.65 G 2.355(ncluding LD)-4.855 F 2.355(AP serv)-.4 F 2.355(ers from Netscape, Mes-)-.15 F(sageDirect \(formerly Isode\), and others.)79.2 559.2 Q(Berk)79.2 575.4Q(ele)-.1 E 4.385(yD)-.15 G 4.385(Bi)-4.385 G 4.385(sa)-4.385 G 1.886(lso embedded in a lar)-4.385 F 1.886(ge number of)-.18 F 5.302(mail serv)79.2 587.4 R 7.802(ers. Intermail,)-.15 F 5.302(from Softw)7.802 F 5.302(are.com, uses)-.1 F(Berk)79.2 599.4 Q(ele)-.1 E 4.613(yD)-.15 G 4.613(Ba)-4.613 G 4.613(sam)-4.613 G 2.114(essage store and as the backing)-4.613 F 3.597(store for its directory serv)79.2 611.4 R(er)-.15 E 8.597(.T)-.55 G3.597(he sendmail serv)-8.597 F(er)-.15 E 1.175(\(including both the commercial Sendmail Pro of)79.2 623.4 R(fering)-.25 E 3.283(from Sendmail, Inc. and the v)79.2 635.4 R 3.283(ersion distrib)-.15 F 3.282(uted by)-.2 F(sendmail.or)79.2 647.4 Q2.304(g\) uses Berk)-.18 F(ele)-.1 E 4.804(yD)-.15 G 4.804(Bt)-4.804 G4.804(os)-4.804 G 2.305(tore aliases and)-4.804 F 9.01(other information.)79.2 659.4 R(Similarly)14.01 E 11.51(,P)-.65 G 9.01(ost\214x \(formerly)-11.51 F 3.465(VMailer\) uses Berk)79.2 671.4 R(ele)-.1 E 5.965(yD)-.15 G 5.965(Bt)-5.965 G 5.965(os)-5.965 G 3.465(tore administrati)-5.965 F -.15(ve)-.25 G(information.)79.2 683.4 Q.134(In addition, Berk)79.2 699.6 R(ele)-.1 E 2.634(yD)-.15 G 2.633(Bi)-2.634 G 2.633(se)-2.633 G .133(mbedded in a wide v)-2.633 F(ariety)-.25E 4.994(of other softw)79.2 711.6 R 4.994(are products.)-.1 F 4.994(Example applications)9.994 F .373(include managing access control lists, storing user k)323.2 84 R -.15(ey)-.1 G(s).15 E 2.75(in a public-k)323.2 96 R 3.05 -.15(ey i)-.1 H2.75(nfrastructure, recording machine-to-).15 F(netw)323.2 108 Q .519(ork-address mappings in address serv)-.1 F .518(ers, and stor)-.15 F(-)-.2 E .411(ing con\214guration and de)323.2 120 R .412(vice information in video post-)-.25 F(production softw)323.2 132 Q(are.)-.1 E(Finally)323.2 148.2 Q 4.978(,B)-.65 G(erk)-4.978 E(ele)-.1 E4.978(yD)-.15 G 4.978(Bi)-4.978 G 4.978(sap)-4.978 G 2.478(art of man)-4.978 F 4.977(yo)-.15 G 2.477(ther Open)-4.977 F .005(Source softw)323.2 160.2 R .005(are packages a)-.1 F -.25(va)-.2 G .006(ilable on the Internet.).25 F -.15(Fo)5.006 G(r).15 E -.15(ex)323.2172.2 S .604(ample, the softw).15 F .604(are is embedded in the Apache W)-.1 F(eb)-.8 E(serv)323.2 184.2 Q(er and the Gnome desktop.)-.15 E F1 3(2. Access)323.2 214.2 R(Methods)3E F0 .828(In database terminology)323.2 230.4 R 3.329(,a)-.65 G 3.329(na)-3.329 G .829(ccess method is the disk-)-3.329 F 1.964(based structure used to store data and the operations)323.2 242.4 R -.2(av)323.2 254.4 S 6.053(ailable on that structure.)-.05 F -.15(Fo)11.053G 8.554(re).15 G 6.054(xample, man)-8.704 F(y)-.15 E 3.853(database systems support a B+tree access method.)323.2 266.4 R 1.203(B+trees allo)323.2 278.4 R 3.703(we)-.25 G 1.203(quality-based lookups \(\214nd k)-3.703 F -.15(ey)-.1 G 3.704(se).15 G(qual)-3.704 E 4(to some constant\), range-based lookups \(\214nd k)323.2 290.4 R -.15(ey)-.1 G(s).15 E 1.188(between tw)323.2 302.4 R 3.688(oc)-.1 G 1.189(onstants\) and record insertion and dele-)-3.688 F(tion.)323.2 314.4 Q(Berk)323.2 330.6 Q(ele)-.1 E 4.729(yD)-.15 G 4.729(Bs)-4.729 G 2.228(upports three access methods: B+tree,)-4.729 F 1.553(Extended Linear Hashing \(Hash\), and Fix)323.2 342.6 R 1.553(ed- or V)-.15 F(ari-)-1.11 E 3.639(able-length Records \(Recno\).)323.2 354.6 R3.638(All three operate on)8.638 F 1.956(records composed of a k)323.2366.6 R 2.256 -.15(ey a)-.1 H 1.956(nd a data v).15 F 4.456(alue. In)-.25 F(the)4.456 E 1.301(B+tree and Hash access methods, k)323.2 378.6 R-.15(ey)-.1 G 3.801(sc).15 G 1.301(an ha)-3.801 F 1.601 -.15(ve a)-.2 H(rbi-).15 E 3.595(trary structure.)323.2 390.6 R 3.596(In the Recno access method, each)8.595 F .266(record is assigned a record number)323.2 402.6 R 2.765(,w)-.4 G .265(hich serv)-2.765 F .265(es as the)-.15 F -.1(ke)323.2 414.6 S 4.106-.65(y. I)-.05 H 2.806(na).65 G .306(ll the access methods, the v)-2.806F .306(alue can ha)-.25 F .606 -.15(ve a)-.2 H(rbi-).15 E 1.417(trary structure.)323.2 426.6 R 1.417(The programmer can supply compari-)6.417 F 2.129(son or hashing functions for k)323.2 438.6 R -.15(ey)-.1 G 2.129(s, and Berk).15 F(ele)-.1 E 4.629(yD)-.15 G(B)-4.629 E(stores and retrie)323.2 450.6 Q -.15(ve)-.25 G 2.5(sv).15 G(alues without interpreting them.)-2.75 E 1.069(All of the access methods use the host \214lesystem as a)323.2 466.8 R(backing store.)323.2 478.8 Q F1 3(2.1. Hash)323.2 508.8 R F0(Berk)323.2525 Q(ele)-.1 E 6.485(yD)-.15 G 6.485(Bi)-6.485 G 3.986(ncludes a Hash access method that)-6.485 F 9.863(implements e)323.2 537R 9.862(xtended linear hashing [Litw80].)-.15 F .017(Extended linear hashing adjusts the hash function as the)323.2 549 R.507(hash table gro)323.2 561 R .506(ws, attempting to k)-.25 F .506(eep all b)-.1 F(uck)-.2 E .506(ets under)-.1 F(-)-.2 E
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -