04.07.2013 Views

Thèse de doctorat: Algorithmes de classification répartis sur le cloud

Thèse de doctorat: Algorithmes de classification répartis sur le cloud

Thèse de doctorat: Algorithmes de classification répartis sur le cloud

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

tel-00744768, version 1 - 23 Oct 2012<br />

30 CHAPTER 2. PRESENTATION OF CLOUD COMPUTING<br />

2.4.1 Relational storage and ACID properties<br />

Relational databases are structured through the relations between data entities.<br />

They are inspired by relational algebra and tup<strong>le</strong> calculus theories, whi<strong>le</strong> they do<br />

not respect all of their constraints. Relational databases are well un<strong>de</strong>rstood and<br />

offer great guarantees for reliably storing and retrieving data in a robust manner.<br />

In addition to these guarantees, the relational mo<strong>de</strong>l proved to be well-suited to<br />

express real-world business data inter<strong>de</strong>pen<strong>de</strong>ncies. RDBMS are therefore wi<strong>de</strong>ly<br />

used in business applications.<br />

A Structured Query Language (SQL) is provi<strong>de</strong>d together with the RDBMS to<br />

make the use of data easier. SQL is a <strong>de</strong>clarative programming language (with<br />

some procedural e<strong>le</strong>ments) inten<strong>de</strong>d to manage data queries. Declarative languages<br />

express what computations should return rather than explicitly <strong>de</strong>fining<br />

how the computations should be done. In the case of relational storages, queries<br />

are expressed in SQL to <strong>de</strong>fine requests to the <strong>de</strong>sired data, whi<strong>le</strong> the un<strong>de</strong>rlying<br />

RDBMS performs the actual operations to answer the requests. Listing 2.1 gives<br />

an examp<strong>le</strong> of a SQL query.<br />

Listing 2.1: a SQL query samp<strong>le</strong><br />

SELECT T1 . v a r i a b l e 1 , T1 . v a r i a b l e 2<br />

FROM Tab<strong>le</strong>1 T1 , Tab<strong>le</strong>2 T2<br />

WHERE T1 . v a r i a b l e 1 = T2 . v a r i a b l e 3<br />

ORDER BY T1 . name<br />

A sing<strong>le</strong> “business” operation applied on data stored in a database is cal<strong>le</strong>d a<br />

transaction. A sing<strong>le</strong> transaction can affect several pieces of data at once. The<br />

guarantees provi<strong>de</strong>d by RDBMS can be un<strong>de</strong>rstood by observing how transactions<br />

are applied on the database. The following paragraphs introduce the main<br />

relational storage guarantees by <strong>de</strong>scribing how they are translated in terms of<br />

transactions management.<br />

– Consistency is a property related to the way data are modified during transactions.<br />

There are multip<strong>le</strong> <strong>de</strong>finitions of consistency, resulting in different<br />

consistency <strong>le</strong>vels and <strong>de</strong>pending on whether the storage is distributed or not.<br />

Initially, consistency was a property that guaranteed that some user-specified<br />

invariants on data were never broken. For examp<strong>le</strong>, such an invariant could<br />

consist in having the sum of some variab<strong>le</strong>s equal the sum of other variab<strong>le</strong>s.<br />

With the rise of distributed storages, the <strong>de</strong>finitions of consistency have been<br />

multiplied, and consistent distributed storage (also cal<strong>le</strong>d strongly consistent<br />

storages) often refers to the fact that each update is applied to all the re<strong>le</strong>vant

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!