Database Management for Smalltalk

Transparent Persistence

+ Transaction Processing…

Smalltalk is pure object-oriented programming for complex business and technical applications, but the benefits of this can be lost in the well-known ‘impedance mismatch’ with relational databases.

The VOSS open source virtual object storage system extends Smalltalk with integrated database management, providing transparent multi-user access and transaction processing of persistent, versioned, Smalltalk objects directly accessible by normal programming, with efficient persistent Btree collection classes, including the multi-key/multi-value/key-set VirtualDictionarySet for aggregation and query-building.

  • Multi-process, multi-machine transactional access to distributed objects
  • ACID transactions with two-phase commit, logging and rollforward crash recovery
  • Persist clustered complexes of any Smalltalk classes except block closures
  • Historical object versioning, MVRC repeatable read, MVCC concurrency control
  • Automatic object locking with transaction rollback & retry on deadlock time-out
  • Automatic change detection, no lock conflicts with sub-transactions, short read-locks
  • Multi-key/multi-value/key-set Btree VirtualDictionarySet with query-building methods
  • Continuation Transactions manage alternative futures for design or what-if
  • Long Continuation Transactions may be persisted prior to ultimate commit/rollback
  • Web server / application process rendezvous
  • Distributed copying, parented copying, identity-exchange, checkout, read-only etc
  • 24×7 operation, with concurrent variable-rate incremental foreground & background garbage collection and snapshot backup of the set of distributed virtual spaces.
  • Up to 150 logged & flushed transactions per second on 3GHz P4 IDE hardware
  • Terabyte 64-bit object id and addressing default, configurable up to 128-bit
  • Dual Licensing - Open Source GPLv3 and/or Supported Commercial Licence

…Seamless Smalltalk Solutions Download VOSS

(C) Logic Arts Ltd 2017

Wed 13th Sep 2017   02:09 PM
posted by John Clapperton

StsDebugger is incompatible with VOSS, causing random image hangs. These are probably caused by the tool tip hovering over a variable which references a VORef proxy, causing the tooltip process to wait indefinitely at the VOStorageManager’s process mutual exclusion shell (VOSMShell). It is recommended therefore to use DbgDebugger. Evaluate the following statement before a debugging session:

System startUpClass debuggerClass: DbgDebugger.

Thu 30th Mar 2017   01:03 AM
posted by John Clapperton

The next version of VOSS 3.1 includes a new collection class, the high concurrency Btree VOhcVirtualDictionary, with transparent conversion of existing VirtualDictionary instances within VirtualDictionarySet etc.

Email me at if you would like to join the beta test.


Mon 18th May 2015   05:05 PM
posted by John Clapperton

VOSS 3.150.15 for VASmalltalk 8.6.2, 8.6.1, 8.6.0

Download VOSS 3.150.15 here