Going Off the Beaten DB Path (cont'd)

Designed for Programmers, not DBAs

Berkeley DB is designed for use by programmers, not database administrators, and definitely not for end users. It doesn't use Structured Query Language (SQL), the lingua franca of most database systems. Instead, it uses a set of APIs written in various programming languages, including C, C++, Java, and Perl. Developers use these APIs to do all the things other databases do with SQL: create tables, add and delete data, retrieve records, and so forth. All database functions, such as backup, recovery, locking, and user permissions are performed programmatically.

One of Berkeley DB's primary characteristics is that it's lean and fast. It dispenses with graphical UIs, flashy reporting tools, and just about everything else that might get in the way of maximum performance. It's tiny, almost amazingly so-well under 1 megabyte for the whole package. It's not what you'd call user-friendly, and the initial learning curve can be steep, but if you're fed up with dealing with the overhead that comes with larger database systems and you're willing to invest the time it takes to become proficient with it, Berkeley DB can be a dream come true.

As an embedded system, it's designed for applications that use data storage and retrieval in mid-stream, such as Web applications written in Perl. Referring to a Berkeley DB file in a web application is an alternative to database access with ODBC, which can involve performance-damaging overhead.

Another powerful Berkeley DB feature is the flexibility of its data types and structures. Some database users tend to think of a database table as a kind of spreadsheet on steroids - two-dimensional rows and columns, nothing more. A Berkeley DB table, on the other hand, can contain any data structure you can create using the tools found in C or Perl or whatever language you prefer. If you want to create a table with an array of hashes of references to other hashes, you can do it.

Berkeley DB comes in three flavors: Berkeley DB Data Store, a basic, single-user implementation; Berkeley DB Concurrent Data Store, which adds multi-user support; and Berkeley DB Transactional Data Store, which adds logging, transactions, and several other advanced features. All three are open source and available free of charge, subject to licensing restrictions. See the Sleepycat Web site for more product information.

  
Next: Taking Berkeley to Task

1 Introduction 2 Designed for Programmers, not DBAs 3 Taking Berkeley to Task
4 T-i-e Function Does the Heavy Lifting 5 Won't Break a Sweat Building a Hash 6 Assigning Multiple Values to a Single Key


Get Help - Search Tips
 

Sleepycat Software

DevX e-Learning: Relational Database Concepts

DevX's Open Source Zone

DevX's Open Source.General discussion group

 TALK BACK
Have you ever worked with an open-source database? Has it served your purpose well? How does it compare with conventional DBs? Go here to start or join the discussion.
Click here to Join


Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map
Jupiterweb networks

internet.comearthweb.comDevx.comClickZ

Search Jupiterweb:

Jupitermedia Corporation has four divisions:
JupiterWeb, JupiterResearch, JupiterEvents, and JupiterImages

Copyright 2004 Jupitermedia Corporation All Rights Reserved.
Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Jupitermedia Corporate Info | Newsletters | Tech Jobs | E-mail Offers