Advantages and disadvantages of the Berkeley DB database

Source: Internet
Author: User
Tags ldap

Berkeley dB, produced by sleepycat software, is a database system that is widely used in specific data management applications and supports more than 0.2 billion of users worldwide. many world-renowned vendors, such as Amazon, AOL, British Telecom, Cisco Systems, EMC, Ericsson, Google, Hitachi, HP, Motorola, RSA Security, Sun Microsystems, both tibco and VERITAS rely on bdb to provide fast, elastic, reliable, and cost-effective data management for many of their key applications.
2. The following is an explanation provided by a master at chinaunix.net.
MySQL is implemented using bdb (MySQL background ). MySQL is faster, and bdb is n times faster than MySQL.
Bdb concurrency is higher than RDBMS.
The capacity can be up to 256 TB.
The Select data is faster than RDBMS based on hash. 3. Comparison between the bdb database and several other databases.
Bdb databases are different from other databases-relational databases, object-oriented databases, and network database, which are embedded (embeded databases) database. The following describes the differences between bdb and several other databases:
(1) almost all of them use the Structured Query Language (SQL) without exception, while bdb does not.
(2) almost all of them use the customer/server model without exception, while bdb uses the embedded model. 4. below are some information about bdb found on the Internet, which explains why bdb is different from most popular databases. The cited information does not indicate the source, I added the following translation: (1) bdb is an open-source embedded database function library that provides elastic and high-performance applications, transaction-protected database management service. bdb provides simple application interface APIs for data access and management. (2) bdb is an embedded database because it is directly connected to applications. It runs in the same memory space as the application. As a result, no matter whether the application is running on the same machine or on the network, no inter-process communication is required for database operations. Bdb provides function interfaces for many programming languages, including C, C ++, Java, Perl, TCL, Python, and PHP. All database operations occur in the function library. Multiple processes, or multiple threads in a process, can use bdb at the same time because they are actually calling the bdb function library. Some low-level services such as locking, transaction logging, shared buffer management, and memory management can be transparently processed by function libraries. (3) The bdb function library is highly portable. It can run on almost all UNIX and Linux systems, as well as windows and a variety of embedded real-time operating systems. It can run on both a 32-bit system and a 64-bit system. It is active in high-end servers, desktop systems, handheld computers, set-top boxes, network switches, and other fields. After a bdb is connected to an application, end users generally do not know the existence of the backend database. (4) bdb is flexible in many aspects. The function library itself is very compact (in common machine systems, it only occupies less than KB of text space, but it can operate as much as TB of data. It also supports high-intensity concurrent operations and allows thousands of users to operate in the same database at the same time. In the field of high-end servers, bdb is small enough to run on highly-restricted embedded systems, but it can use up to GB of memory space and up to TB of disk space. (5) bdb's performance in embedded applications is superior to that in relational databases and object-oriented databases for many reasons. First, because the function libraries and applications run in the same address space, inter-process communication during database operations is saved. As we all know, communication between processes takes much more time than function calls, whether on a single machine or distributed system. Second, because bdb provides a simple function call interface for all operations, there is no need to parse the query language or pre-execute it.
(6) compared with most other database systems, bdb provides relatively simple data access services. Bdb only supports several logical operations on records. They are: Insert a record in the table.
Delete a record from the table.
You can use the query key to search for a record in a table.
Update an existing record in the table. Bdb is not an independent database server. It is a function library and the application that calls it runs in the same address space. Bdb can be used as a database management system to build server programs. For example, many commercial and open-source Lightweight Directory Access Protocol (LDAP) servers use bdb to store records. The LDAP client connects to the server over the network. The server calls the bdb API to find the record and return it to the customer. In itself, bdb is not the server side of the database.
Therefore, bdb is a database that is completely different from other database management systems, and it is not a database server.
Bdb is an ideal Database Management System for embedded applications with high performance, scale, and reliability requirements. However, it is inappropriate to select an application that requires multiple services.
Bdb was originally designed to provide fast and reliable, transaction-protected record storage. The function library does not support interactive queries, nor provides graphical reporting tools, or services provided by other database management systems. We have been committed to keeping the library short and concise. This can greatly reduce the chance of bugs, and because only a few codes need to be executed, we can ensure that the database is always running fast. If your application needs such a set of functions, then bdb is your preferred object. 5. My personal opinion
A key factor that makes bdb suitable for LDAP is that it can ensure rapid LDAP response. because bdb itself is an embedded database, its fast speed is its biggest feature and its biggest advantage over other database systems. let's take a look at LDAP. LDAP is a database that rarely needs to be changed once data is created. The most common operation is read, query, search, and other operations that do not change the database content. bdb is undoubtedly the best choice for these tasks. in this way, even when a large number of users submit database queries, LDAP can quickly feedback useful information to users. therefore, the speed is the biggest factor in the selection of bdb for LDAP. this is also the root cause why most LDAP servers use bdb.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.