Professional Documents
Culture Documents
Description :
Adabas is one of the fastest databases in the world. Its high speed and legendary reliability make Adabas the ideal database server for large mission-critical business applications that require sub-second response times for thousands of users even during peak times. Adabas is available on mainframe, Windows, Unix and OpenVMS platforms.
Access to Adabas
Adabas can be accessed from Natural, Software AGs 4GL development environment, from Bolero, Software AGs application factory, and from every 3GL and 4GL that is equipped with a call interface. In addition, Adabas can be accessed via standard interfaces such as ODBC or JDBC and, of course, embedded SQL can be used.
Data Storage
Data storage consists of the following disks: Data where user data is stored Associator where index information is kept Work Area where Adabas has its playground Protection Log where transaction data is kept temporarily for backup purposes Command Log where user commands are stored for backup purposes
Nucleus
This is the set of programs, tables, queues, etc. that make up Adabas.
Interface
This is the entrance to Adabas or, from an external point of view, the place where the calls are received and forwarded to the Adabas nucleus.
Data Storage
An Adabas database consists of three components Storage of user data (DATA) Index Structures and Address Converter (ASSO) Scratch File for intermediate results and logging info (WORK). ASSO, DATA and WORK are normally each assigned to a separate operating system file, but it is possible to assign up to five OS files for both ASSO and DATA. The physical blocks of a database component are each allocated a number starting with 1. These block numbers are called Relative Adabas Block Numbers (RABNs). The RABN is used in identifying and addressing the blocks of a data component. Within DATA, there are up to 32,000 Adabas files and each file consists of a series of RABNs (not necessarily contiguous). Each RABN holds one or more Adabas records and each record contains one or more fields. An Adabas record can represent a two dimensional data structure or can be designed to represent a nested relational structure i.e. tables within tables. From a logical point of view there are two or more files, but physically they will be retrieved together. This leads to a significant reduction in the number of I/O operations needed to retrieve data. Storage strategy for user data Initially the data records will be stored in the ascending physical sequence. When a record is inserted into a database file, it is allocated a unique internal sequence number ISN) within the file. This ISN serves as an internal primary key for the file. (Adabas does not require the user to specify a unique primary key) and is used to identify the record but not its location. The DBA can also specify which fields are needed for retrieval purposes. Index structures will be constructed for these fields. The following types of search fields (Descriptors) can be defined: Super descriptors containing data from multiple non-adjacent fields Subdescriptor containing data from part of a field Normal descriptor containing data from a single field Phonetic descriptor converts the contents of the field to its phonetic equivalent Hyperdescriptors can be used to generate multiple key values for a particular field The Associator (ASSO) contains field definition tables which contain descriptions of the contents and structure of each Adabas file address converter contains the addresses of the RABN which contains a particular record, The ISN is used to identify. Thus by using the ISN value as a displacement into the address
converter, the block containing the record can be found efficiently and simply. the inverted lists (B* trees) are used when querying the database and for logical-sequential processing of the database. Each Descriptor in a file has its own index structure. The lowest level of the index structure contains a series of entries for each value of that particular Descriptor. Each entry consists of the descriptor value, the number of occurrences of this value and then a list of the ISNs i.e. those records containing this value. Free Space Tables contain information on which ASSO and DATA blocks have space available . The advantage of the address converter, a unique Adabas feature, is that it avoids data fragmentation. Adabas does data compression at the field level and it is possible that after an update the record expands and no longer fits in the block where it was located. Without the address converter all index entries would point directly to the block holding the record. As it is impracticable to change the addresses in the index structure to point to a new block, the record has to be split into fragments, the first part remaining in the original block with a pointer to another block containing the rest of the record. This is obviously inefficient as multiple I/Os are necessary to read and write this record. With Adabas the record can be moved entirely to a new block and the entry in the address converter is changed to reflect the new location of the record. Adabas is also unique amongst the RDBMSs in maintaining an up-todate count of the number of occurrences of a each descriptor value. This is often of great importance in being able to optimize complex search operations correctly.
In order to use the Adabas Direct Access Method to retrieve records directly, the file needs to be loaded using the ADAM option and that an unique ADAM key field was specified, In this case the storage location (RABN) for each record is calculated using a hashing routine. The advantage of ADAM is that the records can be retrieved more efficiently because fewer I/Os are necessary.
Warm Restart
When an Adabas nucleus is restarted after a system failure, the nucleus will automatically re-establish logical and physical consistency.