- RDM Server
Infobox_Software
name = RDM Server
caption =
developer = Birdstep Technology, Inc
latest_release_version = 8.1
operating_system =Cross-platform
genre =DBMS
license = Commercial license
website = [http://www.raima.com Raima Database Manager]RDM Server is
ACID -compliantclient/server embedded database system designed for both disk based and in-memory embedded systems and applications.History
Raima Corporation, established in
Renton, Washington in1982 , started working on the db_Vista product, envisioning a high performance, zero administration embedded database. db_Vista was first released in1984 , and by1988 its third major release was out. It was later renamed to Raima Database Manager, or RDM.The product grew in popularity, and in order to keep pace with the rising
client-server architecture Raima released Velocis, a client-server version of RDM, in1993 . Velocis was later renamedRDM Server .Raima was acquired by Centura Software Corporation in
1999 . Centura Software decided to launch an open source version ofRDM Embedded , called db.*, in2000 . UnderLinux the db.* product was named db.linux. In2001 Birdstep Technology ASA, a Norwegian based company, acquired the Raima assets and has since made 3 major releases of RDM Server.Technical features
Data Models
The product offers various different
data model s. Thenetwork data model manages relationships between data objects through list of pointers called sets. The network model is defined to allow very flexible relationships between objects making it perfect to structuring complex data relationships. If you think of a hierarchical structure with parent-child relationships, the network model allows for the same structure except there is no limitation on the number of parents a child has nor how many children a certain parent has between objects. This allows for extremely efficient modeling of data graphs and data hierarchies. Therelational data model manages relationships between data objects through value matching, and usually primary key/foreign keys. Relationships are limited to include two record types compared to the network model where no limitation is imposed. RDM Server allows for mixing both the network model and relational model in the same database definition giving the application vendor full flexibility.Indexes
RDM Server supports regular
B-tree based indexes. An index can contain a single or multiple segments. In addition, it supports optional indexes where the application controls the index population.Architecture
The architecture is
client-server , with the ability to run in a heterogeneous environment. The database server sub-system can be linked directly with an application, removing the need for client-server communication andoperating system context switch ing, and allowing for high performing database operations.Active and passive replication is also available, maintaining an identical copy of a master database for application failover. The sub-system implements an asynchronous single master multi slave replication engine based on its supporting client-server transports (including
TCP/IP ).Data Storage
Databases can be disk resident, or memory resident. In the first case, all access to disk resident structures (both data or data index information), happens through an in-memory data cache maintained by the database server sub-system. Alternatively, the application can define database structures to reside in-memory. An application can also define a database with mixed disk based or memory resident data structures. The data definition language of the engine supports mixing different storage types for any data structure.
Data Integrity
The
ACID transaction model is used to ensure data integrity, and reliability, ensuring that the database image is always in a readable and non-corrupt state. However, the application can relax some of the properties to increase performance. Both table and row level locks are implemented, and can be controlled by the application to manage concurrent access to any database. Dirty-read isolation level is also supported.API and Development Languages
The native C
API is an extensive library functions for all database operations. Timestamps, concurrence control, transaction control, database configuration, data navigation, and data changes are supported. A native C administration API is an extensive library functions for all database administration operations such as login, backup, defragmentation, consistency checks etc. A SQL API is implemented as a SAG CLI interface giving access to the supportedSQL92 standard. All these APIs are available as part of the client libraries or as part of the server libraries in application linked mode. Moreover, RDM Server has full support for ODBC v3.51, JDBC v3 and v4 through a Java type 4 implementation, ADO.Net and even PHP. RDM Server therefore supports C, C++, and JAVA applications.Data Types
RDM Server supports for the following native data types: signed and unsigned char; signed and unsigned int16; signed and unsigned int32; signed and unsigned int64; w_char_t (Unicode); float; double; DB_ADDR (Internal database address); BLOB (binary large objects); BCD (Binary Coded Decimal); date; time; timestamp. In addition it has native support for
struct s andmulti-dimensional arrays based on the above list of base types.It also supports the following SQL data types: char; varchar; long varchar; smallint; integer; bigint; wchar (Unicode); wvarchar; long wvarchar; float; double; real; decimal/numeric; date; time; timestamp; rowid; binary; varbianary; long varbinary; c_data (read access to native array and struct data types).
Transaction Logging
The product implements a fully
ACID compliant transaction logging system with automatic recovery capability. An application vendor can hook into the transaction system and do its own real-time transaction logging for any purpose. This facility is also used for asynchronous replication.Extension Modules
RDM Server has a pluggable sub-system to allow the application vendor to add their own business logic to the database server sub-system. The extension modules logic gives the system the ability to act as an application server in addition to being a high-performing embedded database engine.
Supported Platforms
The product is available both as object code and as source code, and it is currently supported on most 32- and 64- bit enterprise and RTOS operating systems Fact|date=January 2008.
Examples of Applications
*HP - OpenView Data Protector
*Johnson & Johnson - Vitros Product Line
*Cognos - Business Intelligence Software Suite
*Lockheed Martin - Test Stands and F2 Flight SimulatorExternal links
* [http://www.raima.com/ Raima Database Managers]
* [http://www.raima.com/products/rdm-server/ RDM Server Product Page]Articles
* [http://www.embedded-computing.com/articles/id/?2569 Why not to use the relational data model]
Wikimedia Foundation. 2010.