DTS/S1: Concepts

Pitch Black has been designed to unify all enterprise data storage requirements into a single, cohesive solution. We have achieved this by closely mimicking the heap allocation model of memory-managed development environments such Java(TM) and similar programming languages, and depicting similar object-lifecycle semantics in a persistent storage model. In plain terms, what this amounts to is the ability for application developers define classes as they normally would, instantiate those into objects, manipulate various fields and have those changes transparently committed to stable storage. The objects themselves are plain Java objects, potentially existing objects that already depict the business data, that have been enhanced by implementing a lightweight interface defined by the DTS/S1 container.

Pitch Black persists all data on an object-by-object basis, whereby each persistent entity is subject to separate revision control and system-wide locking. Because an individual object is so small by comparison to the entire organisational data store, DTS/S1 affords to make near-instant, permanent modifications to objects soon after it has committed transitional data to its recovery journal. Should one or more nodes in a DTS cluster fail at any point, the remaining nodes will absorb the increased load and provide immediate fail-over. The most recent transaction-consistent data state will immediately become available to the remaining nodes and the objects can be utilised immediately without incurring the penalty of a roll-forward replay.

Modified objects undergo revisions, where all previous revisions are retained and can be queried directly without reverse-replaying transactions to gain a historical perspective on the data. This is a yet another distinguishing factor that cannot be attained by competing products since they only store the most recent data image and a change log. Pitch Black can be configured to store checkpoint object images for each and every alteration of the data. Since data is checkpointed on a per-object basis, it is trivial to isolate areas of the system that may require frequent historical trend inspection, such as an organisation's monthly sales/performance figures. These snapshots can be consulted directly, without the need to backtrack the journal or set up a separate data repository.

Two areas of computing have served as the primary influence for the design of Pitch Black. The first is managed-heap programming environments and adjacent technologies such as type safety, pointer arithmetic and garbage collection. Even JIT (Just In Time) compilation was not overlooked. This is closely approximated in how DTS stores and manipulates its objects internally. This also reflects how the application interacts with DTS.

The second area is revision control systems (RCS). A modern RCS, such as the popular Subversion, are highly transactional in nature. While they offer per-resource revision control, they also support bulk operations and an all-or-nothing atomic commit. These operations are fundamental in transactional object databases. But apart from these primitives, RCS systems expose historical views, differences and change sets. This is not the norm for transactional systems, but it is in Pitch Black.

Proceed to the features page to see what DTS is made of.