BASIS DBMS Architecture


Setting up and using the BASIS DBMS requires an understanding of how SQL access to BBx data files occurs using the BASIS DBMS and its accompanying ODBC and JDBC drivers. To better understand how it works, and where the BBj ODBC and JDBC drivers fit into the picture, first take a look at the model used in previous (3.0x and lower) BASIS SQL products.

Previous Products

PRO/5, Visual PRO/5, and the BASIS ODBC Driver (version 3.0x and lower) all use the same architecture for their respective SQL access functionality. Each product contains the actual SQL engine that does all of the reading and writing of the BBx data files and processing of the SQL statements. While this works fine in a situation where the data files and data dictionary reside on the same machine as the SQL engine, this is less than ideal for a distributed computing system where the data may reside on a machine in a different location than the SQL engine.

BBj Products

With the advent of BBj, users now have the ability to distribute their system among multiple machines without losing as much performance. This is because the SQL engine resides inside the BASIS DBMS, instead of inside the client application or ODBC driver. This means that where the BASIS ODBC Driver version 2.x contained the ODBC driver and the SQL engine, now, the BASIS DBMS contains the SQL engine while the ODBC driver is a very small and simple driver that receives all its data from the Database.

Separating the system into two pieces: a client, and a server, gives the system/database administrator several new key features. These features are listed below:

  • User name and password authentication of all users.

  • Individual user access control down to the database level.

  • Better performance when using multi-threaded applications such as Web servers.

  • Better performance when executing queries requiring high amounts of processing and file access.

  • Simple, one location licensing and configuration.