Raima Database Manager++, Velocis Database Server

The most unique feature of the Raima line-up is the combination of pointer and relational data navigation.

Installing Velocis was fairly easy. Once the disks are unpacked using tar, run the install script which creates two files: rdshome.sh and rdshome.csh. These shell scripts export all the environment variables that Velocis needs to run. I copied the contents of rdshome.sh to /etc/profile so that it's available system wide. Each Velocis server (you can run multiple servers) must have a host alias and a port of the same name defined in the /etc/services file. Just fire up the server and you are ready to get started.


Velocis is administered from the rdsadm command-line utility. Velocis is fairly easy to use and understand, but the rdsadm utility is cumbersome and doesn't do justice to the quality of the server. Raima should supply an X windows GUI administration tool with Velocis.

Unique Features

Velocis is a dream for C programmers because the server extension modules (EM) and user-defined functions (UDF) are all implemented in C.

UDF are C shared libraries that contain scalar or aggregate functions that can be called from SQL. UDF use the standard SAG-CLI and are registered by using the SQL create function call. Once registered, UDF can be used like any other SQL function.

UDF can be used in conjunction with the SQL check clause to create triggers. Triggers run on the server whenever a table is changed. Thus, by using the check clause when tables are created, UDF and built-in functions can be executed automatically on the server. This is a great way to ensure that custom business logic is enforced on your database.

The Velocis server can also be customized outside the SQL system with extension modules. EM are essentially the same as user-defined functions but are invoked by clients directly using RPC calls. They are independent of the SQL system. As a matter of fact the whole SQL interface is an extension module. This modular design makes Velocis an excellent choice for vertical market applications where heavy customization is required.

Velocis also supports stored SQL procedures with the create procedure call, allowing a group of SQL statements to be executed with a single function call.


Raima's products are all winners. I especially like the RDM++ API. The .dll set up and the d_ functions are very easy to learn and are rich enough in features to be taken seriously. Even with Velocis I'd be tempted to use the low level d_ functions in place of SQL. SQL is still nice to have for reporting and system administration. It is, after all, almost the universal database language. Raima only misses on a couple of counts. First, the lack of GUI tools for Velocis, an administration tool and report writer for X Windows as a minimum are required for serious back office use. Second, Raima needs to beef up its Internet tools. Currently, there is only a Perl interface for Velocis. Raima should consider doing a JDBC type 4 driver and an HTML scripting tool like PHP/FI or Scriptease for ADABAS D. All in all Raima is a winner and worth a look for your next project.

Nick Xidis is a Telecommunications Specialist with the Federal Aviation Administration in Auburn, WA. When he's not at work with the FAA, Nick does private consulting for Linux/Unix systems. He also enjoys playing with his wife and five (soon to be six) children. He can be reach via e-mail at nickx@xsc.wa.com.