|
|
|
| Belarus.NET > Belarus Information Network |


The arrows show the LeoBase link direction, but indices allow to carry out tranformation both to the right and to the left, from one record set to another.
An approximate dependence of search speed on record quantity and query complexity to search (term number) is shown on the figure below:

To start work with snapshots mechanism, one should create a system journal. The filling in of system journal is organized cyclically while working with database complex. The journal consists of seversl sections of equal size. The recording into sections is done sequentially. When there are no free sections, the data of first section are annulated, then the same is done with the second one and so on. The number of sections and the size of each one are important features. Let's regard such an analogy. There's a picture album with photos from various countries.The number of photos which can be placed there is restricted by its volume. When the album is overfilled, the oldest pictures are taken away and they are replaced by new ones. If the travels takes place quite often, the album is filled and renewed pretty fast. Thus, maximal photo age is defined by album thickness and travels frequency to other countries.
The same situation takes place in system journal. The oldest database state which can be viewed (by activating corresponding snapshot) depends on journal size, database change frequency and on sections count (because, if necessary, the section is annulled completely).
There are no other special ways to define the system journal size --
it's just an empirical process depending on database size, the dynamics
of its changing and so on. Let's mark up the following: the active snapshot
fixing occurs at rather long operations as report generating or very complex
search. That's why if there's an overfilling of journal (the section current
in work is annuled), journal renewal will not be carried out before the
end of operation. Consequently, the server will block all the modifying
operations for this time. 
We'll explain the system journal work. There's a system journal consisting of four sections.
On step 1 the system journal is empty. On step 2 is has three sections
filled and in the end of first section a snapshot is set; the large report
is generated with using this snapshot. On the third step the system journal
is overfilled. At this moment the data of first section must be annuled.

However, the report is generated using the snapshot which is fixed with LeoBase kernel. That's why server stops filling the system journal, blocks all system transactions until snapshot removal (end of report generation).
There are two ways out off the situation: either to increase the system journal overall volume, or to split it into larger number of sections with the same volume.
If the number of sections equals 5, there will be a chance the set snapshot
is not in the first but in the second section. In this case blocking will
take place only at the next filling of first section in and at jump to
the second one. This gives additional time during which report generation
may be completed.
However,
switching between sections takes some time. The main designer's task is
to find a balance between number of sections and working speed.
Let's explain the purpose of this system by the following example.
Company N created the large volume information search system. The changing and filling the database in takes place continuously, and users who bought this product must get new version base in proper time. There are two ways of solving the problem. THe first is to send full copy of new base to all users. If the total volume compared to changes is rather large, it may cause substantial expenses. The second way is to send just new and changed information. No doubt, it's much more efficient. The realization of the second variant is the purpose of UPGRADE system in LeoBase.
UPGRADE execution is splitted in two phases. Phase 1 is realized on a host computer where the latest variant of database is kept. As the result of this phase, there is UPGRADE file containing all changes and editions which took place since the given time. Phase is carried out on user's computer which performs the database contents actualization using the information from UPGRADE file.
The necessary condition of successful phase 1 work is providing a changes journal on host. The UPGRADE file can be of two formats: Fast and Compact. In the first case the file is formed relatively faster but its size is larger than in the second case. Compact format requires necessary presence of system journal, and the size of acquired UPGRADE file is minimal. The main difference between two formats is that in Fast format the whole modified records are placed into UPGRADE file, and in Compact only really changed fields are present. It has nothing to do with MEMO fields which in both cases are put into UPGRADE file only if there's such a necessity (i.e. it doesn't refer to record contents itself).
The concept of system and UPGRADE time in LeoBase have great meaning for renewal and coordinational operations. The UPGRADE time is used to synchronizing the database contents on host and user. The system time serves as start countdown for phase 1 execution on host.
!!! - go to the RUSSIAN VERSION
Click Here
to Return Back
Webmasters,
contact Belarus.net support
Click Here
to visit Belarus.net
Recommended websites: Free shopping cart software | Pubmed web analytics software | Hair loss consumer information | Hair cloning information |