RDM Embedded

Overview

RDM Embedded 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.

Architecture

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.

Available in Standard or Plus Version

The Standard Packages will satisfy most application development needs in that environment, including the sharing of databases among multiple computers, while the Plus Packages add the more sophisticated data movement options, replication, notifications and mirroring, allowing dynamic and automatic data movement in a LAN or across the world.

Products

Resources

Demos

Test in-memory, on-disk performance and other configurations within your app’s environment! Each demo takes less than 5 minutes.
Go to Demo page

Free Evaluation Request a Quote

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

Multi Versioning Concurrency Control (MVCC)
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.

Pure and Hybrid In-Memory Database Operation
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

Multiple Indexing Methods
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.

Database Cursors  
­The addition of cursors to the standard library allows for an easy-to-use, natural traversal of records in the database.

Shared Memory Protocol
Improves performance with remote clients on the same computer through the addition of shared memory as a transport for communication between the application and the tfserver.

Application-specified Memory Limits
Allows the application to limit the amount of memory used by the RDM runtime system and, optionally, provide a pointer to a memory buffer within which the memory will be allocated.

New Data Types
­Three new data types, including Date/Time/Timestamp (Core level), BCD (decimal), GUID (UUID).

No Key Size Limit
­Eliminates the legacy limit to key lengths of 240 bytes.  With this version developers control the key size through their schema definition.

Bulk insert API Function
The Bulk Insert API function is a new performance optimization API to efficiently insert large quantities of data at the Core level.

Non-repeatable reads­
Non-repeatable reads can be a useful capability to alleviate concurrency issues and provide faster performance in very specific circumstances. Applications with read only, or read intensive requirements may benefit as the performance benefits of lockless reading can be significant.

Encryption
Encryption of the database files using the Rijndael/AES algorithm for encryption or decryption is now available.  The algorithm supports the use of 128, 192 or 256 bit keys.

Selective Replication & Notification
Extends replication functionality by adding the ability to ³selectively² specify the table(s) and column(s) to be replicated.  Enhancing Replication further, version 12.0 also introduces change logging enhancements by providing pre and post image of updated rows with the replication notification API.

SQL enhancements:

  • Update Statistics – provides for the collection of data distribution statistics so that the SQL optimizer can make more informed execution plan choices.
  • Rowid Primary & Foreign Keys – rowid primary keys allow individual rows of a table to be directly accessed based thus providing optimal retrieval performance without having to incur the cost of a separate index.
  • Improved Group/Order By Performance – Group by processing performance has been significantly improved in RDM 12.  Order by sort costs have also been reduced.
  • New Data Types – support was added for the previously mentioned new Core types, decimal (BCD) and guid (SQL already had date/time/timestamp support).

 

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
  • Data/Time/Timestamp
  • BCD (SQL Decimal)
  • GUID

Additional SQL Data Types:

  • Binary
  • 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.

Supported Operating Systems

Target Platform

Windows - CE

Linux ARM

QNX Neutrino

Green Hills INTEGRITY

Wind River VxWorks

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.

Free Evaluation   

Additional Functionality

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

True Global Queries
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.

Master-Slave Database Replication
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.

3rd Party Replication
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.

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

Synchronous or Asynchronous Mirroring
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

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 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.

Modes of Operation

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

What We Do

Raima is a provider of high performance, always on database management system technology for both in-memory database usage and persistent storage devices. We deliver database solutions which are cross-platform, small footprint database systems designed for distributed architecture in resource-constrained environments.
Learn More

What They Say...

Loading Quotes...

Latest Feeds