The home of Zdb - "just say no to SQL".
The Zdb Sourceforge project page is here.
Zdb is a fully transactional open source multithreaded CORBA database server. Sophisticated data access is supported by a dedicated application-programming interface (API) that is designed to considerably ease application development and eliminate the overhead of SQL and SQL-centric interfaces such as ODBC, JDBC and other RDBMS APIs. Studies indicate that up to 70% of project development time is typically taken up with mapping and interfacing to databases.
Zdb processes "data streams" that are passed in/out as
sequences of data values (sequence
Data streams can be stored, retrieved and indexed even if the numbers or types of fields vary - field values of differing types are automatically up-cast for comparison. For example, strings and integers can be mixed in the same field position (column) within a table, even if that field forms part of an index. Schema migration (adding fields to records or changing the base type of a field) can be performed without application downtime.
Mapping object hierarchies with multiple indexed 1-n and n-n relationships is straightforward. Indexes can be run on single fields or any combination of multiple fields. Tables have a defined primary index and any number of additional secondary indexes.
Individual field values can be any of the CORBA base
types (various sized integers, floating point values and
strings), a sequence
At the core of Zdb is a space- and CPU-efficient
architecture-neutral self-describing data format that
efficiently converts to/from the sequence
The API is declared in CORBA IDL and can be used directly from any language supporting CORBA (including C++, Java and Python). Specific C++ and Perl client libraries are provided for efficient processing and conversion of the supported date/time formats to other standard formats and strings such as Unix time, struct tm, ISO8601, etc. The client libraries also provide facilities that accelerate coding, such as automatic transaction retry/resumption on deadlock, etc.
Zdb itself is released under the GNU General Public License (GNU GPL). The underlying Z class libraries are released under the GNU Lesser General Public License (GNU LGPL) (previously known as the GNU Library General Public License). The GNU licenses are available from http://www.gnu.org.
Zdb uses Berkeley DB. For licensing information about Berkeley DB, please see http://www.sleepycat.com.
Zdb is coded in C++ and makes extensive use of the Portable Object Adapter and ORB facilities specified by OMG CORBA. Zdb does not depend on more than a CORBA-compliant ORB/POA core - no Naming Service, Interface Repository or other CORBA service implementation is required.
Zdb uses Berkeley DB. Berkeley DB is a widely used open source embedded database originally developed at the University of California Berkeley, and is now maintained and supported by Sleepycat Software. Zdb is both platform- and ORB-neutral. The currently supported ORB is OmniORB originally from AT&T Laboratories Cambridge, one of the highest-performing open source C++ ORBs available.
Planned enhancements include: