Virtual Machinery logoBTree logo
  Virtual Machinery's B+Tree Product
Home B+Tree Product B+Tree Guide B+Tree Performance Demos Licensing and Pricing B+Tree FAQ

Our BTree Product

Virtual Machinery offers a full B+Tree implementation for the Java platform and a read-only B+Tree for iOS platforms. The distribution comes with full documentation and example code. You can download demos of our B+Tree for each supported platform by clicking here.

These classes give fast access times to up to 4Gb of textually indexed data. The B+Tree is platform independent with a small footprint (less than 40k for the implementation for the Java platform). Transactions are supported with full commit and rollback. User-defined cache levels are also provided. The distribution includes full documentation as well as code examples. Classes are designed in Component form allowing individual classes to be substituted. A full toolkit with the ability to examine, compress and repair datasets is also available (this is an additional Java application which can be used on datasets created by a Virtual Machinery B+Tree distribution on any Java platform) .

The Standard Java BTree version can also be used without modification on Google's Android (TM) Mobile Platform.You can download a sample application that uses the implementation by clicking here


Other items in the Distribution

  • A set of classes which implement a BTree in the Micro Edition of Java (J2ME).This ME version of the BTree provides all the functionality of the original BTree product. The product has been designed for use with Oracle's J2ME SDK and Nokia's Asha SDK. Sample applications which work in these environments can be found here. An extensive guide to the features can be found in the programmers guide that comes with the product.
  • A set of classes which implement read-only BTrees. Using a read-only BTree gives performance and footprint benefits when used in place of a full BTree. Of course such BTrees are only suitable for use in situations where there is no requirement to modify the data contained in the tree. As a further extension to the Read Only BTree a Read Only BTree which is stored entirely in memory is also provided as a means to increase performance. The Read Only BTree classes are installed as part of the product installation.
  • A set of classes which implement a B+Tree in Objective-C. These are distributed as a static library (.a file) that can be incorporated in iOS applications e.g. for the iPhone or iPad. This allows data that has been stored in a B+Tree to be distributed with Android, J2ME and iOS environments without modifying the B+Tree for each platform. Sample applications (distributed as XCode projects) which work in the iOS simulator can be found here. An extensive guide to the features can be found in the programmers guide that comes with the product.


  • Fast access to textually keyed data (sub-millisecond access on most platforms when index and data are fully cached).
  • Forward key compression allows use of meaningful keys with reduced space penalty.
  • Transaction support with commit and rollback.
  • User defined cache levels for both index and data pages.
  • Full source code provided.
  • Individual datasets can hold up to 4Gb of data.
  • Set of diagnostic tools available as an additional product (runs on any Java platform) - verify, compress and fix datasets.
  • Design allows for single classes to be substituted e.g. to use a different type of cache.


  • Single process only.
  • Key limited to 120 bytes.
  • Maximum 64k data pages.
  • Maximum 65024 byte page size.

Further Information

A Quick guide to BTrees gives an overview of the underlying principles of B+Trees. A more extensive guide to the features is supplied with each distribution in the form of a Programmers guide. Full javadoc-generated class documentation is also available. For more information contact

You can find out more about our BTree implementation on the BTree FAQ page.We always welcome feedback on our product and demos - please feel free to contact us using the link at the bottom of the page.

Click here for licensing and pricing details and to buy Virtual Machinerys B+Tree implementation online.


Contact Us

© 2017 Virtual Machinery   All Rights Reserved.
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions .

Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

Some of the icons in this page are generously provided by MySiteMyWay