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:
Defining the database schema.Starting and terminating the eXtremeDB runtime; setting runtime options and fatal error handler.Creating and closing, connecting to and disconnecting from databases; monitoring and extending memory, backing up and loading database snapshots.Creating and modifying database objects.Implementation techniques for connecting (joining) database classes.Defining and using indexes for optimal data access and managing cursors representing selections of database objects.Implementing lookups of individual database objects and searches for selections of objects.Database event triggers and automatic deletion of obsolete database objects through the Time-To-Live (TTL) feature.Strategies and implementation details for managing database transactions and concurrency.Incremental online backup and restore and file-based backup of in-memory and persistent databases.Backup and restore, saving and loading database snapshots, metadata and dictionaries, XML export / import.Using Transaction Logging for persistence, recovery and "Data Relay".Using the sequence data type to store data in vertical or columnar form.Managing network connections and security.Database statistics interfaces and monitoring storage space consumption.How eXtremeDB manages cache and persistent media I/O operations.Setting transaction log file type and parameters.Return status and error codes and how to handle fatal and non-fatal runtime errors.Output tracing and debugging information to a log file.Database recovery from failed processes.Encrypting database memory.Using data compression techniques.Database design considerations with respect to eXtremeDB.Example code illustrating the use of eXtremeDB APIs.Use of databases in shared memory for multi-process applications.Uniform Database Access (UDA) - a predefined generic navigational API to access eXtremeDB databases.OptimizationsTechniques and tips for optimizing eXtremeDB Embedded database application performance.