9 research outputs found

    A database management capability for Ada

    Get PDF
    The data requirements of mission critical defense systems have been increasing dramatically. Command and control, intelligence, logistics, and even weapons systems are being required to integrate, process, and share ever increasing volumes of information. To meet this need, systems are now being specified that incorporate data base management subsystems for handling storage and retrieval of information. It is expected that a large number of the next generation of mission critical systems will contain embedded data base management systems. Since the use of Ada has been mandated for most of these systems, it is important to address the issues of providing data base management capabilities that can be closely coupled with Ada. A comprehensive distributed data base management project has been investigated. The key deliverables of this project are three closely related prototype systems implemented in Ada. These three systems are discussed

    Modular Synchronization in Multiversion Databases: Version Control and Concurrency Control

    Get PDF
    In this paper we propose a version control mechanism that enhances the modularity and extensibility of multiversion concurrency control algorithms. We decouple the multiversion algorithms into two components: version control and concurrency control. This permits modular development of multiversion protocols, and simplifies the task of proving the correctness of these protocols. An interesting feature of our framework is that the execution of read-only transactions becomes completely independent of the underlying concurrency control implementation. Also, algorithms with the version control mechanism have several advantages over most other multiversion algorithms

    Program Analysis and Compilation Techniques for Speeding up Transactional Database Workloads

    Get PDF
    There is a trend towards increased specialization of data management software for performance reasons. The improved performance not only leads to a more efficient usage of the underlying hardware and cuts the operation costs of the system, but also is a game-changing competitive advantage for many emerging application domains such as high-frequency algorithmic trading, clickstream analysis, infrastructure monitoring, fraud detection, and online advertising to name a few. In this thesis, we study the automatic specialization and optimization of database application programs -- sequences of queries and updates, augmented with control flow constructs as they appear in database scripts, user-defined functions (UDFs), transactional workloads and triggers in languages such as PL/SQL. We propose to build online transaction processing (OLTP) systems around a modern compiler infrastructure. We show how to build an optimizing compiler for transaction programs using generative programming and state-of-the-art compiler technology, and present techniques for aggressive code inlining, fusion, deforestation, and data structure specialization in the domain of relational transaction programs. We also identify and explore the key optimizations that can be applied in this domain. In addition, we study the advantage of using program dependency analysis and restructuring to enable the concurrency control algorithms to achieve higher performance. Traditionally, optimistic concurrency control algorithms, such as optimistic Multi-Version Concurrency Control (MVCC), avoid blocking concurrent transactions at the cost of having a validation phase. Upon failure in the validation phase, the transaction is usually aborted and restarted from scratch. The "abort and restart" approach becomes a performance bottleneck for use cases with high contention objects or long running transactions. In addition, restarting from scratch creates a negative feedback loop in the system, because the system incurs additional overhead that may create even more conflicts. However, using the dependency information inside the transaction programs, we propose a novel transaction repair approach for in-memory databases. This low overhead approach summarizes the transaction programs in the form of a dependency graph. The dependency graph also contains the constructs used in the validation phase of the MVCC algorithm. Then, when encountering conflicts among transactions, our mechanism quickly detects the conflict locations in the program and partially re-executes the conflicting transactions. This approach maximizes the reuse of the computations done in the first execution round and increases the transaction processing throughput. We evaluate the proposed ideas and techniques in the thesis on some popular benchmarks such as TPC-C and modified versions of TPC-H and TPC-E, as well as other micro-benchmarks. We show that applying these techniques leads to 2x-100x performance improvement in many use cases. Besides, by selectively disabling some of the optimizations in the compiler, we derive a clinical and precise way of obtaining insight into their individual performance contributions

    Transaktionen in föderierten Datenbanksystemen unter eingeschränkten Isolation Levels

    Get PDF
    Atomarität und Isolation von Transaktionen sind Schlüsseleigenschaften fortgeschrittener Anwendungen in föderierten Systemen, die aus verteilten, heterogenen Komponenten bestehen. Während Atomarität von praktisch allen realen Systemen durch das Zweiphasen- Commitprotokoll gewährleistet wird, unterstützt kein System eine explizite föderierte Concurrency Control. In der Literatur wurden zwar zahlreiche Lösungsansätze vorgeschlagen, doch sie haben wenig Einfluss auf Produkte genommen, weil sie die weitverbreiteten Isolation Levels nicht berücksichtigen, die Applikationen Optimierungsmöglichkeiten auf Kosten einer eingeschränkten Kontrolle über die Konsistenz der Daten erlauben. Diese Arbeit vergleicht zunächst existierende Definitionen für Isolation Levels und entwickelt eine neuartige, formale Charakterisierung für Snapshot Isolation, dem Isolation Level des Marktführers Oracle. Anschließend werden Algorithmen zur föderierten Concurrency Control vorgestellt, die beweisbar auch unter lokaler Snapshot Isolation die korrekte Ausführung föderierter Transaktionen gewährleisten, und Isolation Levels für föderierte Transaktionen diskutiert. Die Algorithmen sind in ein prototypisches föderiertes System integriert. Performancemessungen an diesem Prototyp zeigen ihre praktische Einsetzbarkeit.Atomicity and isolation of transactions are key requirements of advanced applications in federated systems consisting of distributed and heterogeneous components. While all existing federated systems support atomicity using the two-phase commit protocol, they lack support for federated concurrency control. Many possible solutions have been proposed in the literature, but they failed to make impact on real systems because they completely ignored the widely used concept of isolation levels, which offer optimization options to applications at the cost of less rigorous control over data consistency. This thesis compares existing definitions for isolation levels and develops a new characterization for Snapshot Isolation, an isolation level provided by Oracle, the market leader in the database field. We present algorithms for federated concurrency control that provably guarantee the correct execution of federated transactions even under local Snapshot Isolation, and discuss isolation levels for federated transactions. The algorithms are integrated into a federated system prototype. Performance measurements with this prototype show the practical viability of the developed methods

    Transaktionen in föderierten Datenbanksystemen unter eingeschränkten Isolation Levels

    Get PDF
    Atomarität und Isolation von Transaktionen sind Schlüsseleigenschaften fortgeschrittener Anwendungen in föderierten Systemen, die aus verteilten, heterogenen Komponenten bestehen. Während Atomarität von praktisch allen realen Systemen durch das Zweiphasen- Commitprotokoll gewährleistet wird, unterstützt kein System eine explizite föderierte Concurrency Control. In der Literatur wurden zwar zahlreiche Lösungsansätze vorgeschlagen, doch sie haben wenig Einfluss auf Produkte genommen, weil sie die weitverbreiteten Isolation Levels nicht berücksichtigen, die Applikationen Optimierungsmöglichkeiten auf Kosten einer eingeschränkten Kontrolle über die Konsistenz der Daten erlauben. Diese Arbeit vergleicht zunächst existierende Definitionen für Isolation Levels und entwickelt eine neuartige, formale Charakterisierung für Snapshot Isolation, dem Isolation Level des Marktführers Oracle. Anschließend werden Algorithmen zur föderierten Concurrency Control vorgestellt, die beweisbar auch unter lokaler Snapshot Isolation die korrekte Ausführung föderierter Transaktionen gewährleisten, und Isolation Levels für föderierte Transaktionen diskutiert. Die Algorithmen sind in ein prototypisches föderiertes System integriert. Performancemessungen an diesem Prototyp zeigen ihre praktische Einsetzbarkeit.Atomicity and isolation of transactions are key requirements of advanced applications in federated systems consisting of distributed and heterogeneous components. While all existing federated systems support atomicity using the two-phase commit protocol, they lack support for federated concurrency control. Many possible solutions have been proposed in the literature, but they failed to make impact on real systems because they completely ignored the widely used concept of isolation levels, which offer optimization options to applications at the cost of less rigorous control over data consistency. This thesis compares existing definitions for isolation levels and develops a new characterization for Snapshot Isolation, an isolation level provided by Oracle, the market leader in the database field. We present algorithms for federated concurrency control that provably guarantee the correct execution of federated transactions even under local Snapshot Isolation, and discuss isolation levels for federated transactions. The algorithms are integrated into a federated system prototype. Performance measurements with this prototype show the practical viability of the developed methods

    First International Conference on Ada (R) Programming Language Applications for the NASA Space Station, volume 2

    Get PDF
    Topics discussed include: reusability; mission critical issues; run time; expert systems; language issues; life cycle issues; software tools; and computers for Ada

    An Introduction to Database Systems

    Get PDF
    This textbook introduces the basic concepts of database systems. These concepts are presented through numerous examples in modeling and design. The material in this book is geared to an introductory course in database systems offered at the junior or senior level of Computer Science. It could also be used in a first year graduate course in database systems, focusing on a selection of the advanced topics in the latter chapters
    corecore