Shore-MT storage manager
Shore-MT is an experiment test-bed library for use by researchers who wish to write multi-threaded software that manages persistent data. Shore-MT as a storage engine provides the following capabilities:
- transactions with ACID properties, with ARIES-based logging and recovery, primitives for partial rollback, transaction chaining, and early lock release,
- prepared-transaction support for two-phased commit,
- persistent storage structures : B+ tree indexes, R* trees (spatial indexes), and files of untyped records,
- fine-grained locking for records and B+ tree indexes with deadlock detection, optional lock escalation and optional coarse-grained locking,
- in-memory buffer management with optional prefetching,
- extensible statistics-gathering, option-processing, and error-handling facilities.
This software runs on Pthreads, thereby providing its client software (e.g., a database server) multi-threading capabilities and resulting scalability from modern SMP and NUMA architectures, and has been used on Linux/x86-64 and Solaris/Niagara architectures.