Welcome!          Run-Time Systems

 to main


            DNA - technology for physical organization of data in RDBMS

 

     Relational (and not only) database management systems must satisfy two main criteria: to be compact and fast.

The most compact data storage is sequential unsorted file, but such data organization significantly reduces the speed

of data access. To increase access speed, additional structures were introduced - indexes, thereby increasing the volume

stored data and additional time spent on sorting.

 

   A completely different approach to the physical organization of data is proposed - without indexes, divided into blocks and

levels. At level 0 the data itself is stored, at levels 1 and above, data characterizing the data on lower level.

How to achieve such unambiguity? Everything is very simple. Just two entries are enough in blocks 1 and above.

One record displays the minimum ( min ) values ​​for all columns of the block records, the second is the maximum ( max ) values ​​for all columns of the block’s records. This way we get rid of unnecessary indexes and there is no need to sort them. Each column of the table is key. Thereby the data sampling speed increases. The more complex the query, the faster the sampling will occur. Additionally, it becomes possible to compress data blocks that have the same number records in the block and the same block size, i.e. improve compactness and secrecy (for encryption) data storage.

 

   The following is fundamentally important: each table must have a service column in which the operating

the system enters the date and time of creation (change) of the record, which ultimately leads to the fact that the database never there will be no identical entries.

 

   The table below explains what is said above.

Level 0

Level 1 

Level 2

Level 3

Record 1

 

Block 1-1

Record  1-1min

 

Record 1-1max

 

 

 

Block 2-1

 

 

Record 2-1min

 

Record 2-1max

 

 

 

 

 

 

 

 

Block  3-1

 

 

 

 

 

 

 

Record 3-1min

 

Record 3-1max

Record 2N

Record 1

 

Block 1-N

Record 1-Nmin

 

Record 1-Nmax

Record 2N

Record 1

 

Block 1-1

Record   1-1min

 

Record 1-1max

 

 

 

Block  2-N

 

 

Record 2-Nmin

 

Record 2-Nmax

Record 2N

Record 1

 

Block 1-N

Record 1-Nmin

 

Record 1-Nmax

Record 2N

 

     Databases can be single (for views) and multi-table, and tables in multi-table databases

multidimensional when using TABLE data type (table within a table).

 

   It is not difficult to organize storage of arrays in table columns. 

 

   It becomes very easy to work with distributed databases located on different computers with different

operating systems - it is enough to have access to the file with the ability to write and read the file. 

 

   In connection with the above, two questions arise:

  1. Is SQL relevant in its current form (indexes are not needed)?

  2. Are the postulates of relational algebra correct with such data organization?

   

   The ideas outlined above are practically implemented in the C language in the Start-RTS+ RDBMS, a cross-platform system

management of relational databases intended for use in applications (programs),

working without any code changes for 64-bit operating systems MX - Linux and Windows .

 

   This is a system in which the use of indexes is not required, and yet the speed of information retrieval is

much higher than in other RDBMSs. When the query becomes more complex (for more columns), the speed

sampling is only increasing.

 

   The data is always stored in one file. It can be many tables - one file - multi-table database (1)

or one table (external) - one file - single-table database (2). So constant data

are stored in databases of type (1), derivatives obtained after performing relational operations can be stored

in databases of type (2) as temporary and in the future, as unnecessary, simply delete these databases without changing databases of type (1).

 

   Tables in databases can be uncompressed or compressed.

When setting compression, the amount of disk space for storing data is reduced many times (as when using the best archivers). In this case, of course, the speed decreases slightly samples. Compression also allows data to be classified.

 

    High-speed sorting when retrieving data can be set for all columns of the table. Provided storing an array of the same

type of data in one column and end-to-end search taking into account the array data values.

 RDBMS Start-RTS+ works simultaneously with multiple databases of different structures, which allows you to organize

exchange of data between them. Parallel (distributed) processing of identical databases is possible

structures located on different machines, linearly increasing system performance.

 

   Currently, the following relational operations are implemented in the Start-RTS+ RDBMS:

Create base...

Creates a database (external table) of data of a given structure

Connect base...

Connects a previously created database.

Disconnect base..

Disconnects a previously connected database.

Connect table...

Connects a previously created external table.

Disconnect table...

Disconnects a previously connected external table.

Insert rows into base...

Inserts constants, variable values, data from a file or buffer into table records according to specified criteria.

Update rows into base...

Replaces records in tables based on specified criteria.

Delete rows from base...

Deletes records from tables based on specified criteria.

Select rows from base...

Selects and sorts table records according to specified criteria.

inex

Language phrase for specifying the list of selectable columns.

where

A language phrase for specifying sampling criteria.

sorting

Language phrase for specifying sorting criteria.

Based on Start - RTS +, an applied technological system Smeta-RTS has been developed for calculating estimates in the area  construction with the regulatory frameworks of the regions of Russia.


e-mail:rts@rtsrts.com


Copyright (C)RTsRTs 2000-2024