Posts

Showing posts from February, 2015

Commit Protocol

Image
Commit Protocols: They are used to design systems that exhibit a well defined behaviors in the event of a failure. These systems may or may not perform the specified function during failures, but they may facilitate actions suitable for recovery. We can summarize it as;      Commit protocols are used to ensure atomicity across sites       a transaction which executes at multiple sites must either be committed at all the sites, or aborted at all the sites.      not acceptable to have a transaction committed at one site and aborted at another The two-phase commit (2 PC ) protocol is widely used The three-phase commit (3 PC ) protocol is more complicated and more expensive, but avoids some drawbacks of two-phase commit protocol. There are two kinds of commit protocols : Two-Phase Commit protocol   - a blocking protocol Three-Phase Commit protocol   - a non-blocking protocol Two-Phase Commit Protocol In ...

Statistical database

A  statistical database  is a database used for statistical analysis purposes. It is an OLAP (online analytical processing), instead of OLTP (online transaction processing) system. Modern decision, and classical statistical databases are often closer to the relational model than the multidimensional model commonly used in OLAP systems today. Statistical databases typically contain parameter data and the measured data for these parameters. For example, parameter data consists of the different values for varying conditions in an experiment (e.g., temperature, time). The measured data (or variables) are the measurements taken in the experiment under these varying conditions. Many statistical databases are sparse with many null or zero values. It is not uncommon for a statistical database to be 40% to 50% sparse. There are two options for dealing with the sparseness: (1) leave the null values in there and u...

Isolation levels

Of the four   ACID   properties in a   DBMS   (Database Management System), the isolation property is the one most often relaxed. When attempting to maintain the highest level of isolation, a DBMS usually acquires   locks   on data or implements   multiversion concurrency control , which may result in a loss of   concurrency . This requires adding logic for the application   to function correctly. Most DBMSs offer a number of   transaction isolation levels , which control the degree of locking that occurs when selecting data. For many database applications, the majority of database transactions can be constructed to avoid requiring high isolation levels (e.g. SERIALIZABLE level), thus reducing the locking overhead for the system. The programmer must carefully analyze database access code to ensure that any relaxation of isolation does not cause software bugs that are difficult to find. Conversely, if higher isolation levels are used, ...