RDM Embedded

The efficient embedded database for embedded systems and applications

RDM Embedded Database for Military ApplicationsRDM Embedded Database for Telecom ApplicationsRDM Embedded Database for Automotive Applications

Embedded Database Overview

RDM Embedded Edition is a high-performance, embedded database management system optimized for the operating systems commonly used within the embedded market.

It is ideal for standalone applications such as those found in industrial automation controllers or automobile infotainment systems. Multiple APIs provide developers with a multitude of programming options and functionality. However, developers can only compile in what they need in order to keep the application footprint minimal for these traditionally resource constrained devices.

RDM Embedded’s SQL has been designed for embedded systems applications. As such, it provides a subset of the ANSI/ISO standard SQL that is suitable for running on a wide variety of computers and operating systems, many of which have limited computing capabilities.

The ACID compliant database engine supports B-tree and hash indexes; the B-tree indices can support simple and/or compound keys. Additionally the embedded database engine has been developed to fully utilize multi-core processors, run within minimal memory, and support both in-memory and on-disk storage. Implemented as a linkable library the database is allowed to become an embedded part of your applications.

The Plus package includes extra features for optimal performance.

New Feature: Performance Benchmarks and Database Functionality Tutorials

Our Database Performance Popcorn Samples let you test in-memory, on-disk performance and other configurations within your app’s environment. You can also view quick database tutorials that show you how to configure different features within our database. Each sample takes less than 5 minutes.

Download RDM Embedded

“>

Performance Driven Features

Efficiently allocate transaction processing to take advantage of multi-core systems for optimal speed.

Implement read-only-transactions where a virtual snapshot of your embedded database is readable until the read-only-transaction is terminated by the task, even if it is being concurrently updated. Avoid read locks to improve multi-user performance.

Configure your database to run completely on-disk, completely in-memory, or a hybrid of both; combining the speed of an in-memory database and the stability of on-disk in a single system.

Use B-Trees or Hash Indexes on tables. Hashing on large volumes often provides faster access to data than b-tree indexing methods. Hashing enhances speed by using buckets to store the index information.

“>

RDM Embedded Technical Specifications

Database

  • Maximum Databases Open Simultaneously: No Limit
  • Maximum Records Per Database: No Limit
  • Maximum Size of Database File: Limited only by file system
  • Maximum Tables Per Database: No Limit
  • Maximum Records Per Table: No Limit
  • Maximum Record Size: 32 kb (excluding BLOB or VARCHAR)
  • Maximum Fields Per Table: No Limit
  • Maximum Keys Per Database: No Limit
  • Maximum Size of Keys: 242 bytes
  • RAM Requirements: User configurable, minimum 50 kilo bytes
  • Code Footprint: Starting at ~270 kb, depending on OS and database features

Modes of Operation

  • Standalone
  • Application Linked

Data Types Supported

  • BLOBs
  • Character
  • Widechar
  • Varchar
  • DBADDR (ROWID)
  • Floating Point – 32bit and 64bit
  • Integer – 8bit, 16bit, 32bit and 64bit
  • C struct

Additional SQL Data Types:

  • Binary
  • Date
  • Decimal
  • Time
  • Timestamp
  • Unicode

Multiple APIs: for Enhanced Usability

  • Navigational C API

    For well over 25 years developers have been using RDM’s low-level C API of over 200 intuitive easy to use functions provides application developers with ultimate control of the embedded database.

  • Comprehensive SQL API

    RDM’s SQL is accessed internally through an easy-to-use API designed by Raima. This non-standard API is simpler than ODBC. In fact, our ODBC API is based on this one.

  • Standards Based ODBC API

    Following the ODBC standards Raima developed the ODBC API to provide developers with a familiar way to utilize the power of the RDM database engine.

  • Object Oriented C++ API

    The C++ API was designed with ease of use as its primary requirement while still providing developers with full access and control to both RDM’s network and relational functionality.

“>

