Products Support Documentation Download
Overview of RDM

Raima Database Manager (RDM) is a Software Development Kit (SDK) containing set of libraries and utilities that allow development of programs that perform ACID-compliant database management. RDM becomes a part of the application program, being responsible for the database management requirements. RDM is easily configurable, allowing it to serve a simple role within a single process in a single computer, or a much more sophisticated role in a wide-area network of cooperating computers and processes sharing distributed databases. Figure 1 shows RDM's relationship to application code and its operating environment.

Figure 1.
RDM is fast and optimized. It contains an in-memory implementation designed specifically for quick data access and modification but also with the flexibility of being later stored on disk as needed. The on disk implementation utilizes an encoded database pack file format to also streamline insertions and updates. RDM is easy for developers to use. It supports both proprietary and standard Application Programming Interfaces (APIs). Proprietary APIs are directly callable by C/C++ programs and support low-level database operations, objectoriented operations, or SQL language. Standard APIs support SQL language and SQL PL through ODBC, JDBC or ADO .NET. Nearly any development environment and language a software engineer is familiar with is supported allowing for quick development and deployment.

RDM is compact and portable. It is written in the C language and can be built for almost any system that supports a C compiler. It runs on multiple operating systems, from larger Unix to small embedded or mobile systems. It runs on all common CPUs. It is built for either 32-bit or 64-bit architectures. Its memory and disk footprint is very small compared to other DBMSs with equivalent functionality, so it is available to solve problems on computers not previously considered powerful enough for non-trivial programming. The database files themselves are stored in a proprietary format, allowing the files to be directly copied onto any platform and utilized without data massaging or byte swapping.

The RDM APIs are reentrant. This means that programs running two or more threads can use RDM concurrently. Multithreading also permits exploitation of multiple CPUs and multiple Cores, enhancing overall performance.

The selection of multiple APIs means that you can use one you are familiar with (for example, ODBC or JDBC), or a low-level, high-performance API like the one we call the Core(C/C++).

RDM is system software, written in C to eliminate the overhead of higher-level languages. It performs data caching, disk I/O, and networking, implementing efficient database algorithms to manage data and database processing like SQL optimizations and query execution. The result is a fast and efficient system that leaves room for the application program to perform its own specialized functionality.