27 research outputs found

    Low-overhead distributed transaction coordination

    Get PDF
    Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2012.Cataloged from PDF version of thesis.Includes bibliographical references (p. 167-173).This thesis presents Granola, a transaction coordination infrastructure for building reliable distributed storage applications. Granola provides a strong consistency model, while significantly reducing transaction coordination overhead. Granola supports general atomic operations, enabling it to be used as a platform on which to build various storage systems, e.g., databases or object stores. We introduce specific support for independent transactions, a new type of distributed transaction, that we can serialize with no locking overhead and no aborts due to write conflicts. Granola uses a novel timestamp-based coordination mechanism to serialize distributed transactions, offering lower latency and higher throughput than previous systems that offer strong consistency. Our experiments show that Granola has low overhead, is scalable and has high throughput. We used Granola to deploy an existing single-node database application, creating a distributed database application with minimal code modifications. We run the TPC-C benchmark on this platform, and achieve 3 x the throughput of existing lock-based approaches.by James Cowling.Ph.D

    A New Model for Testing CRUD Operations in a NoSQL Database

    Get PDF
    NoSQL databases provide high availability and efficiency in data processing but at the expense of weaker consistency. In this paper, we propose a new approach in order to test NoSQL key/value databases in general and their CRUD operations in particular. We design a new context-aware model that takes into account the contextual requirements of clients (users) and the NoSQL database system. Accordingly, we develop a transaction model and testing criteria in order to test NoSQL databases by taking into account transactional and nontransactional CRUD operations. Results from testing criteria are used to analyse the trade-off between availability and consistency of NoSQL databases. In addition, these are used to help NoSQL database users and developers to choose between transactional and non-transactional CRUD operations.
    corecore