RAQUEL the Architecture
The RAQUEL Database Management System (= DBMS) has an Open Architecture that facilitates a building block approach to a DBMS implementation. The implementation can be easily varied by plugging together different and/or additional modules so as to easily scale between PCs, networked servers, mainframe computers, computer grids and any future computing architectures. From the user’s perspective, the same simple but highly functional RAQUEL notation is presented with every architecture, but the computing power beneath it can be varied to meet requirements.
It contrasts with today’s SQL products which are “black boxes”. Each ‘box’ is typically aimed at one situation, be it a PC database, an ‘Enterprise’ database, or a data warehousing database. The implementer has limited control over the contents of the chosen box, which may be very bloated, having been expanded over many years to make it “all things to all men”.
On the other hand an Open Architecture does not constrain the database system into a fixed ‘shape’ which might turn out to be limiting in future. It allows a particular DBMS installation to be tailored to suit the specific business requirements; and enables the installation to evolve over time. Installation software ensures that the tailoring is simple and straightforward.
The RAQUEL DBMS consists of core modules, which provide fundamental DBMS functionality, and two sets of plug-in modules. One set handles the processing of the scalar values held in relations, there being one plug-in module per scalar data type. The other set handles the physical storage of data, there being one plug-in module for each kind of physical storage method (e.g. BTree files, Hash files). Any particular DBMS installation would plug in to the core the required modules from each set.
The core of the DBMS has a layered architecture, i.e. it is a 'vertical' stack of layers. Each layer in turn is composed of a stack of modules, i.e. also has a layered architecture. Any particular installation may add/amend/delete core layers and/or sub-layers, to obtain the required portfolio of fundamental DBMS functionality.
There is no constraint on the range of scalar data type software that can be plugged in. Although proprietary systems increasingly allow plug-ins for data types too, the plug-ins are constrained by the ‘black box’ interface and what the vendor chooses to reveal about it, whereas an open architecture has far more potential. This is important because it is the means by which more and more of the hitherto so-called ‘unstructured’ kinds of data can be incorporated into a database, thereby making it easier to manage and use such data in conjunction with existing ‘structured’ data.
Likewise there is no constraint on the range of physical storage methods that can be plugged in. Existing proprietary database systems can also be used as a storage methods, thereby facilitating the migration of data from such systems to the RAQUEL system. In contrast the ‘black box’ approach provides only what the vendor deems is a sufficient choice.
The Open Architecture is an extension of the Open Source philosophy in that just as Open Source facilitates software modules being re-developed as required, so Open Architecture facilitates the reconfiguration of the database system modules to most effectively meet user needs.
The Open Architecture also makes it easier for external contributions of modules to be incorporated into the RAQUEL DBMS; and for users to include specialist modules of their choice or creation within the DBMS so as to tune the DBMS to their needs with the minimum of effort.