Within Sentences, data is created, changed and deleted solely by the addition of new items and links.

  In normal day-to-day operation (ie. outside of archiving and reorganisation) no data is ever deleted, and no data is ever updated in place.

A transaction is committed to the database by the atomic action of adding the link between the transaction and its timestamp, which is called the commit link, labelled "effective" in the diagram.

Every item and link ("things") in the database has a link to the transaction that created it. The database has a visibility layer which dictates that:

  • Any transaction whose commit link has not been committed is invisible;

  • Any thing created by a transaction that is not visible is itself not visible;

  • Any thing deleted by a transaction that is not visible is itself visible.

 

Database transactions are required to be ACID: atomic, consistent, isolated and durable. Atomicity and isolation are functions of the the mechanism by which the database effects transactions:

  • Atomicity requires that a transaction must execute only in its entirety, not in part. Atomicity is preserved under the associative model because, no matter how many things a transaction has added to the database, none of them is visible until its commit link is written: an atomic action that either succeeds or fails.

  • Isolation requires that transactions must execute independently of any other transactions that may be executing concurrently. Similarly, the atomic commit point in conjunction with the visibility layer ensures that no pending transaction may ever see any part of any other pending transaction.

 

 

 

 
           
 
 
  Copyright © 2011 - 2015 Lazysoft Ltd.  All Rights Reserved.