(Contents)(Previous)(Next)

Serverdb Structure

A serverdb has the following structure:

The term "devspace" denotes a physical disk or part of a physical disk, for example, a UNIX raw device or a file.

ADABAS assumes that each devspace is located on a different disk. If this is not true, decreased performance is to be expected. The used disks should present uniform performance data (especially access speed) because only then an equal usage of the devspaces can be obtained.

The ADABAS devspaces have the following meanings:

System Devspace

The configuration data and the mappings of the logical page numbers to physical page addresses are administered on the system devspace. The size of the system devspace therefore depends directly on the database size and is determined by the database kernel.

Transaction Log Devspace

Modifications to the data are recorded in the transaction log and written to disk at the end of the transaction. The transaction log can be used to ROLLBACK transactions, it is written cyclically. Its size must be sufficient to receive the modifications of all open transactions.

Archive Log Devspaces

All modifications made to the database contents are recorded in the archive log devspace to ensure the recovery of the database contents after a media failure. Using the log backup functions (Backup / Save / Log, Backup / Save / Log Segment) saves the archive log devspace contents to tape (DLT, DAT, Video8), and releases the used space afterwards. The size of the archive log devspace must therefore be sufficient to receive all modifications occurring during two backups. The archive log can comprise several devspaces.

Data Devspaces

The user data (tables, indexes) and the SQL catalog (schema information) are stored in the data devspaces. As a rule, an ADABAS-internal striping algorithm evenly distributes the data belonging to a table across all data devspaces. The storage space defined by all data devspaces is the total size of the database.

The data devspaces are not directly related to the storage of database objects. An assignment of tables to data devspaces is not possible and not necessary. A table or an index can use one page (4 KB) as a minimum; or a table can use all data devspaces (i.e., the whole database) as a maximum. A table increases or decreases in size automatically without administrative intervention.

The system devspace and all data devspaces of a serverdb can be mirrored to obtain a higher degree of availability. Write operations are performed on each of the two mirrored data devspaces, while read operations alternate between one mirrored data devspace and the other to distribute the I/O load.

If the data devspaces become full, database operation stops and ADABAS performs an "emergency shutdown". The devspace usage level of a serverdb is therefore a critical parameter of database operation and must be monitored. A serverdb can be expanded by additional data devspaces, if necessary, while the database is operational.


(Contents)(Previous)(Next)