Berkeley DB

Overview

Sleepycat Software is partnering with New Riders to make the Berkeley DB documentation available in printed form. This book is split into two parts. The first section is a tutorial on using Berkeley DB. It covers methods, architectures, data applications, memory, client-server, debugging issues, configuring the APIs in Perl, Java, and Tcl, how to use the BDB with Sendmail, etc. The second part of the book is reference section on the various Berkeley DB APIs.
...
See more details below
Paperback
$41.03
BN.com price
(Save 25%)$54.99 List Price
Other sellers (Paperback)
  • All (19) from $1.99   
  • New (8) from $12.5   
  • Used (11) from $1.99   
Sending request ...

Overview

Sleepycat Software is partnering with New Riders to make the Berkeley DB documentation available in printed form. This book is split into two parts. The first section is a tutorial on using Berkeley DB. It covers methods, architectures, data applications, memory, client-server, debugging issues, configuring the APIs in Perl, Java, and Tcl, how to use the BDB with Sendmail, etc. The second part of the book is reference section on the various Berkeley DB APIs.
Read More Show Less

Product Details

  • ISBN-13: 9780735710641
  • Publisher: Pearson Technology Group 2
  • Publication date: 6/14/2001
  • Series: Landmark Series
  • Pages: 688
  • Product dimensions: 7.50 (w) x 9.25 (h) x 1.38 (d)

Meet the Author

Sleepycat Software, Inc. develops, and supports Berkeley DB. Berkeley DB was originally written by Keith Bostic, Mike Olson, Margo Seltzer, and Ozan Yigit in the early 1990s. Keith Bostic, one of the principal developers of the University of California's 4.4BSD UNIX releases, approached Seltzer and Yigit to write an Open Source implementation of the UNIX C library dbm hash package for inclusion in 4.4BSD. They agreed, and created a general-purpose hashing library. Later, Bostic enlisted Olson to add a Btree access method to the package. These two projects were integrated and became the first Berkeley DB release, which was included in the 4.4BSD UNIX and related Net/2 releases.

In the years that followed, Berkeley DB was adopted by an enormous number of both proprietary and Open Source projects. Its high performance, ready availability, and easy-to-use interfaces made it a natural tool for a wide variety of applications.

In 1996, there were enough commercial users of the software to justify the formation of a company to enhance and support it. Bostic and Seltzer formed Sleepycat Software to do this. They spent a year adding critical features to the academic code (most notably, transactions, support for concurrent users, and recoverability), and version 2.0 of Berkeley DB was released by Sleepycat Software in 1997.

Since that initial release, Berkeley DB has been deployed in network switches, email clients, wireless communication systems, mission-critical site-monitoring software, and many other applications.

Sleepycat is an Open Source company, and it is committed to the development and distribution of Berkeley DB as an Open Source product. Sleepycat's license for Berkeley DB permits its use at no charge in Open Source applications.

Read More Show Less

Table of Contents

