Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ Recolector de Cienci...arrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
Biblos-e Archivo
Bachelor thesis . 2016
Data sources: Biblos-e Archivo
versions View all 2 versions
addClaim

Desarrollo de un gestor de bases de datos NoSQL distribuido

Authors: Manzanares Miguel, David;

Desarrollo de un gestor de bases de datos NoSQL distribuido

Abstract

Esta memoria describe el diseño y desarrollo de un nuevo motor de bases de datos NoSQL distribuido, que hemos llamado Treeless, diseñado y desarrollado por el autor de este trabajo. Este motor tiene como objetivos principales la eficiencia, disponibilidad, escalabilidad y simplicidad. Se ha desarrollado un sistema NoSQL de tipo clave-valor dado que esta clase de sistemas encaja adecuadamente con los requisitos. Dichos requisitos son el fruto de la utilización de nuevas tecnologías como el Big Data y la computación en la nube, y han desplazado a otros requisitos como la consistencia de la información. Para el desarrollo de este trabajo se ha estudiado detalladamente el documento Dynamo: Amazon’s Highly Available Key-value Store. En él se describen las principales técnicas y motivaciones inherentes al motor Dynamo, un motor de BDs de tipo llave-valor con alta disponibilidad. Para el desarrollo de Treeless se ha seguido el modelo de consistencia eventual, con la política Last Writer Wins. Muchas de las técnicas usadas en Treeless difieren de las usadas en Dynamo, pues se han tratado de simplificar algunos mecanismos como el método de reparación asíncrona, entre otros. En esta memoria se analizan las diferencias, ventajas y desventajas de cada uno de ellos. Las principales funcionalidades implementadas en Treeless son: particionado estático basado en funciones hash, rebalanceo automático del sistema, mecanismos de reparación (read-repair y reparación asíncrona), protocolo de heartbeat tipo gossip basado en resúmenes, buffering y operaciones CAS. Se han desarrollado dos algoritmos novedosos, que se describen en esta memoria. El primero trata la coordinación necesaria en la realización de operaciones CAS en un entorno distribuido. El algoritmo no es tolerante a particiones de red, generando resultados incorrectos cuando ocurre esta situación, pero sí es tolerante a fallos permanentes en los nodos. La implementación del algoritmo ha sido validada mediante tests. El segundo es una extensión a las sumas de verificación (checksums), que permite determinar si dos o más réplicas están suficientemente sincronizadas. El concepto de sincronización suficiente, así como el algoritmo creado para tal efecto, se introducirán en el apartado 4.3.1.3. Los resultados han sido satisfactorios, especialmente en cuanto a rendimiento. En este aspecto se han alcanzado valores similares a los obtenidos por Redis.

This Bachelor Thesis describes the development of a new NoSQL database management system, so-called Treeless. The engine targets efficiency, availability, scalability and simplicity. These requirements, products of the Big Data and the Cloud Computing, induce the usage of a key-value system. The previous work Dynamo: Amazon’s Highly Available Key-value Store has been very useful in the analysis, design and development of Treeless. Dynamo developers describe in this paper most techniques and motivations behind its DB engine, a high availability key-value store. We followed the eventual consistency model with the Last Writer Wins policy. However, most techniques present in Treeless differ from the ones used in Dynamo, we have made several simplifications. The advantages and disadvantages of these differences will be analyzed. The fundamental implemented techniques are: static partitioning based on hashing, automatic rebalance, repairing techniques (read-repair and asynchronous repair), gossip protocol based on digests, buffering and CAS (Compare And Swap) operations. Two novel algorithms are proposed. The first one is used to coordinate the system in CAS operations. The algorithm is not partition tolerant. However, it tolerates permanent node failures. The algorithm implementation has been tested. The second one is an extension of checksums that allows us to determine if two or more replicas are synchronized enough. This concept, the algorithm and the implementation are discussed in section 4.3.1.3. We have achieved positive results, especially in the performance section, with similar throughputs to those of mature NoSQL systems like Redis.

Country
Spain
Related Organizations
Keywords

Telecomunicaciones

  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
Powered by OpenAIRE graph
Found an issue? Give us feedback
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
0
Average
Average
Average
Green