eXtremeDB Embedded User's Guide

For application developers new to eXtremeDB, we recommend reading the fundamental concepts and the Getting Started topics, then building and running the SDK samples to become familiar with eXtremeDB essentials and the APIs appropriate for your development environment. The Product Overview and Objectives pages provide a detailed introduction to eXtremeDB features and extension modules.

The following topics explain general principles of eXtremeDB application design and implementation:

Database schema
Defining the database schema.
Runtime Control
Starting and terminating the eXtremeDB runtime; setting runtime options and fatal error handler.
Database Control
Creating and closing, connecting to and disconnecting from databases; monitoring and extending memory, backing up and loading database snapshots.
Database Object Interfaces
Creating and modifying database objects.
Creating Class Relationships
Implementation techniques for connecting (joining) database classes.
Indexes and Cursors
Defining and using indexes for optimal data access and managing cursors representing selections of database objects.
Search Methods
Implementing lookups of individual database objects and searches for selections of objects.
Events and TTL
Database event triggers and automatic deletion of obsolete database objects through the Time-To-Live (TTL) feature.
Concurrency and Transaction Control
Strategies and implementation details for managing database transactions and concurrency.
Database Backup and Restore
Incremental online backup and restore and file-based backup of in-memory and persistent databases.
Data Export and Import
Backup and restore, saving and loading database snapshots, metadata and dictionaries, XML export / import.
Transaction Logging
Using Transaction Logging for persistence, recovery and "Data Relay".
Vertical Data Storage
Using the sequence data type to store data in vertical or columnar form.
Network Communications
Managing network connections and security.
Monitoring Storage
Database statistics interfaces and monitoring storage space consumption.
Persistent Database I/O
How eXtremeDB manages cache and persistent media I/O operations.
Transaction Log Files
Setting transaction log file type and parameters.
Error Handling
Return status and error codes and how to handle fatal and non-fatal runtime errors.
Tracing and Debugging Framework
Output tracing and debugging information to a log file.
Database Recovery
Database recovery from failed processes.
Database Encryption
Encrypting database memory.
Database Compression
Using data compression techniques.
Database Design and Programming Considerations
Database design considerations with respect to eXtremeDB.
Programming Examples
Example code illustrating the use of eXtremeDB APIs.
Shared Memory Applications
Use of databases in shared memory for multi-process applications.
Uniform Database Access
Uniform Database Access (UDA) - a predefined generic navigational API to access eXtremeDB databases.
Optimizations
Techniques and tips for optimizing eXtremeDB Embedded database application performance.