Logo do repositório
 
Publicação

Efficient middleware for database replication

dc.contributor.advisorPreguiça, Nuno
dc.contributor.authorFerreira, André Abecasis Gomes
dc.date.accessioned2009-03-18T14:31:22Z
dc.date.available2009-03-18T14:31:22Z
dc.date.issued2008
dc.descriptionDissertação de Mestrado em Engenharia Informáticaen
dc.description.abstractDatabase systems are used to store data on the most varied applications, like Web applications, enterprise applications, scientific research, or even personal applications. Given the large use of database in fundamental systems for the users, it is necessary that database systems are efficient e reliable. Additionally, in order for these systems to serve a large number of users, databases must be scalable, to be able to process large numbers of transactions. To achieve this, it is necessary to resort to data replication. In a replicated system, all nodes contain a copy of the database. Then, to guarantee that replicas converge, write operations must be executed on all replicas. The way updates are propagated leads to two different replication strategies. The first is known as asynchronous or optimistic replication, and the updates are propagated asynchronously after the conclusion of an update transaction. The second is known as synchronous or pessimistic replication, where the updates are broadcasted synchronously during the transaction. In pessimistic replication, contrary to the optimistic replication, the replicas remain consistent. This approach simplifies the programming of the applications, since the replication of the data is transparent to the applications. However, this approach presents scalability issues, caused by the number of exchanged messages during synchronization, which forces a delay to the termination of the transaction. This leads the user to experience a much higher latency in the pessimistic approach. On this work is presented the design and implementation of a database replication system, with snapshot isolation semantics, using a synchronous replication approach. The system is composed by a primary replica and a set of secondary replicas that fully replicate the database- The primary replica executes the read-write transactions, while the remaining replicas execute the read-only transactions. After the conclusion of a read-write transaction on the primary replica the updates are propagated to the remaining replicas. This approach is proper to a model where the fraction of read operations is considerably higher than the write operations, allowing the reads load to be distributed over the multiple replicas. To improve the performance of the system, the clients execute some operations speculatively, in order to avoid waiting during the execution of a database operation. Thus, the client may continue its execution while the operation is executed on the database. If the result replied to the client if found to be incorrect, the transaction will be aborted, ensuring the correctness of the execution of the transactions.en
dc.identifier.urihttp://hdl.handle.net/10362/1866
dc.language.isoengen
dc.publisherFCT-UNLen
dc.subjectReplicationen
dc.subjectSpeculative executionen
dc.subjectDatabasesen
dc.subjectMiddlewareen
dc.titleEfficient middleware for database replicationen
dc.typemaster thesis
dspace.entity.typePublication
rcaap.rightsopenAccessen
rcaap.typemasterThesisen

Ficheiros

Principais
A mostrar 1 - 1 de 1
A carregar...
Miniatura
Nome:
Ferreira_2008.pdf
Tamanho:
485.94 KB
Formato:
Adobe Portable Document Format
Licença
A mostrar 1 - 1 de 1
Miniatura indisponível
Nome:
license.txt
Tamanho:
431 B
Formato:
Item-specific license agreed upon to submission
Descrição: