mxBeeBase

mxBeeBase - On-Disk B+Tree Database Kit for Python

Build your own custom B+Tree based on-disk dictionaries, lookup tables and indexes in Python.
Version: 3.2.0

Introduction

mxBeeBase is a high performance construction kit for disk based indexed databases. It offers components which you can plug together to easily build your own custom mid-sized databases.

The two basic building blocks in mxBeeBase are storage and index. Storage is implemented as variable record length data storage with integrated data protection features, automatic data recovery and locking for multi process access. Indexes use a high performance optimized B+Tree implementation built on top of Thomas Niemann's Cookbook B+Tree implementation.

mxBeeBase comes with two readily useable on-disk dictionary implementations: BeeDict and BeeStringDict.

Features

  • Provides all the tools necessary to build custom indexes and data storages.
  • Fast, self-organizing B-Tree implementation.
  • Cross-platform locking support.
  • Automatic data recovery.
  • Built-in data protection.
  • Readily useable on-disk dictionaries.
  • Stable, robust and portable.
  • Free to use and redistribute.

System Requirements

mxBeeBase is written in a very portable way and works on pretty much all platforms where you can compile Python.

We provide precompiled versions for all standard platforms, so all you need is a working Python installation. The package supports all Python versions since Python 2.1.

The only requirement for compiling the package from source is an ANSI C compiler. There are no third-party libraries needed.

License

mxBeeBase is provided as part of the eGenix.com mx Base Distribution. Please see the mx Base Distribution page for details regarding the license.

Part of the B-Tree implementation used in mxBeeBase was adapted from Thomas Niemann's Cookbook B+Tree implementation. The original files were extracted from btr.c -- an ANSI C implementation included in the source code distribution of SORTING AND SEARCHING ALGORITHMS: A COOKBOOK by THOMAS NIEMANN Portland, Oregon; http://epaperpress.com/.

From the book:

"Permission to reproduce this document, in whole or in part, is given provided the original web site listed below is referenced, and no additional restrictions apply. Source code, when part of a software project, may be used freely without reference to the author."

Documentation

The following documentation is available for mxBeeBase:

mxBeeBase User Manual and Reference Guide - HTML and PDF

The manual includes a reference of the available programming interfaces.

The PDF file is also available as part of the installation and can be found in the mx/BeeBase/Doc/ folder.

Books

SORTING AND SEARCHING ALGORITHMS: A COOKBOOK by THOMAS NIEMANN Portland, Oregon ( http://epaperpress.com/) discusses the B-Tree implementation used in mxBeeBase. It's an excellent source of information on sorting and searching algorithms in general.

Download & Installation

mxBeeBase is provided as part of the eGenix.com mx Base Distribution. Please see the mx Base Distribution page for downloads and installation instructions.

References

eGenix.com uses mxBeeBase for several in-house applications on daily basis. It was also used in the eGenix.com Application Server.

History & Changes

Please see the change log for details regarding changes to the package between releases.