Virtual Machinery logo BTree
Home BTree Guide BTree Performance Sample Applications BTree Roadmap Other Products
Virtual Machinery Products - BTree

Virtual Machinery offers two products which implement a B+Tree - one for the Java platform and one for the following Smalltalk platforms - Smalltalk Express (or Digitalk ST/V versions 1.1 & 2.0), IBM Smalltalk and Dolphin Smalltalk. The Smalltalk version is sufficiently generic to allow easy translation to any Smalltalk platform. Both distributions come with full documentation and example code. You can download a Demo of our BTree by clicking here. BTrees are also useful in J2EE - you can read more here and you can download the code associated with this discussion here . In the memory-constrained environment encountered on small devices that implement the Sun J2ME platform Virtual Machinery's implementation is invaluable. You can learn more about this here and download the demo application here.

These classes give fast access times to up to 4Gb of textually indexed data. The B+Tree is platform independant 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. The Smalltalk version also includes the full source code, source code for the implementation for the Java platform can be purchased separately. 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 a Java application but can be used on datasets created by both Smalltalk and implementations for the Java platform) .

The Distribution for the also includes -

  • 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 Version 2.5 of Sun's J2ME Wireless Toolkit and sample applications which work in this environment and the Palm OS Emulator environment are supplied. An extensive guide to the features can be found in the programmers guide.
  • A set ofclasses 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. Two sample applications are supplied and an extensive guide to the features can be found in the programmers guide.

Advantages

  • 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.
  • Smalltalk and Java versions use same file format allowing each to access datasets created by the other.
  • Individual datasets can hold up to 4Gb of data.
  • Set of diagnostic tools provided (runs on Windows only) - verify, compress and fix datasets.
  • Design allows for single classes to be substituted e.g. to use a different type of cache.

Limitations

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

A Quick guide to BTrees gives an overview of the underlying principles of BTrees.The QuickStart for Java page and the QuickStart for Smalltalk page give you a rapid introduction to creating and using this Btree implementation. A more extensive guide to the features is supplied with each distribution in the form of a Programmers guide. Full javadoc-generated and Smalltalk class documentation is also available. For more information contact info@virtualmachinery.com.

Buy Virtual Machinerys BTree implementation online.

These classes are Copyright Virtual Machinery 1990,2007 - All Rights Reserved and are provided acording to the terms of the license. This license allows you to incorporate some of the classes in applications which you may distribute without further payment.