I Reference Guide 1
1 Introduction 3
Mapping the Terrain: Theory and Practice 4
What Is Berkeley DB? 8
What Is Berkeley DB Not? 11
Do You Need Berkeley DB? 14
What Other Services Does Berkeley DB Provide? 15
What Does the Berkeley DB Distribution Include? 16
Where Does Berkeley DB Run? 16
Sleepycat Software's Berkeley DB Products 16
2 Getting Started: A Simple Tutorial 19
Key/Data Pairs 20
Object Handles 20
Error Returns 20
Opening a Database 21
Adding Elements to a Database 22
Retrieving Elements from a Database 24
Removing Elements from a Database 25
Closing a Database 26
3 Access Method Configuration 29
Selecting an Access Method 30
Logical Record Numbers 32
Selecting a Page Size 33
Selecting a Cache Size 34
Selecting a Byte Order 35
Non-Local Memory Allocation 35
Btree Comparison 36
Btree Prefix Comparison 37
Minimum Keys Per Page 37
Retrieving Btree Records by Number 38
Page Fill Factor 38
Specifying a Database Hash 39
Hash Table Size 39
Managing Record-Based Databases 40
Selecting a Queue Extent Size 41
Flat-Text Backing Files 41
Logically Renumbering Records 42
Opening a Database 45
4 Access Method Operations 45
Opening Multiple Databases in a Single File 46
Upgrading Databases 47
Retrieving Records 48
Storing Records 48
Deleting Records 48
Flushing the Database Cache 49
Database Statistics 49
Closing a Database 49
Database Cursors 50
Retrieving Records with a Cursor 50
Storing Records with a Cursor 51
Deleting Records with a Cursor 52
Duplicating a Cursor 52
Logical Join 52
Data Item Count 56
Closing a Cursor 56
Cursor Stability 56
Database Verification and Salvage 57
Retrieved Key/Data Permanence for C/C++ 59
Error Support 59
5 Access Method Wrap-Up 59
Database Limits 60
Disk Space Requirements 60
Partial Record Storage and Retrieval 63
6 Berkeley DB Architecture 61
Programming Model 64
Programmatic APIs 64
Scripting Languages 66
Supporting Utilities 66
7 Berkeley DB Environment 69
Creating a Database Environment 70
File Naming 71
Filename Resolution in Berkeley DB 72
Security 74
Shared Memory Regions 75
Remote Filesystems 76
Opening Databases Within the Environment 76
Error Support 77
8 Berkeley DB Concurrent Data Store Applications 79
9 Berkeley DB Transactional Data Store Applications 83
Why Transactions? 84
Terminology 84
Application Structure 85
Opening the Environment 87
Opening the Databases 89
Recoverability and Deadlock Avoidance 90
Atomicity 93
Repeatable Reads 95
Transactional Cursors 95
Nested Transactions 97
Environment Infrastructure 98
Deadlock Detection 98
Performing Checkpoints 100
Database and Log File Archival Procedures 101
Log File Removal 103
Recovery Procedures 105
Recovery and Filesystem Operations 106
Berkeley DB Recoverability 107
Transaction Throughput 109
10 XA Resource Manager 111
Configuring Berkeley DB with the Tuxedo System 112
Frequently Asked Questions 113
11 Programmer Notes 115
Error Returns to Applications 116
Environmental Variables 118
Building Multithreaded Applications 118
Berkeley DB Handles 119
Name Spaces 120
Library Version Information 122
Compatibility with Historic UNIX Interfaces 122
Recovery Implementation 123
Application-Specific Logging and Recovery 123
Run-Time Configuration 128
12 The Locking Subsystem 131
Page Locks 133
Standard Lock Modes 134
Locking Without Transactions 135
Locking with Transactions: Two-Phase Locking 135
Access Method Locking Conventions 136
Berkeley DB Concurrent Data Store Locking Conventions 138
Deadlocks and Deadlock Avoidance 139
Configuring Locking 140
Locking and Non-Berkeley DB Applications 142
13 The Logging Subsystem 145
Configuring Logging 146
Log File Limits 146
14 The Memory Pool Subsystem 149
Configuring the Memory Pool 150
15 The Transaction Subsystem 151
Transaction Limits 152
Configuring Transactions 153
Transactions and Non-Berkeley DB Applications 154
16 RPC/Client Server 157
Client Program 158
Server Program 159
17 Java API 161
Compatibility 162
Java Programming Notes 163
Java FAQ 164
Loading Berkeley DB with Tcl 165
18 Tcl API 165
Using Berkeley DB with Tcl 166
Tcl API Programming Notes 167
Tcl Error Handling 167
Tcl FAQ 168
The db_dump and db_load Utilities 171
19 Dumping and Reloading Databases 171
Dump Output Formats 172
Loading Text into Databases 173
20 Debugging Applications 175
Compile-time Configuration 176
Run-time Error Information 177
Reviewing Berkeley DB Log Files 177
Common Errors 181
Building for UNIX 185
21 Building Berkeley DB for UNIX and QNX Systems 185
Configuring Berkeley DB 186
Changing Compile or Load Options 189
Installing Berkeley DB 190
Dynamic Shared Libraries 191
Running the Test Suite Under UNIX 192
Architecture-Independent FAQs 193
AIX 196
FreeBSD 197
HP-UX 197
IRIX 199
Linux 200
OSF/1 200
SCO 200
Solaris 200
SunOS 202
Ultrix 202
Building for Win32 203
22 Building Berkeley DB for Win32 Platforms 203
Running the Test Suite Under Windows 206
Windows Notes 207
Windows FAQ 208
23 Building Berkeley DB for VxWorks Systems 209
VxWorks Notes 211
VxWorks FAQ 212
Upgrading Berkeley DB Installations 215
24 Upgrading Berkeley DB Applications 215
Running the Test Suite 219
25 Test Suite 219
Test Suite FAQ 221
26 Distribution 223
Technical Papers on Berkeley DB 225
27 Additional References 225
Background on Berkeley DB Features 226
Database Systems Theory 226
II API Manual 227
28 C API 229
29 C++ API 357
30 Java API
31 Tcl API
32 Supporting Utilities
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)