DataStore is distributed as a library that can be used in-process, and as an executable that can be run as a separate process. The in-process library only allows one concurrent connection per DataStore.
Kernel
The Kernel is written in C and is platform independent.
It provides ACID properties.
Platform adapter
The Platform adapter provides abstractions of the operating system features needed by DataStore, e.g. file handing, memory management, thread management, synchronization etc.
API Transport
The API Transport sits between the API and the Kernel. It allows the Kernel to be in-process, in a separate executable, or on a completely different machine.
Bindings
The standard API is in ANSI standard C. To make the API easily usable from other languages and environments bindings are provided:
- The .Net binding is an assembly for development of Windows Desktop .Net Applications.
- The Windows Runtime binding is a Windows Runtime Component, and is distributed as an SDK for Windows and Windows Phone App development.
Object Model
The object model component provides the classes required by Object Model generation
Object Model Views
The object model views component provides the classes required by Object Model View generation