<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
  <dc:contributor>Pedone, Fernando</dc:contributor>
  <dc:creator>Narváez, Vaide</dc:creator>
  <dc:date>2009-05-06</dc:date>
  <dc:description xmlns:ns0="xml" ns0:lang="en">Performance and high-availability are the crucial factors in the  development of nowadays distributed database systems. Both of these  challenges are commonly addressed by means of the same technique,  database replication. The overall throughput of the system is increased  by leveraging parallel computation on different sites, and in case of  replica failures, availability is improved by redirecting requests to  operational replicas. However, providing transparent database  replication is not an easy task. Although database replicas should be as  independent of each other as possible for performance and availability  reasons, some synchronization is required to provide data consistency.  This thesis is about non-intrusive (or middleware) database replication  protocols. More specifically, this thesis focuses on the development of  practical replication protocols that use off-the-shelf database engines,  take advantage of group communication primitives, cope with failures of  system components, behave correctly, and, by exploiting the specific  characteristics of the application, achieve high performance. In the first  part of this thesis we address the following problem: non-intrusive  database replication protocols cannot obtain fine-grained information  about transactions due to limited access to the database engine  internals. We make three contributions in this part. The first contribution  is the Multiversion Database State Machine, a middleware extension of  the Database State Machine, a kernel-based replication approach. The  Multiversion Database State Machine assumes predefined,  parameterized transactions. The particular data items accessed by a  transaction depend on the transaction's type and the parameters  provided by the application program when the transaction is instantiated.  The second contribution of this thesis is a technique to bypass the  extraction and propagation of readsets and writesets in non-intrusive  replication protocols. We present the SQL Inspector, a tool capable to  automatically identify conflicting transactions before their actual  execution by partially parsing them. The performance of the Multiversion  Database State Machine can be further improved if transactions execute  at carefully chosen database sites. Thus, the third contribution of this  thesis is the conflict-aware load-balancing techniques. To keep the  abort rate low despite the coarse granularity of non-intrusive replication  protocols, conflict-aware load-balancing techniques attempt to reduce  the number of conflicting transactions executing on distinct database  sites and seek to increase the parallelism among replicas. In the second  part of this thesis we investigate correctness criteria for replicated  databases from the client's perspective. We study the performance cost  of ensuring stronger consistency degrees in the context of three  middleware replication protocols: primary-backup, optimistic update- everywhere and BaseCON, a non-intrusive replication protocol that  takes advantage of workload characterization techniques to increase  the parallelism in the system. BaseCON makes use of total-order  broadcast primitives to provide strong consistency and fault-tolerance.  A lightweight scheduler interposed between clients and the database  replicas allows the system to adapt easily to the correctness criterion  required and serves as a load-balancer for read-only transactions. In  the last part of this thesis we address the problem of partial replication.  In particular, we investigate the effects of distributed transactions on  the abort rate of such systems. Our contribution in this area is a  probabilistic model of transaction abort rates for two different  concurrency control mechanisms: lock- and version-based. The former  models the behavior of a replication protocol providing one-copy  serializability; the latter models snapshot isolation.</dc:description>
  <dc:format>application/pdf</dc:format>
  <dc:identifier>https://susi.usi.ch/global/documents/318141</dc:identifier>
  <dc:identifier>https://localhost:5000/ark:/12658/srd1318141</dc:identifier>
  <dc:identifier>https://susi.usi.ch/documents/318141/files/2009INFO002.pdf</dc:identifier>
  <dc:language>eng</dc:language>
  <dc:relation>info:eu-repo/semantics/altIdentifier/urn/urn:nbn:ch:rero-006-108071</dc:relation>
  <dc:relation>info:eu-repo/semantics/altIdentifier/ark/12658/srd1318141</dc:relation>
  <dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
  <dc:rights>License undefined</dc:rights>
  <dc:subject xmlns:ns1="xml" ns1:lang="en">Distributed systems</dc:subject>
  <dc:subject xmlns:ns2="xml" ns2:lang="en">Database replication</dc:subject>
  <dc:subject xmlns:ns3="xml" ns3:lang="en">Middleware</dc:subject>
  <dc:subject xmlns:ns4="xml" ns4:lang="en">Load-balancing</dc:subject>
  <dc:subject xmlns:ns5="xml" ns5:lang="en">Conflict-aware</dc:subject>
  <dc:subject xmlns:ns6="xml" ns6:lang="en">High-availability</dc:subject>
  <dc:subject xmlns:ns7="xml" ns7:lang="en">Fault tolerance</dc:subject>
  <dc:subject xmlns:ns8="xml" ns8:lang="en">Serializability</dc:subject>
  <dc:subject xmlns:ns9="xml" ns9:lang="en">Partial 
replication</dc:subject>
  <dc:subject>info:eu-repo/classification/udc/004</dc:subject>
  <dc:title xmlns:ns10="xml" ns10:lang="en">On non-intrusive workload-aware database replication</dc:title>
  <dc:type>http://purl.org/coar/resource_type/c_db06</dc:type>
</oai_dc:dc>
