STDB Library
Understanding
Free Software
Downloading
Installing
Documentation
|
|
THE BASIS
Simple transactional database (STDB) is based on transactions. Transactions are always
transmitted entirely; if not, they are rejected. So, we can assure the database integrity in blocks of
transactions, because all of them must be "commited". Originally, STDB works into memory all the time until
we call to "Commit", and entries are automatically ordered by name. When executing a "commit", we order the
database to save all movements since the last transaction to an intermediate file, called the LOG file.
The LOG file is designed as an intermediate buffer to store transactions until we call to Reorganize
(or STDB calls it when necessary). This function rebuilds the entire database, updated with all these
movements stored at the LOG file. Reorganize always does backup of the last known coherent DB file, so
we can always restore it if problems occur.
If something goes wrong, there's always a copy of the LOG file and the last correct DB file.
However, we cannot assure ALL your data will be saved. Only those movements passed into transactions have some
warranty, and if the LOG file crashes, only full transactions will be saved. The idea is based on STDB ability
to maintain our database integrity: maybe not all movements are stored, but those into the database are correct
for sure.
The user may find much more detailed information into the Documentation section. There you will find the reference to
this library and all his functions.
APPLICATIONS - PROS AND CONS
STDB is initially designed to manage pairs key/value, so you could apply this engine in a vast range
of solutions. However, due it's programmed in C++, the user could easily adapt the software to many other applications.
Imagine some kind of embedded device transmitting data like Position-Temperature or Position-Pressure. This kind of
data is elligible to be monitored and managed through a STDB database.
The most illustrative example, though, is the bank transaction. Imagine there is a Name Account and
a Value representing the money associated to this account. If the operation was not transactional, it could be
possible to pass an Account and loss the corresponding value. Problem. We must be sure data has been
transmitted entirely, because it doesn't have sense separately.
The cons: not always is possible to maintain the coherence, due to hardware and operating system
limitations. Furthermore, this library is not designed as a high secure transactional database engine (sure it exists
and is very very expensive). STDB is just a Simple transactional database, aimed to fit simple applications, such
on embedded systems, including an acceptable level of redundancy.
Web site and all contents © Copyright EUSS 2005, All rights reserved.
Free website templates
|
|