Databases
|
<< Click to Display Table of Contents >> Navigation: »No topics above this level« Databases |
BNCS has a system of distributed databases. These are intended for the storage of either static or semi dynamic data. Highly dynamic data would normally be placed in Infodrivers.
Database addressing is based on a device id, database number and row index - all unsigned integers. The contents of a row are stored as a string, although it is not uncommon for the string to be used for the storage of structured data, for example as delimited fields. It is the responsibility of individual drivers to implement database structures that meet their needs and deal with incorrectly formatted data.
BNCS databases have no owner as such. All workstations on the network download a copy of the current database files from a central server on startup and then listen for updates via broadcast BNCS messages. All workstations, and the central server, are expected to update their local copy of the database files in response to these broadcast messages. There is no central authority controlling access to the databases thus any workstation on the network can request a change to any database and that change will be accepted.
Drivers are able to request notifications on database changes and react to those changes. They do not, however, have the ability to reject a change.