Data Sheets, Whitepapers and Other Resources

“>

Supported Operating Systems

Target Platform

Target
Host
Version Hardware Platform Version Hardware Compiler Version Object Code Source Code
6.5 Cortex A9 (ARM) Windows 7 x86 (32 bit) Visual Studio 2010 10 Yes Yes
6.5 Simulator Windows 7 x86 (32 bit) Visual Studio 2010 10 Yes Yes

Target
Host
Version Hardware Platform Version Hardware Compiler Version Object Code Source Code
6.5 Cortex A9 (ARM) Linux 6.5 x86 (32 bit) qcc No Yes
6.5 Cortex A8 (ARM) Windows 6.5 x86 (32 bit) qcc No Yes

Target
Host
Version Hardware Platform Version Hardware Compiler Version Object Code Source Code
6.5 x86 (32 bit) Windows 6.5 x86 (32 bit) qcc No Yes
6.5 Cortex A9 (ARM) Windows 6.5 x86 (32 bit) qcc No Yes
6.5 Cortex A9 (ARM) Linux 6.5 x86 (32 bit) qcc No Yes
6.5 Cortex A8 (ARM) Windows 6.5 x86 (32 bit) qcc No Yes
6.5 Cortex A8 (ARM) Linux 6.5 x86 (32 bit) qcc No Yes

Target
Host
Version Hardware Platform Version Hardware Compiler Version Object Code Source Code
5.0.10 Cortex A9 (ARM) Linux x86 (32 bit) GHS MULTI 5 No Yes
5.0.10 Cortex A9 (ARM) Windows x86 (32 bit) GHS MULTI 5 No Yes
5.0.10 Cortex A8 (ARM) Linux x86 (32 bit) GHS MULTI 5 No Yes
5.0.10 Cortex A8 (ARM) Windows x86 (32 bit) GHS MULTI 5 No Yes

Target
Host
Version Hardware Platform Version Hardware Compiler Version Object Code Source Code
6.9 x86 (32 bit) Windows x86 (32 bit) No Yes
6.9 x86 (32 bit) Linux x86 (32 bit) No Yes

“>

RDM Embedded Plus Edition contains additional features to enhance the development experience. Unique to the Plus package is the replication and mirroring functionality that enables greater availability and scalability.

Download RDM Embedded Plus

Additional Functionality

Easily achieve true horizontal scaling across clustered or distributed systems without the need to re-write of your application.

Connect any application to one or more databases and query them as if it is a single instance. Perform global, locally or across a network, to multiple database instances with no regard for where the data is located.

Create applications that replicate data between different databases on different systems, on the same system, in memory and on disk. Asynchronously replicate your data between different database instances, schemas, and systems. Allows developers to create a heavily indexed persistent query database while capturing data through a non-indexed in-memory database.

The automated database schema translator seamlessly transforms data from native RDM to SQL enabling effortless data flow into the enterprise. The result is the ability to combine near real-time critical operational data with other data sources to provide the complete information to make more intelligent business decisions at any level of your organization.

Data redundancy without sacrificing performance! Master-Slave mirroring introduces data redundancy by automatically mirroring the application database locally or across a network.

Designed for carrier grade systems the new mirroring engine is designed to remove any single point of a failure in your fault-tolerant system.

API Functionality

For well over 25 years developers have been using RDM’s low-level C API of over 200 intuitive easy to use functions provides application developers with ultimate control of the database.

RDM’s SQL is accessed internally through an easy-to-use API designed by Raima. This non-standard API is simpler than ODBC. In fact, our ODBC API is based on this one.

Following the ODBC standards Raima developed the ODBC API to provide developers with a familiar way to utilize the power of the RDM database engine.

The C++ API was designed with ease of use as its primary requirement while still providing developers with full access and control to both RDM’s network and relational functionality.

Modes of Operation

  • Standalone
  • Client/Server
  • Application Linked
  • Mixed Execution Mode