Michael J. Carey 0001

dblp:31/3455 · DBLP profile ↗
← Back
159ranked-venue papers in the field
41as first author
21since 2021 · last 2026
0000-0003-1561-4059ORCID · verified

Domains — venue-derived; a paper can count in several

Database Systems & Data Management · 147 (40 first)Big Data, Cloud & Distributed Data Systems · 10Information Retrieval & Web Search · 1Business Process & Enterprise Data · 1 (1 first)
YearPublicationVenuePosition
2026 Activating big data: Optimizing subscription-driven analytics
Shahrzad Haji Amin Shirazi, Xikui Wang, Michael J. Carey 0001, Vassilis J. Tsotras
Inf. Syst.3
2026 Sample-based Distinct Cardinality Estimation for Multiple Attributes in Multi-Dataset Queries
Mehnaz Tabassum Mahin, Michael J. Carey 0001, Vassilis J. Tsotras
Proc. VLDB Endow.2
2025 Optimizing Big Active Data Management Systems
Shahrzad Haji Amin Shirazi, Xikui Wang, Michael J. Carey 0001, Vassilis J. Tsotras
DOLAP3
2025 A Brief Introduction to Geospatial Big Data Analytics with Apache Asterixdb
abstract
The potential of geospatial data is vast, and its value increases when combined with temporal, textual, or other nonspatial features. However, managing and analyzing geospatial data at scale is inherently challenging due to the computational and storage requirements, especially when additional optimization is required for combined features. While there are numerous solutions for big spatial data management, many struggle to support non-spatial operations effectively, with limited options in the open-source space that excel at handling both spatial and non-spatial queries comprehensively. This seminar explores scalable geospatial data management and analytics, focusing on approaches and techniques that address these challenges. Participants will gain hands-on experience in processing complex queries involving spatial, temporal, and textual features using a real-world Big Data Management System. Through practical examples and exercises, attendees will learn how to tackle the complexities of scalable geospatial analytics in modern data systems.
Suryaa Charan Shivakumar, Ian Maxon, Ahmed Eldawy, Michael J. Carey 0001, Vassilis J. Tsotras
MDM4
2025 Towards Principled, Practical Document Database Design
abstract
Relational database design is a well-understood process enabled by a combination of database theory (e.g., normal forms) as well as conceptual modeling (e.g., ER-based design). In contrast, database design for NoSQL databases, notably document databases, is often approached in a much more ad hoc manner. It is frequently driven by application details and physical considerations that muddy the design process in ways all too reminiscent of the pre-relational database era. In this paper, we argue for a return to sanity - for a logical, data-first, conceptually grounded approach to document database design. We explain how such an approach can work, yielding a clean, query-friendly document database design. We also highlight a collection of document (JSON) anti-patterns to avoid. The process and the anti-patterns both stem from the authors' experiences in current and past lives when dealing with a wide variety of JSON document data from commercial applications, government applications, and university research applications.
Michael J. Carey 0001, Wail Y. Alkowaileet, Nick Digeronimo, Peeyush Gupta, Sachin Smotra, Till Westmann
Proc. VLDB Endow.1
2025 Cloudy With a Chance of JSON
abstract
Couchbase Capella is a scalable document-oriented database service in the cloud. Its existing Capella Operational service is based on a shared-nothing architecture and supports high volumes of low-latency queries and updates for JSON documents. Its new Capella Columnar cloud service complements the Operational service. The Capella Columnar service supports complex analytical queries (e.g., ad hoc joins and aggregations) over large collections of JSON documents that can originate from a variety of Couchbase and non-Couchbase data sources and formats and can either be stored and managed by the Capella Columnar service or externally stored and accessed on demand at query time. This paper describes the new Capella Columnar service, looking both over and under the hood.
Murtadha Al Hubail, Ali Alsuliman, Wail Y. Alkowaileet, Michael Blow, Michael J. Carey 0001, Savyasach Enukonda, Peeyush Gupta, Santosh Hegde, Kamini Jagtiani, Abhishek Jindal, Nawazish Kahn, Mehnaz Tabassum Mahin, Ian Maxon, M. Muralikrishna, Keshav Murthy, Preetham Poluparthi, Ankit Prabhu, Ritik Raj, Vijay Sarathy, Shahrzad Shirazi, Utsav Singh, Hussain Towaileb, Ayush Tripathi, Janhavi Tripurwar, Bo-Chun Wang, Till Westmann
Proc. VLDB Endow.5
2024 SQL++: We Can Finally Relax!
abstract
SQL is five decades old and has outlasted many programming and query languages that have come and gone during its lifetime. It was born shortly after the introduction of the relational model, and was designed for querying a flat and typed tabular world. Support for modern, flexible data in the SQL standard and in relational database systems has largely been approached via the addition of new column types (e.g. XML or JSON) together with functions to operate on them. It is time for a cleaner solution that retains the benefits that have allowed SQL to be so successful for so long. We describe SQL++, a SQL extension that relaxes SQL's strictness in terms of both object structure (flat → nested) and schema (mandatory → optional), along with a multi-party effort to agree on a core definition and syntax supportable by multiple vendors. SQL++ sees relational data as a subset of a more flexible object model and it sees collections of document data (e.g., JSON) as a natural and supportable relaxation as opposed to a “bolt on” addition via a SQL column type. We describe the core features of SQL++ and explain how its definition can accommodate flexible data, while staying true to SQL in situations where the target data is tabular and strongly typed. Index Terms-semistructured data, query, JSON, SQL, NoSQL
Michael J. Carey 0001, Donald D. Chamberlin, Almann Goo, Kian Win Ong, Yannis Papakonstantinou, Chris Suver, Sitaram Vemulapalli, Till Westmann
ICDE1
2024 Graphix: "One User's JSON is Another User's Graph"
abstract
The increasing prevalence of large graph data has produced a variety of research and applications tailored toward graph data management. Users aiming to perform graph analytics will typically start by importing existing data into a separate graph-purposed storage engine. The cost of maintaining a separate system (e.g., the data copy, the associated queries, etc …) just for graph analytics may be prohibitive for users with Big Data. In this paper, we introduce Graphix and show how it enables property graph views of existing document data in AsterixDB, a Big Data management system boasting a partitioned-parallel query execution engine. We explain a) the graph view user model of Graphix, b)$\text{gSQL}^{++}$, a novel query language extension for synergistic document-based navigational pattern matching, and c) how edge hops are evaluated in a parallel fashion. We then compare queries authored in$\text{gSQL}^{++}$against versions in other leading query languages. Finally, we evaluate our approach against a leading native graph database, Neo4j, and show that Graphix is appropriate for operational and analytical workloads, especially at scale.
Glenn Galvizo, Michael J. Carey 0001
ICDE2
2024 FUDJ: Flexible User-Defined Distributed Joins
abstract
Join operations are crucial in data analysis, but can suffer inefficiency with large datasets and complex non-equality-based conditions. Optimized join algorithms have gained traction in database research to address these challenges. One popular choice for implementing join algorithms is distributed data processing frameworks, e.g., Hadoop and Spark, but each implementation is highly tailored for specific query types. As a result, they do not address join queries that involve diverse and complex conditions since they are not integrated into a holistic query optimization engine like in DBMSs. On the other hand, implementing new join algorithms on a DBMS from scratch requires substantial effort and expertise. This paper introduces FUDJ, Flexible User-defined Distributed Joins, a framework for complex distributed join algorithms. The key idea of FUDJ is to allow developers to realize new distributed join algorithms into the database without delving into the database internals. As shown, an algorithm implemented in FUDJ is up to an order of magnitude faster than existing user-defined implementations with an order of magnitude fewer lines of code.
Akil Sevim, Ahmed Eldawy, E. Preston Carman Jr., Michael J. Carey 0001, Vassilis J. Tsotras
ICDE4
2024 A new window Clause for SQL++
abstract
Abstract Window queries are important analytical tools for ordered data and have been researched both in streaming and stored data environments. By incorporating ideas for window queries from existing streaming and stored data systems, we propose a new window syntax that makes a wide range of window queries easier to write and optimize. We have implemented this new window syntax in SQL++, an SQL extension that supports querying semistructured data, on top of AsterixDB, a Big Data Management System, thus allowing us to process window queries over large datasets in a parallel and efficient manner.
James Fang, Dmitry Lychagin, Michael J. Carey 0001, Vassilis J. Tsotras
VLDB J.3
2023 Multi-valued indexing in Apache AsterixDB (SI DOLAP 2022)
abstract
Secondary indexes in relational database systems are traditionally built under the assumption that one data record maps to one indexed value. Nowadays, particularly in NoSQL systems, single data records can hold collections of values that users want to access efficiently in an ad-hoc manner. Multi-valued indexes aim to give users the best of both worlds: (i) to keep a more natural data model of records with collections of values, and (ii) to reap the benefits of a secondary index. In this paper, we detail the steps taken to realize multi-valued indexes in AsterixDB, a Big Data management system with a structured query language operating over a collection of documents. This includes (a) creating the specification language for such indexes, (b) illustrating data flows for bulk-loading and maintaining an index, and (c) discussing query plans to take advantage of multi-valued indexes for use in predicates with existential and universal quantification. We conclude with experiments that measure the impact of maintaining an AsterixDB multi-valued index and experiments that compare the query performance our multi-valued indexes against similar indexes in MongoDB and Couchbase Server’s Query Service.
Glenn Galvizo, Michael J. Carey 0001
Inf. Syst.2
2022 CH3: A Mixed Workload Benchmark for Scalable NoSQL
abstract
Database management systems that support hybrid workloads (i.e., HTAP or HOAP) first arose in the relational world. Such hybrid data management support in the document database (NoSQL) world is also gaining popularity in both commercial and research arenas. The CH2 benchmark was proposed in 2021 to evaluate such hybrid NoSQL platforms. In addition to operational and analytical services, full-text search is a key component of NoSQL platforms that provides a search engine-like query processing capability on JSON documents. In this paper, we present CH3, a mixed workload benchmark for evaluating scalable NoSQL platforms with OLTP, OLAP, and full-text search (FTS) workloads. Like CH2, the CH3 benchmark borrows from and extends both TPC-C and TPC-H. However, CH3 generates meaningful text content and includes FTS indexes and FTS queries on these indexes to model an FTS workload. This paper presents the required extensions from CH2 to address FTS workloads, the detailed design of CH3, and performance results obtained by running the CH3 benchmark against Couchbase Server (which offers Query, Analytics, and Search Services). The results provide insight into the performance of the Search Service, the performance isolation among OLTP, OLAP and FTS workloads, and the horizontal scalability of Couchbase Server as well as the effectiveness of CH3 for evaluating the mixed workload performance of such NoSQL platforms.
Mehnaz Tabassum Mahin, Bo-Chun Wang, Kamini Jagtiani, Michael J. Carey 0001, Keshav Murthy
IEEE Big Data4
2022 On Multi-Valued Indexing in AsterixDB
Glenn Galvizo, Michael J. Carey 0001
DOLAP2
2022 Revisiting Runtime Dynamic Optimization for Join Queries in Big Data Management Systems
Christina Pavlopoulou, Michael J. Carey 0001, Vassilis J. Tsotras
EDBT2
2022 DynaHash: Efficient Data Rebalancing in Apache AsterixDB
abstract
Parallel shared-nothing data management systems have been widely used to exploit a cluster of machines for efficient and scalable data processing. When a cluster needs to be dynamically scaled in or out, data must be efficiently rebalanced. Ideally, data rebalancing should have a low data movement cost, incur a small overhead on data ingestion and query processing, and be performed online without blocking reads or writes. However, existing parallel data management systems often exhibit certain limitations and drawbacks in terms of efficient data rebalancing. In this paper, we introduce DynaHash, an efficient data rebalancing approach that combines dynamic bucketing with extendible hashing for shared-nothing OLAP-style parallel data management systems. DynaHash dynamically partitions the records into a number of buckets using extendible hashing to achieve good a load balance with small rebalancing costs. We further describe an end-to-end implementation of the proposed approach inside an open-source Big Data Management System (BDMS), Apache AsterixDB. Our implementation exploits the out-of-place update design of LSM-trees to efficiently rebalance data without blocking concurrent reads and writes. Finally, we have conducted performance experiments using the TPC-H benchmark and we present the results here.
Chen Luo 0002, Michael J. Carey 0001
ICDE2
2022 JEDI: These aren't the JSON documents you're looking for?
abstract
The JavaScript Object Notation (JSON) is a popular data format used in document stores to natively support semi-structured data. In this paper, we address the problem of JSON similarity lookup queries: given a query document and a distance threshold τ, retrieve all documents that are within τ from the query document. Different from other hierarchical formats such as XML, JSON supports both ordered and unordered sibling collections within a single document which poses a new challenge to the tree model and distance computation. We propose JSON tree, a lossless tree representation of JSON documents, and define the JSON Edit Distance (JEDI), the first edit-based distance measure for JSON. We develop QuickJEDI, an algorithm that computes JEDI by leveraging a new technique to prune expensive sibling matchings. It outperforms a baseline algorithm by an order of magnitude in runtime. To boost the performance of JSON similarity queries, we introduce an index called JSIM and an effective upper bound based on tree sorting. Our upper bound algorithm runs in O(nτ) time and O(n+τ log n) space, which substantially improves the previous best bound of O(n2) time and O(n log n) space (where n is the tree size). Our experimental evaluation shows that our solution scales to databases with millions of documents and JSON trees with tens of thousands of nodes.
Thomas Hütter, Nikolaus Augsten, Christoph M. Kirsch, Michael J. Carey 0001, Chen Li 0001
SIGMOD Conference4
2022 Subscribing to big data at scale
abstract
Abstract Today, data is being actively generated by a variety of devices, services, and applications. Such data is important not only for the information that it contains, but also for its relationships to other data and to interested users. Most existing Big Data systems focus on passively answering queries from users, rather than actively collecting data, processing it, and serving it to users. To satisfy both passive and active requests at scale, application developers need either to heavily customize an existing passive Big Data system or to glue one together with systems like Streaming Engines and Pub-sub services. Either choice requires significant effort and incurs additional overhead. In this paper, we present the BAD (Big Active Data) system as an end-to-end, out-of-the-box solution for this challenge. It is designed to preserve the merits of passive Big Data systems and introduces new features for actively serving Big Data to users at scale. We show the design and implementation of the BAD system, demonstrate how BAD facilitates providing both passive and active data services, investigate the BAD system’s performance at scale, and illustrate the complexities that would result from instead providing BAD-like services with a “glued” system.
Xikui Wang, Michael J. Carey 0001, Vassilis J. Tsotras
Distributed Parallel Databases2
2022 Columnar Formats for Schemaless LSM-based Document Stores
abstract
In the last decade, document store database systems have gained more traction for storing and querying large volumes of semi-structured data. However, the flexibility of the document stores' data models has limited their ability to store data in a column-major layout --- making them less performant for analytical workloads than column store relational databases. In this paper, we propose several techniques based on piggy-backing on Log-Structured Merge (LSM) tree events and tailored to document stores to store data in a columnar layout. We first extend the Dremel format, a popular on-disk columnar format for semi-structured data, to comply with document stores' flexible data model. We then introduce a new columnar layout for organizing and storing data in LSM-based storage. We also highlight the potential of using query compilation techniques for document stores, where values' types are known only at runtime. We have implemented and evaluated our techniques to measure their impact on storage, data ingestion, and query performance in Apache AsterixDB. Our experiments show significant performance gains, improving the query execution time by orders of magnitude while minimally impacting ingestion performance.
Wail Y. Alkowaileet, Michael J. Carey 0001
Proc. VLDB Endow.2
2022 Design Trade-offs for a Robust Dynamic Hybrid Hash Join
abstract
Hybrid Hash Join (HHJ) has proven to be one of the most efficient and widely-used join algorithms. While HHJ's performance depends largely on accurate statistics and information about the input relations, it may not always be practical or possible for a system to have such information available. HHJ's design depends on many details to perform well. This paper is an experimental and analytical study of the trade-offs in designing a robust and dynamic HHJ operator. We revisit the design and optimization techniques suggested by previous studies through extensive experiments, comparing them with other algorithms designed by us or used in related studies. We explore the impact of the number of partitions on HHJ's performance and propose a new lower bound for the number of partitions. We design and evaluate different partition insertion techniques to maximize memory utilization with the least CPU cost. Additionally, we consider a comprehensive set of algorithms for dynamically selecting a partition to spill and compare the results against previously published studies. We then present and evaluate two alternative growth policies for spilled partitions. These algorithms have been implemented in the context of Apache AsterixDB and evaluated under different scenarios such as variable record sizes, different distributions of join attributes, and different storage types, including HDD, SSD, and Amazon Elastic Block Store (Amazon EBS).
Shiva Jahangiri, Michael J. Carey 0001, Johann-Christoph Freytag
Proc. VLDB Endow.2
2021 Exploratory Data Analysis with Database-backed Dataframes: A Case Study on Airbnb Data
abstract
Choosing between various scalable dataframe libraries can be an overwhelming task for data scientists but it is critical because each framework deploys a different optimization technique that could affect the overall performance. Comparing each framework on a set of analytical tasks in isolation might not fully represent the unique characteristics of big data analyses. This paper describes a case study of applying PolyFrame, a database-backed dataframe library, on an end-to-end exploratory data analysis involving Airbnb data. PolyFrame is a scalable data analytics library that provides a Pandas-like dataframe interface on top of a variety of database systems. The familiarity of its interface enables data scientists to interact with large collections of data through a scale-independent data analysis experience without needing significant database or distributed systems knowledge. Throughout this case study we also highlight the scalability benefits and limitations of database-backed dataframes via a performance comparison with Pandas dataframes for each of the stages of the analysis.
Phanwadee Sinthong, Michael J. Carey 0001
IEEE BigData2
2021 PolyFrame: A Retargetable Query-based Approach to Scaling Dataframes
abstract
In the last few years, the field of data science has been growing rapidly as various businesses have adopted statistical and machine learning techniques to empower their decision-making and applications. Scaling data analyses to large volumes of data requires the utilization of distributed frameworks. This can lead to serious technical challenges for data analysts and reduce their productivity. AFrame, a data analytics library, is implemented as a layer on top of Apache AsterixDB, addressing these issues by providing the data scientists' familiar interface, Pandas Dataframe, and transparently scaling out the evaluation of analytical operations through a Big Data management system. While AFrame is able to leverage data management facilities (e.g., indexes and query optimization) and allows users to interact with a large volume of data, the initial version only generated SQL++ queries and only operated against AsterixDB. In this work, we describe a new design that retargets AFrame's incremental query formation to other query-based database systems, making it more flexible for deployment against other data management systems with composable query languages.
Phanwadee Sinthong, Michael J. Carey 0001
Proc. VLDB Endow.2
2020 Benchmarking HOAP for Scalable Document Data Management: A First Step
abstract
Enterprises today are becoming ever more reliant on real-time information and analytics for steering and optimizing their businesses. As a result, database system architectures with hybrid data management support - known as HTAP (Hybrid Transactional/ Analytical Processing) or HOAP (Hybrid Operational/Analytical Processing) support - are appearing and increasingly gaining traction in both the commercial and research sectors. Hybrid platforms first appeared in the relational world, and they are often linked in that world to concurrent high-end server technology trends such as columnar storage and mainmemory data management.This paper focuses on hybrid platforms, but in a very different world - in the document data management, or NoSQL, world. In this work, we report on a first effort to characterize the hybrid performance of a scalable document database system that purports to provide what one might call "HOAP for JSON". We have borrowed from and extended the TPC-C benchmark to study the performance of Couchbase Server, a horizontally scalable NoSQL platform that offers HOAP via the combination of its Data/Index/Query and Analytics Services. Our results attest to the importance of architecting a NoSQL platform for HOAP, both in terms of its approach(es) to query processing and its provision of performance isolation for the operational and analytical components of a mixed workload. We share our initial results, the insights that we have gained thus far, and our thoughts on future work related to benchmarking such systems.
Yifan Tian, Michael J. Carey 0001, Ian Maxon
IEEE BigData2
2020 Bridging BAD Islands: Declarative Data Sharing at Scale
abstract
In many Big Data applications today, information needs to be actively shared between systems managed by different organizations. To enable sharing Big Data at scale, developers would have to create dedicated server programs and glue together multiple Big Data systems for scalability. Developing and managing such glued data sharing services requires a significant amount of work from developers. In our prior work, we developed a Big Active Data (BAD) system for enabling Big Data subscriptions and analytics with millions of subscribers. Based on that, we introduce a new mechanism for enabling the sharing of Big Data at scale declaratively so that developers can easily create and provide data sharing services using declarative statements and can benefit from an underlying scalable infrastructure. We show our implementation on top of the BAD system, explain the data sharing data flow among multiple systems, and present a prototype system with experimental results.
Xikui Wang, Michael J. Carey 0001, Vassilis J. Tsotras
IEEE BigData2
2020 Similarity query support in big data management systems
Taewoo Kim 0001, Wenhai Li, Alexander Behm, Inci Cetindil, Rares Vernica, Vinayak R. Borkar, Michael J. Carey 0001, Chen Li 0001
Inf. Syst.7
2020 An LSM-based Tuple Compaction Framework for Apache AsterixDB
abstract
Document database systems store self-describing semi-structured records, such as JSON, "as-is" without requiring the users to pre-define a schema. This provides users with the flexibility to change the structure of incoming records without worrying about taking the system offline or hindering the performance of currently running queries. However, the flexibility of such systems does not free. The large amount of redundancy in the records can introduce an unnecessary storage overhead and impact query performance. Our focus in this paper is to address the storage overhead issue by introducing a tuple compactor framework that infers and extracts the schema from self-describing semi-structured records during the data ingestion. As many prominent document stores, such as MongoDB and Couchbase, adopt Log Structured Merge (LSM) trees in their storage engines, our framework exploits LSM lifecycle events to piggyback the schema inference and extraction operations. We have implemented and empirically evaluated our approach to measure its impact on storage, data ingestion, and query performance in the context of Apache AsterixDB.
Wail Y. Alkowaileet, Sattam Alsubaiee, Michael J. Carey 0001
Proc. VLDB Endow.3
2020 SmartBench: A Benchmark For Data Management In Smart Spaces
Peeyush Gupta, Michael J. Carey 0001, Sharad Mehrotra, Roberto Yus
Proc. VLDB Endow.2
2020 Breaking Down Memory Walls: Adaptive Memory Management in LSM-based Storage Systems
abstract
Log-Structured Merge-trees (LSM-trees) have been widely used in modern NoSQL systems. Due to their out-of-place update design, LSM-trees have introduced memory walls among the memory components of multiple LSM-trees and between the write memory and the buffer cache. Optimal memory allocation among these regions is non-trivial because it is highly workload-dependent. Existing LSM-tree implementations instead adopt static memory allocation schemes due to their simplicity and robustness, sacrificing performance. In this paper, we attempt to break down these memory walls in LSM-based storage systems. We first present a memory management architecture that enables adaptive memory management. We then present a partitioned memory component structure with new flush policies to better exploit the write memory to minimize the write cost. To break down the memory wall between the write memory and the buffer cache, we further introduce a memory tuner that tunes the memory allocation between these two regions. We have conducted extensive experiments in the context of Apache AsterixDB using the YCSB and TPC-C benchmarks and we present the results here.
Chen Luo 0002, Michael J. Carey 0001
Proc. VLDB Endow.2
2020 BAD to the bone: Big Active Data at its core
Steven Jacobs, Xikui Wang, Michael J. Carey 0001, Vassilis J. Tsotras, Md. Yusuf Sarwar Uddin
VLDB J.3
2020 LSM-based storage techniques: a survey
Chen Luo 0002, Michael J. Carey 0001
VLDB J.2
2019 AFrame: Extending DataFrames for Large-Scale Modern Data Analysis
abstract
Analyzing the increasingly large volumes of data that are available today, possibly including the application of custom machine learning models, requires the utilization of distributed frameworks. This can result in serious productivity issues for “normal” data scientists. This paper introduces AFrame, a new scalable data analysis package powered by a Big Data management system that extends the data scientists' familiar DataFrame operations to efficiently operate on managed data at scale. AFrame is implemented as a layer on top of Apache AsterixDB, transparently scaling out the execution of DataFrame operations and machine learning model invocation through a parallel, shared-nothing big data management system. AFrame incrementally constructs SQL++ queries and leverages AsterixDB's semistructured data management facilities, user-defined function support, and live data ingestion support. In order to evaluate the proposed approach, this paper also introduces an extensible micro-benchmark for use in evaluating DataFrame performance in both single-node and distributed settings via a collection of representative analytic operations. This paper presents the architecture of AFrame, describes the underlying capabilities of AsterixDB that efficiently support modern data analytic operations, and utilizes the proposed benchmark to evaluate and compare the performance and support for largescale data analyses provided by alternative DataFrame libraries.
Phanwadee Sinthong, Michael J. Carey 0001
IEEE BigData2
2019 AsterixDB Mid-Flight: A Case Study in Building Systems in Academia
abstract
Building large software systems is always a challenging venture, but it is especially so in academia. This paper describes the experiences that the author and his (mostly UC-based) partners in software crime have had that culminated in the Big Data Management System now available as Apache AsterixDB. It covers a mix of the history and technical content of the nearly ten-year-old project, starting with its inception during the MapReduce craze. It describes the phases that the effort has gone through and some of the lessons learned along the way. The paper also covers some personal reflections and opinions about the challenges of systems-building, as well as writing about it, in our current academic culture. Included is the case for doing this sort of work at all - discussing the pitfalls of doing "systems" research in the absence of an actual system, and why the gain outweighs the pain of building and sharing database software in academia. As of late 2018, Apache AsterixDB is also having a commercial impact as the storage and parallel query engine underlying a new offering called Couchbase Analytics. The last part of the paper explains how we are attempting to balance the uses of AsterixDB as (i) a generally available open source Apache software platform, (ii) an end-to-end research testbed for universities, and (iii) the technology powering a commercial NoSQL product.
Michael J. Carey 0001
ICDE1
2019 Couchbase Analytics: NoETL for Scalable NoSQL Data Analysis
abstract
Couchbase Server is a highly scalable document-oriented database management system. With a shared-nothing architecture, it exposes a fast key-value store with a managed cache for sub-millisecond data operations, indexing for fast queries, and a powerful query engine for executing declarative SQL-like queries. Its Query Service debuted several years ago and supports high volumes of low-latency queries and updates for JSON documents. Its recently introduced Analytics Service complements the Query Service. Couchbase Analytics, the focus of this paper, supports complex analytical queries (e.g., ad hoc joins and aggregations) over large collections of JSON documents. This paper describes the Analytics Service from the outside in, including its user model, its SQL++ based query language, and its MPP-based storage and query processing architecture. It also briefly touches on the relationship of Couchbase Analytics to Apache AsterixDB, the open source Big Data management system at the core of Couchbase Analytics.
Murtadha Al Hubail, Ali Alsuliman, Michael Blow, Michael J. Carey 0001, Dmitry Lychagin, Ian Maxon, Till Westmann
Proc. VLDB Endow.4
2019 Efficient Data Ingestion and Query Processing for LSM-Based Storage Systems
abstract
In recent years, the Log Structured Merge (LSM) tree has been widely adopted by NoSQL and NewSQL systems for its superior write performance. Despite its popularity, however, most existing work has focused on LSM-based key-value stores with only a single LSM-tree; auxiliary structures, which are critical for supporting ad-hoc queries, have received much less attention. In this paper, we focus on efficient data ingestion and query processing for general-purpose LSM-based storage systems. We first propose and evaluate a series of optimizations for efficient batched point lookups, significantly improving the range of applicability of LSM-based secondary indexes. We then present several new and efficient maintenance strategies for LSM-based storage systems. Finally, we have implemented and experimentally evaluated the proposed techniques in the context of the Apache AsterixDB system, and we present the results here.
Chen Luo 0002, Michael J. Carey 0001
Proc. VLDB Endow.2
2019 On Performance Stability in LSM-based Storage Systems
abstract
The Log-Structured Merge-Tree (LSM-tree) has been widely adopted for use in modern NoSQL systems for its superior write performance. Despite the popularity of LSM-trees, they have been criticized for suffering from write stalls and large performance variances due to the inherent mismatch between their fast in-memory writes and slow background I/O operations. In this paper, we use a simple yet effective two-phase experimental approach to evaluate write stalls for various LSM-tree designs. We further explore the design choices of LSM merge schedulers to minimize write stalls given an I/O bandwidth budget. We have conducted extensive experiments in the context of the Apache AsterixDB system and we present the results here.
Chen Luo 0002, Michael J. Carey 0001
Proc. VLDB Endow.2
2019 An IDEA: An Ingestion Framework for Data Enrichment in AsterixDB
abstract
Big Data today is being generated at an unprecedented rate from various sources such as sensors, applications, and devices, and it often needs to be enriched based on other reference information to support complex analytical queries. Depending on the use case, the enrichment operations can be compiled code, declarative queries, or machine learning models with different complexities. For enrichments that will be frequently used in the future, it can be advantageous to push their computation into the ingestion pipeline so that they can be stored (and queried) together with the data. In some cases, the referenced information may change over time, so the ingestion pipeline should be able to adapt to such changes to guarantee the currency and/or correctness of the enrichment results. In this paper, we present a new data ingestion framework that supports data ingestion at scale, enrichments requiring complex operations, and adaptiveness to reference data changes. We explain how this framework has been built on top of Apache AsterixDB and investigate its performance at scale under various workloads.
Xikui Wang, Michael J. Carey 0001
Proc. VLDB Endow.2
2018 Supporting Similarity Queries in Apache AsterixDB
Taewoo Kim 0001, Wenhai Li, Alexander Behm, Inci Cetindil, Rares Vernica, Vinayak R. Borkar, Michael J. Carey 0001, Chen Li 0001
EDBT7
2018 A Parallel and Scalable Processor for JSON Data
Christina Pavlopoulou, E. Preston Carman Jr., Till Westmann, Michael J. Carey 0001, Vassilis J. Tsotras
EDBT4
2018 Lightweight Cardinality Estimation in LSM-based Systems
abstract
Data sources, such as social media, mobile apps and IoT sensors, generate billions of records each day. Keeping up with this influx of data while providing useful analytics to the users is a major challenge for today's data-intensive systems. A popular solution that allows such systems to handle rapidly incoming data is to rely on log-structured merge (LSM) storage models. LSM-based systems provide a tunable trade-off between ingesting vast amounts of data at a high rate and running efficient analytical queries on top of that data. For queries, it is well-known that the query processing performance largely depends on the ability to generate efficient execution plans. Previous research showed that OLAP query workloads rely on having small, yet precise, statistical summaries of the underlying data, which can drive the cost-based query optimization.
Ildar Absalyamov, Michael J. Carey 0001, Vassilis J. Tsotras
SIGMOD Conference2
2017 Drum: A rhythmic approach to interactive analytics on large data
abstract
In this paper, we study how to progressively answer a time-consuming query on a large data set by generating a sequence of mini-queries. We formulate an optimization problem to produce the predicates of mini-queries by considering both their total running time as well as the smoothness of result delivery in order to show the incremental results at a rhythmic pace to improve the user experience. We develop an adaptive framework called Drum that can collect the runtime behavioral statistics of the database system to decide the predicate of the next mini-query appropriately. The framework is a general middleware solution without any changes to the underlying database system. We have conducted extensive experiments on a large, real data set, and the results show that Drum can reduce the delay of delivering intermediate results to the user without sacrificing much total time.
Jianfeng Jia, Chen Li 0001, Michael J. Carey 0001
IEEE BigData3
2017 A performance study of AsterixDB
abstract
Apache AsterixDB is a relatively new Big Data management platform providing ingestion, storage, management, indexing, querying, and analyses of vast quantities of semi-structured information on scalable computer clusters. This paper compares the execution and performance of an early release of Apache AsterixDB with two popular platforms, Apache Hadoop and HPCC Systems, over the 17 PigMix benchmark query scenarios. We discuss the results and also how they have influenced the AsterixDB effort.
Keren Ouaknine, Michael J. Carey 0001
IEEE BigData2
2017 A performance study of big data analytics platforms
abstract
Big Data analytics has become an invaluable tool in a wide variety of businesses for exploiting the wealth of Big Data that they now have access to. As a result, various solutions within different categories of Big Data systems are emerging to meet their needs. In this paper we use the TPC-H benchmark to compare the performance of four Big Data systems picked from the major categories of Big Data platforms: a commercial parallel relational database (from the traditional DBMS world), Hive and Spark SQL (from the SQL-on-Hadoop world), and AsterixDB (from the world of NoSQL systems). All of these systems have sufficiently rich query APIs and runtime systems to run TPC-H in its full form. On the other hand, the systems also have major differences in terms of their architectures, preferred storage formats, support for complex schema definitions, and approaches to query processing. This makes them a very interesting set of representative Big Data systems to compare. We present the results that we obtained through running these systems at different TPC-H scales using various settings, and we analyze a selected set of interesting query results in more detail to explore the trade-offs between performance, storage formats, and schema definitions. A follow-up discussion is included as well to summarize the lessons learned from this effort.
Pouria Pirzadeh, Michael J. Carey 0001, Till Westmann
IEEE BigData2
2017 A Comparative Study of Log-Structured Merge-Tree-Based Spatial Indexes for Big Data
abstract
The proliferation of GPS-enabled mobile devices has generated geo-tagged data at an unprecedented rate over the past decade. Data-processing systems that aim to ingest, store, index, and analyze Big Data must deal with such geo-tagged data efficiently. In this paper, among representative, disk-resident spatial indexing methods that have been adopted by major SQL and NoSQL systems, we implement five variants of these methods in the form of Log-Structured Merge-tree-based (LSM) spatial indexes in order to evaluate their pros and cons for dynamic geo-tagged Big Data. We have implemented the alternatives, including LSM-based B-tree, R-tree, and inverted index variants, in Apache AsterixDB, an open source Big Data management system. This implementation enabled comparison in terms of real end-to-end performance, including logging and locking overheads, in a full-function, query-based system setting. Our evaluation includes both static and dynamic workloads, ranging from a "load once, query many" case to a case where continuous concurrent incremental inserts are mixed with concurrent queries. Based on the results, we discuss the pros and cons of the five index variants.
Young-Seok Kim, Taewoo Kim 0001, Michael J. Carey 0001, Chen Li 0001
ICDE3
2017 A BAD Demonstration: Towards Big Active Data
abstract
Nearly all of today's Big Data systems are passive in nature. We demonstrate our Big Active Data ("BAD") system, a scalable system that continuously and reliably captures Big Data and facilitates the timely and automatic delivery of new information to a large population of interested users as well as supporting analyses of historical information. We built our BAD project by extending an existing scalable, open-source BDMS (AsterixDB [1]) in this active direction. In this demonstration, we allow our audience to participate in an emergency notification application built on top of our BAD platform, and highlight its capabilities.
Steven Jacobs, Md. Yusuf Sarwar Uddin, Michael J. Carey 0001, Vagelis Hristidis, Vassilis J. Tsotras, Nalini Venkatasubramanian, Syed Safir, Purvi Kaul, Xikui Wang, Mohiuddin Abdul Qader
Proc. VLDB Endow.3
2016 Towards interactive analytics and visualization on one billion tweets
abstract
We present a system called "Cloudberry" that allows users to interactively query, analyze, and visualize large amounts of data with temporal, spatial, and textual dimensions. As a general-purpose full-stack solution, it has a friendly UI, intelligent middleware, and a powerful big data management backend running Apache AsterixDB to enable big data analytics and visualization. We will demonstrate the system using Twitter data on a computer cluster.
Jianfeng Jia, Chen Li 0039, Chen Li 0001, Michael J. Carey 0001, Simon Su
SIGSPATIAL/GIS5
2016 Have Your Data and Query It Too: From Key-Value Caching to Big Data Management
abstract
Couchbase Server is a rethinking of the database given the current set of realities. Memory today is much cheaper than disks were when traditional databases were designed back in the 1970's, and networks are much faster and much more reliable than ever before. Application agility is also an extremely important requirement. Today's Couchbase Server is a memory- and network-centric, shared-nothing, auto-partitioned, and distributed NoSQL database system that offers both key-based and secondary index-based data access paths as well as API- and query-based data access capabilities. This is a major change from Couchbase's roots; in its early days, its focus was entirely on high performance and highly available key-value (memcache) based caching. Customer needs and competitive pressures in the evolving non-relational database market also accelerated this change. This paper describes the architectural changes needed to address the requirements posed by next-generation database applications. In addition, it details the implementation of such an architecture using Couchbase Server and explains the evolution of Couchbase Server from its early roots to its present form. Particular attention is paid to how today's Couchbase Server cluster architecture is influenced by the memory-first, high-performance, and scalability demands of typical customer deployments. Key features include a layer-consolidated cache, a consistency-controllable interplay between updates, indexes, and queries, and a unique "multi-dimensional" approach to cluster scaling. The paper closes with a look at future plans for supporting semi-structured operational data analytics in addition to today's more OLTP-like, front-facing use cases.
Dipti Borkar, Ravi Mayuram, Gerald Sangudi, Michael J. Carey 0001
SIGMOD Conference4
2016 Large-scale Complex Analytics on Semi-structured Datasets using AsterixDB and Spark
abstract
Large quantities of raw data are being generated by many different sources in different formats. Private and public sectors alike acclaim the valuable information and insights that can be mined from such data to better understand the dynamics of everyday life, such as traffic, worldwide logistics, and social behavior. For this reason, storing, managing, and analyzing "Big Data" at scale is getting a tremendous amount of attention, both in academia and industry. In this paper, we demonstrate the power of a parallel connection that we have built between Apache Spark and Apache AsterixDB (Incubating) to enable complex analytics such as machine learning and graph analysis on data drawn from large semi-structured data collections. The integration of these two systems allows researchers and data scientists to leverage AsterixDB capabilities, including fast ingestion and indexing of semi-structured data and efficient answering of geo-spatial and fuzzy text queries. Complex data analytics can then be performed on the resulting AsterixDB query output in order to obtain additional insights by leveraging the power of Spark's machine learning and graph libraries.
Wail Y. Alkowaileet, Sattam Alsubaiee, Michael J. Carey 0001, Till Westmann, Yingyi Bu
Proc. VLDB Endow.3
2015 A scalable parallel XQuery processor
abstract
The wide use of XML for document management and data exchange has created the need to query large repositories of XML data. To efficiently query such large data and take advantage of parallelism, we have implemented Apache VXQuery, an open-source scalable XQuery processor. The system builds upon two other open-source frameworks: Hyracks, a parallel execution engine, and Algebricks, a language agnostic compiler toolbox. Apache VXQuery extends these frameworks and provides an implementation of the XQuery specifics (data model, data-model dependent functions and optimizations, and a parser). We describe the architecture of Apache VXQuery, its integration with Hyracks and Algebricks, and the XQuery optimization rules applied to the query plan to improve path expression efficiency and to enable query parallelism. An experimental evaluation using a real 500GB dataset with various selection, aggregation and join XML queries shows that Apache VXQuery performs well both in terms of scale-up and speed-up. Our experiments show that it is about 3.5x faster than Saxon (an open-source and commercial XQuery processor) on a 4-core, single node implementation, and around 2.5x faster than Apache MRQL (a MapReduce-based parallel query processor) on an eight (4-core) node cluster.
E. Preston Carman Jr., Till Westmann, Vinayak R. Borkar, Michael J. Carey 0001, Vassilis J. Tsotras
IEEE BigData4
2015 BigFUN: A performance study of big data management system functionality
abstract
In this paper, we report on an evaluation of four representative Big Data management systems (BDMSs): Mon-goDB, Hive, AsterixDB, and a commercial parallel shared-nothing relational database system. In terms of features, all offer to store and manage large volumes of data, and all provide some degree of query processing capabilities on top of such data. Our evaluation is based on a micro-benchmark that utilizes a synthetic application that has a social network flavor. We analyze the performance results and discuss the lessons learned from this effort. We hope that this study will inspire future domain-centric evaluations of BDMSs with a focus on their features.
Pouria Pirzadeh, Michael J. Carey 0001, Till Westmann
IEEE BigData2
2015 External Data Access And Indexing In AsterixDB
abstract
Traditional database systems offer rich query interfaces (SQL) and efficient query execution for data that they store. Recent years have seen the rise of Big Data analytics platforms offering query-based access to "raw" external data, e.g., file-resident data (often in HDFS). In this paper, we describe techniques to achieve the qualities offered by DBMSs when accessing external data. This work has been built into Apache AsterixDB, an open source Big Data Management System. We describe how we build distributed indexes over external data, partition external indexes, provide query consistency across access paths, and manage external indexes amidst concurrent activities. We compare the performance of this new AsterixDB capability to an external-only solution (Hive) and to its internally managed data and indexes.
Abdullah Abdulrahman Alamoudi, Raman Grover, Michael J. Carey 0001, Vinayak R. Borkar
CIKM3
2015 Data Ingestion in AsterixDB
abstract
In this paper we describe the support for data ingestion in AsterixDB, an open-source Big Data Management System (BDMS) that provides a platform for storage and analysis of large volumes of semi-structured data. Data feeds are a new mechanism for having continuous data arrive into a BDMS from external sources and incrementally populate a persisted dataset and associated indexes. We add a new BDMS architectural component, called a data feed, that makes a Big Data system the caretaker for functionality that used to live outside, and we show how it improves users’ lives and system performance. We show how to build the data feed component, architecturally, and how an enhanced user model can enable sharing of ingested data. We describe how to make this component fault-tolerant so the system manages input in the presence of failures. We also show how to make this component elastic so that variances in incoming data rates can be handled gracefully without data loss if/when desired. Results from initial experiments that evaluate scalability and fault-tolerance of AsterixDB data feeds facility are reported. We include an evaluation of built-in ingestion policies and study their effect as well on throughput and latency. An evaluation and comparison with a ‘glued’ together system formed from popular engines — Storm (for streaming) and MongoDB (for persistence) — is also included.
Raman Grover, Michael J. Carey 0001
EDBT2
2014 Opportunistic physical design for big data analytics
abstract
Big data analytical systems, such as MapReduce, perform aggressive materialization of intermediate job results in order to support fault tolerance. When jobs correspond to exploratory queries submitted by data analysts, these materializations yield a large set of materialized views that we propose to treat as an opportunistic physical design. We present a semantic model for UDFs that enables effective reuse of views containing UDFs along with a rewrite algorithm that provably finds the minimum-cost rewrite under certain assumptions. An experimental study on real-world datasets using our prototype based on Hive shows that our approach can result in dramatic performance improvements.
Jeff LeFevre, Jagan Sankaranarayanan, Hakan Hacigümüs, Jun'ichi Tatemura, Neoklis Polyzotis, Michael J. Carey 0001
SIGMOD Conference6
2014 MISO: souping up big data query processing with a multistore system
abstract
Multistore systems utilize multiple distinct data stores such as Hadoop's HDFS and an RDBMS for query processing by allowing a query to access data and computation in both stores. Current approaches to multistore query processing fail to achieve the full potential benefits of utilizing both systems due to the high cost of data movement and loading between the stores. Tuning the physical design of a multistore, i.e., deciding what data resides in which store, can reduce the amount of data movement during query processing, which is crucial for good multistore performance. In this work, we provide what we believe to be the first method to tune the physical design of a multistore system, by focusing on which store to place data. Our method, called MISO for MultISstore Online tuning, is adaptive, lightweight, and works in an online fashion utilizing only the by-products of query processing, which we term as opportunistic views. We show that MISO significantly improves the performance of ad-hoc big data query processing by leveraging the specific characteristics of the individual stores while incurring little additional overhead on the stores.
Jeff LeFevre, Jagan Sankaranarayanan, Hakan Hacigümüs, Jun'ichi Tatemura, Neoklis Polyzotis, Michael J. Carey 0001
SIGMOD Conference6
2014 AsterixDB: A Scalable, Open Source BDMS
abstract
AsterixDB is a new, full-function BDMS (Big Data Management System) with a feature set that distinguishes it from other platforms in today's open source Big Data ecosystem. Its features make it well-suited to applications like web data warehousing, social data storage and analysis, and other use cases related to Big Data. AsterixDB has a flexible NoSQL style data model; a query language that supports a wide range of queries; a scalable runtime; partitioned, LSM-based data storage and indexing (including B + -tree, R-tree, and text indexes); support for external as well as natively stored data; a rich set of built-in types; support for fuzzy, spatial, and temporal types and queries; a built-in notion of data feeds for ingestion of data; and transaction support akin to that of a NoSQL store. Development of AsterixDB began in 2009 and led to a mid-2013 initial open source release. This paper is the first complete description of the resulting open source AsterixDB system. Covered herein are the system's data model, its query language, and its software architecture. Also included are a summary of the current status of the project and a first glimpse into how AsterixDB performs when compared to alternative technologies, including a parallel relational DBMS, a popular NoSQL store, and a popular Hadoop-based SQL data analytics platform, for things that both technologies can do. Also included is a brief description of some initial trials that the system has undergone and the lessons learned (and plans laid) based on those early "customer" engagements.
Sattam Alsubaiee, Yasser Altowim, Hotham Altwaijry, Alexander Behm, Vinayak R. Borkar, Yingyi Bu, Michael J. Carey 0001, Inci Cetindil, Madhusudan Cheelangi, Khurram Faraaz, Eugenia Gabrielova, Raman Grover, Zachary Heilbron, Young-Seok Kim, Chen Li 0001, Guangqiang Li, Ji Mahn Ok, Nicola Onose, Pouria Pirzadeh, Vassilis J. Tsotras, Rares Vernica, Till Westmann
Proc. VLDB Endow.7
2014 Storage Management in AsterixDB
abstract
Social networks, online communities, mobile devices, and instant messaging applications generate complex, unstructured data at a high rate, resulting in large volumes of data. This poses new challenges for data management systems that aim to ingest, store, index, and analyze such data efficiently. In response, we released the first public version of AsterixDB, an open-source Big Data Management System (BDMS), in June of 2013. This paper describes the storage management layer of AsterixDB, providing a detailed description of its ingestion-oriented approach to local storage and a set of initial measurements of its ingestion-related performance characteristics. In order to support high frequency insertions, AsterixDB has wholly adopted Log-Structured Merge-trees as the storage technology for all of its index structures. We describe how the AsterixDB software framework enables "LSM-ification" (conversion from an in-place update, disk-based data structure to a deferred-update, append-only data structure) of any kind of index structure that supports certain primitive operations, enabling the index to ingest data efficiently. We also describe how AsterixDB ensures the ACID properties for operations involving multiple heterogeneous LSM-based indexes. Lastly, we highlight the challenges related to managing the resources of a system when many LSM indexes are used concurrently and present AsterixDB's initial solution.
Sattam Alsubaiee, Alexander Behm, Vinayak R. Borkar, Zachary Heilbron, Young-Seok Kim, Michael J. Carey 0001, Markus Dreseler, Chen Li 0001
Proc. VLDB Endow.6
2014 Pregelix: Big(ger) Graph Analytics on a Dataflow Engine
abstract
There is a growing need for distributed graph processing systems that are capable of gracefully scaling to very large graph datasets. Unfortunately, this challenge has not been easily met due to the intense memory pressure imposed by process-centric, message passing designs that many graph processing systems follow. Pregelix is a new open source distributed graph processing system that is based on an iterative dataflow design that is better tuned to handle both in-memory and out-of-core workloads. As such, Pregelix offers improved performance characteristics and scaling properties over current open source systems (e.g., we have seen up to 15X speedup compared to Apache Giraph and up to 35X speedup compared to distributed GraphLab), and more effective use of available machine resources to support Big(ger) Graph Analytics.
Yingyi Bu, Vinayak R. Borkar, Jianfeng Jia, Michael J. Carey 0001, Tyson Condie
Proc. VLDB Endow.4
2014 Front Matter
Michael J. Carey 0001
Proc. VLDB Endow.1
2012 Inside "Big Data management": ogres, onions, or parfaits?
abstract
In this paper we review the history of systems for managing "Big Data" as well as today's activities and architectures from the (perhaps biased) perspective of three "database guys" who have been watching this space for a number of years and are currently working together on "Big Data" problems. Our focus is on architectural issues, and particularly on the components and layers that have been developed recently (in open source and elsewhere) and on how they are being used (or abused) to tackle challenges posed by today's notion of "Big Data". Also covered is the approach we are taking in the ASTERIX project at UC Irvine, where we are developing our own set of answers to the questions of the "right" components and the "right" set of layers for taming the "Big Data" beast. We close by sharing our opinions on what some of the important open questions are in this area as well as our thoughts on how the dataintensive computing community might best seek out answers.
Vinayak R. Borkar, Michael J. Carey 0001, Chen Li 0001
EDBT2
2012 Extending Map-Reduce for Efficient Predicate-Based Sampling
abstract
In this paper we address the problem of using MapReduce to sample a massive data set in order to produce a fixed-size sample whose contents satisfy a given predicate. While it is simple to express this computation using MapReduce, its default Hadoop execution is dependent on the input size and is wasteful of cluster resources. This is unfortunate, as sampling queries are fairly common (e.g., for exploratory data analysis at Facebook), and the resulting waste can significantly impact the performance of a shared cluster. To address such use cases, we present the design, implementation and evaluation of a Hadoop execution model extension that supports incremental job expansion. Under this model, a job consumes input as required and can dynamically govern its resource consumption while producing the required results. The proposed mechanism is able to support a variety of policies regarding job growth rates as they relate to cluster capacity and current load. We have implemented the mechanism in Hadoop, and we present results from an experimental performance study of different job growth policies under both single- and multi-user workloads.
Raman Grover, Michael J. Carey 0001
ICDE2
2012 ASTERIX: An Open Source System for "Big Data" Management and Analysis
abstract
At UC Irvine, we are building a next generation parallel database system, called ASTERIX, as our approach to addressing today's "Big Data" management challenges. ASTERIX aims to combine time-tested principles from parallel database systems with those of the Web-scale computing community, such as fault tolerance for long running jobs. In this demo, we present a whirlwind tour of ASTERIX, highlighting a few of its key features. We will demonstrate examples of our data definition language to model semi-structured data, and examples of interesting queries using our declarative query language. In particular, we will show the capabilities of ASTERIX for answering geo-spatial queries and fuzzy queries, as well as ASTERIX' data feed construct for continuously ingesting data.
Sattam Alsubaiee, Yasser Altowim, Hotham Altwaijry, Alexander Behm, Vinayak R. Borkar, Yingyi Bu, Michael J. Carey 0001, Raman Grover, Zachary Heilbron, Young-Seok Kim, Chen Li 0001, Nicola Onose, Pouria Pirzadeh, Rares Vernica
Proc. VLDB Endow.7
2011 Map-reduce extensions and recursive queries
abstract
We survey the recent wave of extensions to the popular map-reduce systems, including those that have begun to address the implementation of recursive queries using the same computing environment as map-reduce. A central problem is that recursive tasks cannot deliver their output only at the end, which makes recovery from failures much more complicated than in map-reduce and its nonrecursive extensions. We propose several algorithmic ideas for efficient implementation of recursions in the map-reduce environment and discuss several alternatives for supporting recovery from failures without restarting the entire job.
Foto N. Afrati, Vinayak R. Borkar, Michael J. Carey 0001, Neoklis Polyzotis, Jeffrey D. Ullman
EDBT3
2011 Answering approximate string queries on large data sets using external memory
abstract
An approximate string query is to find from a collection of strings those that are similar to a given query string. Answering such queries is important in many applications such as data cleaning and record linkage, where errors could occur in queries as well as the data. Many existing algorithms have focused on in-memory indexes. In this paper we investigate how to efficiently answer such queries in a disk-based setting, by systematically studying the effects of storing data and indexes on disk. We devise a novel physical layout for an inverted index to answer queries and we study how to construct it with limited buffer space. To answer queries, we develop a cost-based, adaptive algorithm that balances the I/O costs of retrieving candidate matches and accessing inverted lists. Experiments on large, real datasets verify that simply adapting existing algorithms to a disk-based setting does not work well and that our new techniques answer queries efficiently. Further, our solutions significantly outperform a recent tree-based index, BED-tree.
Alexander Behm, Chen Li 0001, Michael J. Carey 0001
ICDE3
2011 Hyracks: A flexible and extensible foundation for data-intensive computing
abstract
Hyracks is a new partitioned-parallel software platform designed to run data-intensive computations on large shared-nothing clusters of computers. Hyracks allows users to express a computation as a DAG of data operators and connectors. Operators operate on partitions of input data and produce partitions of output data, while connectors repartition operators' outputs to make the newly produced partitions available at the consuming operators. We describe the Hyracks end user model, for authors of dataflow jobs, and the extension model for users who wish to augment Hyracks' built-in library with new operator and/or connector types. We also describe our initial Hyracks implementation. Since Hyracks is in roughly the same space as the open source Hadoop platform, we compare Hyracks with Hadoop experimentally for several different kinds of use cases. The initial results demonstrate that Hyracks has significant promise as a next-generation platform for data-intensive applications.
Vinayak R. Borkar, Michael J. Carey 0001, Raman Grover, Nicola Onose, Rares Vernica
ICDE2
2011 ASTERIX: towards a scalable, semistructured data platform for evolving-world models
Alexander Behm, Vinayak R. Borkar, Michael J. Carey 0001, Raman Grover, Chen Li 0001, Nicola Onose, Rares Vernica, Alin Deutsch, Yannis Papakonstantinou, Vassilis J. Tsotras
Distributed Parallel Databases3
2010 Graphical XQuery in the aqualogic data services platform
abstract
The AquaLogic Data Services Platform (ALDSP) is a middleware platform developed at BEA Systems for building services, referred to as data services, that integrate, access, and manipulate information coming from multiple heterogeneous sources of data (including databases, files, and other services). ALDSP uses functions that produce and consume XML to model heterogeneous information sources, so the integration logic for data access services in ALDSP is specified declaratively using the XQuery language. A challenge that we faced in developing ALDSP was providing effective graphical tooling to help data service developers to develop information integration queries. In this paper, we describe the graphical XQuery Editor (XQE) that resulted from our attempt to tackle this challenge. XQE handles the full XQuery language and provides a robust two-way editing experience involving both graphical and source views of each query. XQE is novel in being the first commercial graphical XQuery editor to support both of these features.
Vinayak R. Borkar, Michael J. Carey 0001, Sebu Koleth, Alexander Kotopoulis, Kautul Mehta, Joshua Spiegel, Sachin Thatte, Till Westmann
SIGMOD Conference2
2010 OpenII: an open source information integration toolkit
abstract
OpenII (openintegration.org) is a collaborative effort to create a suite of open-source tools for information integration (II). The project is leveraging the latest developments in II research to create a platform on which integration tools can be built and further research conducted. In addition to a scalable, extensible platform, OpenII includes industrial-strength components developed by MITRE, Google, UC-Irvine, and UC-Berkeley that interoperate through a common repository in order to solve II problems. Components of the toolkit have been successfully applied to several large-scale US government II challenges.
Leonard J. Seligman, Kris Mork, Alon Y. Halevy, Kenneth P. Smith, Michael J. Carey 0001, Kuang Chen, Chris Wolf, Jayant Madhavan, Akshay Kannan, Douglas Burdick
SIGMOD Conference5
2010 Efficient parallel set-similarity joins using MapReduce
abstract
In this paper we study how to efficiently perform set-similarity joins in parallel using the popular MapReduce framework. We propose a 3-stage approach for end-to-end set-similarity joins. We take as input a set of records and output a set of joined records based on a set-similarity condition. We efficiently partition the data across nodes in order to balance the workload and minimize the need for replication. We study both self-join and R-S join cases, and show how to carefully control the amount of data kept in main memory on each node. We also propose solutions for the case where, even if we use the most fine-grained partitioning, the data still does not fit in the main memory of a node. We report results from extensive experiments on real datasets, synthetically increased in size, to evaluate the speedup and scaleup properties of the proposed algorithms using Hadoop.
Rares Vernica, Michael J. Carey 0001, Chen Li 0001
SIGMOD Conference2
2010 Cloud Databases: What's New?
abstract
The panelists will discuss what characterizes data management in the cloud, and how this differs from the broad range of applications that conventional database management systems have supported over the past few decades. They will examine whether we need to develop new technologies to address demonstrably new challenges, or whether we can largely re-position existing systems and approaches. The discussion will cover data analysis in the cloud using Map-Reduce based systems such as Hadoop, and cloud data serving (and so-called "No SQL" systems).
Daniel J. Abadi, Michael J. Carey 0001, Surajit Chaudhuri, Hector Garcia-Molina, Jignesh M. Patel, Raghu Ramakrishnan 0001
Proc. VLDB Endow.2
2009 Updates in the AquaLogic Data Services Platform
abstract
The BEA aqualogic data services platform (ALDSP) is a middleware platform for creating services that integrate and manipulate information from disparate enterprise data sources. This paper provides a technical overview of the all-new update support in ALDSP 3.0, released in January 2008. It describes the update side of data services, our unique model for making update automation transparent and flexible, and the use of the XQuery Scripting Extension (XQSE) for further customizing the system's default handling of updates. It also gives an overview of the ALDSP update processing machinery, including the automatic generation of update maps from read functions, translation of update maps into update virtual machine (UVM) programs, the UVM instruction interpreter, and SQL generation for updates to data drawn from relational data sources.
Michael Blow, Vinayak R. Borkar, Michael J. Carey 0001, Chris Hillery, Alexander Kotopoulis, Dmitry Lychagin, Radu Preotiuc-Pietro, Panagiotis Reveliotis, Joshua Spiegel, Till Westmann
ICDE3
2009 Access control in the aqualogic data services platform
abstract
The AquaLogic Data Services Platform (ALDSP) is a middleware platform for building data services that integrate and provide operations over data drawn from spanning multiple heterogeneous information sources. A data service consists of an XML Schema instance, describing its information content, and a collection of XQuery functions and procedures that comprise its set of operations. This paper describes access control in ALDSP. We describe ALDSP's securable resource hierarchy, its fine-grained access control capabilities for securing portions of data service schemas, how XQuery can be used to specify data-driven security policies, and how user identity mapping is supported. We then provide an in-depth overview of how ALDSP works, including implementation techniques to keep access control checking from interacting badly with view rewriting, query optimization, and caching.
Vinayak R. Borkar, Michael J. Carey 0001, Daniel Engovatov, Dmitry Lychagin, Panagiotis Reveliotis, Joshua Spiegel, Sachin Thatte, Till Westmann
SIGMOD Conference2
2008 XQSE: An XQuery Scripting Extension for the AquaLogic Data Services Platform
abstract
The AquaLogic Data Services Platform (ALDSP) is a BEA middleware platform for creating services that access and manipulate information drawn from multiple heterogeneous sources of data. The integration logic for read services is specified declaratively using the XQuery language. ALDSP 3.0, available in December 2007, includes a new XQuery-based Scripting Extension - XQSE - that enables developers to write procedural as well as declarative logic without leaving the XQuery world. In this paper, we describe the XQSE extensions to XQuery and show how they help to support important new classes of data services in ALDSP 3.0.
Vinayak R. Borkar, Michael J. Carey 0001, Daniel Engovatov, Dmitry Lychagin, Till Westmann, Warren Wong
ICDE2
2007 Inverse Functions in the AquaLogic Data Services Platform
Nicola Onose, Vinayak R. Borkar, Michael J. Carey 0001
VLDB3
2006 SQL to XQuery Translation in the AquaLogic Data Services Platform
abstract
SQL has long been the standard language for retrieving and manipulating data in relational database systems. XML has become the standard format for data exchange, and XQuery is on its way to becoming the standard language for querying XML data. The BEA AquaLogic Data Services Platform provides a service-oriented, XML-based view of heterogeneous enterprise data sources and allows this view to be queried using XQuery. AquaLogic DSP includes a JDBC driver that connects the old (SQL) world with the new (XML) world via a SQL-to-XQuery translator. This paper outlines the issues related to creating such a driver and details the approach used to translate SQL queries into XQuery expressions. The paper also touches on performance considerations related to handling XML query results in a context where JDBC result sets are the desired output format.
Sunil Jigyasu, Sujeet Banerjee, Vinayak R. Borkar, Michael J. Carey 0001, Kanad Dixit, Anil Malkani, Sachin Thatte
ICDE4
2006 The BEA AquaLogic data services platform (Demo)
abstract
We showcase the BEA AquaLogic Data Services Platform (ALDSP), a middleware infrastructure product that enables the declarative development of data services for service-oriented architectures (SOA). ALDSP includes support for modeling networks of interrelated data services, for realizing data services using either graphical or source-based XQuery editors, for testing data services as they are developed, and for identifying and incorporating changes in the structure of the underlying sources of data. Physical data sources supported include relational tables and views, Web services, packaged applications, stored procedures, XML files, delimited files, and custom Java applications. Data service definitions can be layered; as with relational views, such layering is virtual, and is rewritten away at query compilation time. ALDSP supports both read and update data service functions, and the ALDSP XML query runtime includes a number of interesting query operators and distributed query optimizations. In addition, ALDSP supports function caching, fine-grained security, and SQL-based data access as well as providing service-based and XQuery access to SOA data. We plan to demonstrate as much of this as time permits.
Vinayak R. Borkar, Michael J. Carey 0001, Dmitry Lychagin, Till Westmann
SIGMOD Conference2
2006 Data delivery in a service-oriented world: the BEA aquaLogic data services platform
abstract
"Wow. I fell asleep listening to SOA music, and when I woke up, I couldn't remember where I'd put my data. Now what?" Has this happened to you? With the new push towards service-oriented architectures (SOA) and process orientation, data seems to have been lost in the shuffle. At the end of the day, however, applications are still about data, and SOA applications are no different. In this paper, we present BEA's approach to serving up data to SOA applications. BEA recently introduced a new middleware product called the AquaLogic Data Services Platform (ALDSP). The purpose of ALDSP is to make it easy to design, develop, deploy, and maintain a data services layer in the world of service-oriented architecture. ALDSP provides a new, declarative foundation for building SOA applications and services that need to access and compose information from a range of enterprise data sources. The paper covers both the foundation and the key features of ALDSP, including its underlying technologies, its overall system architecture, and its most interesting capabilities.
Michael J. Carey 0001
SIGMOD Conference1
2006 Query Processing in the AquaLogic Data Services Platform
Vinayak R. Borkar, Michael J. Carey 0001, Dmitry Lychagin, Till Westmann, Daniel Engovatov, Nicola Onose
VLDB2
2005 The Geek-Tones: An Experiment in Distributed, Real-time Musical Integration
Michael J. Carey 0001, Dean Jacobs, Leonard J. Seligman
CIDR1
2005 Enterprise information integration: successes, challenges and controversies
abstract
The goal of EII systems is to provide uniform access to multiple data sources without having to first load them into a data warehouse. Since the late 1990's, several EII products have appeared in the marketplace and significant experience has been accumulated from fielding such systems. This collection of articles, by individuals who were involved in this industry in various ways, describes some of these experiences and points to the challenges ahead.
Alon Y. Halevy, Naveen Ashish, Dina Bitton, Michael J. Carey 0001, Denise Draper, Jeff Pollock, Arnon Rosenthal, Vishal Sikka
SIGMOD Conference4
2004 BEA Liquid Data for WebLogic: XML-Based Enterprise Information Integration
abstract
This presentation provides a technical overview of BEA Liquid Data for WebLogic, a relatively new product from BEA Systems that provides enterprise information integration capabilities to enterprise applications that are built and deployed using the BEA WebLogic Platform. Liquid Data takes an XML-centric approach to tackling the long-standing problem of integrating data from disparate data sources and making that information easily accessible to applications. In particular, Liquid Data uses the forthcoming XQuery language standard as the basis for defining integrated views of enterprise data and querying over those views. We provide a brief overview of the Liquid Data product architecture and then discuss some of the query processing technology that lies at the heart of the product.
Michael J. Carey 0001
ICDE1
2004 XML in the Middle: XQuery in the WebLogic Platform
abstract
The BEA WebLogic Platform product suite consists of WebLogic Server, WebLogic Workshop, WebLogic Integration, WebLogic Portal, and Liquid Data for WebLogic. W3C standards including XML, XML Schema, and the emerging XML query language XQuery play important roles in several of these products. This industrial presentation will discuss the increasingly central role of XML in the middle tier of enterprise IT architectures and cover some of the key XML technologies that the BEA WebLogic Platform provides for creating enterprise applications in today's IT world. We focus in particular on how XQuery fits into this picture, both for today's WebLogic Platform 8.1 and going forward in terms of the Platform roadmap.
Michael J. Carey 0001
SIGMOD Conference1
2004 The BEA streaming XQuery processor
Daniela Florescu, Chris Hillery, Donald Kossmann, Paul Lucas, Fabio Riccardi, Till Westmann, Michael J. Carey 0001, Arvind Sundararajan
VLDB J.7
2004 Best papers of VLDB 2003
Johann-Christoph Freytag, Serge Abiteboul, Michael J. Carey 0001
VLDB J.3
2003 Enterprise Information Integration ? XML to the Rescue!
Michael J. Carey 0001
ER1
2003 The BEA/XQRL Streaming XQuery Processor
Daniela Florescu, Chris Hillery, Donald Kossmann, Paul Lucas, Fabio Riccardi, Till Westmann, Michael J. Carey 0001, Arvind Sundararajan, Geetika Agrawal
VLDB7
2002 XMark: A Benchmark for XML Data Management
Albrecht Schmidt 0002, F. Michael Waas, Martin L. Kersten, Michael J. Carey 0001, Ioana Manolescu, Ralph Busse
VLDB4
2001 The Propel Distributed Services Platform
Michael J. Carey 0001, Steve Kirsch, Mary Roth, Bert Van der Linden, Nicolas Adiba, Michael Blow, Daniela Florescu, Ivan Oprencak, Rajendra Panwar, Runping Qi, David Rieber, John C. Shafer, Brian Sterling, Tolga Urhan, Brian Vickery, Dan Wineman, Kuan Yee
VLDB1
2001 Efficiently publishing relational data as XML documents
Jayavel Shanmugasundaram, Eugene J. Shekita, Rimon Barr, Michael J. Carey 0001, Bruce G. Lindsay 0001, Hamid Pirahesh, Berthold Reinwald
VLDB J.4
2000 Object View Hierarchies in DB2 UDB
Michael J. Carey 0001, Serge Rielau, Bennet Vance
EDBT1
2000 On XML and Databases: Where's the Beef? (Panel Abstract)
abstract
This panel will examine the implications of the XML revolution, which is currently raging on the web, for database systems research and development.
Michael J. Carey 0001, Adam Bosworth, Bruce G. Lindsay 0001, Michael Stonebraker, Dan Suciu, Jennifer Widom
SIGMOD Conference1
2000 Toto, We're Not in Kansas Anymore: On Transitioning from Research to the Real (Invited Industrial Talk)
Michael J. Carey 0001
VLDB1
2000 XPERANTO: Middleware for Publishing Object-Relational Data as XML Documents
Michael J. Carey 0001, Jerry Kiernan, Jayavel Shanmugasundaram, Eugene J. Shekita, Iyer N. Subramanian
VLDB1
2000 Efficiently Publishing Relational Data as XML Documents
Jayavel Shanmugasundaram, Eugene J. Shekita, Rimon Barr, Michael J. Carey 0001, Bruce G. Lindsay 0001, Hamid Pirahesh, Berthold Reinwald
VLDB4
1999 O-O, What's Happening to DB2?
abstract
In this presentation, we will describe a collection of new object-relational features that have been added to IBM's DB2 Universal Database (UDB) system. The features to be described include support for structured types, object references, and hierarchies of typed tables and views. These features will be covered from the perspective of a database designer or end user. In addition to presenting the features presently available in DB2 UDB V5.2, which became available in Fall 1998, we will discuss the expected evolution and impact of this technology over time.
Michael J. Carey 0001, Donald D. Chamberlin, Srinivasa Narayanan, Bennet Vance, Doug Doole, Serge Rielau, Richard Swagerman, Nelson Mendonça Mattos
SIGMOD Conference1
1999 O-O, What Have They Done to DB2?
Michael J. Carey 0001, Donald D. Chamberlin, Srinivasa Narayanan, Bennet Vance, Doug Doole, Serge Rielau, Richard Swagerman, Nelson Mendonça Mattos
VLDB1
1998 Reducing the Braking Distance of an SQL Query Engine
Michael J. Carey 0001, Donald Kossmann
VLDB1
1997 The BUCKY Object-Relational Benchmark (Experience Paper)
abstract
According to various trade journals and corporate marketing machines, we are now on the verge of a revolution—the object-relational database revolution. Since we believe that no one should face a revolution without appropriate armaments, this paper presents BUCKY, a new benchmark for object-relational database systems. BUCKY is a query-oriented benchmark that tests many of the key features offered by object-relational systems, including row types and inheritance, references and path expressions, sets of atomic values and of references, methods and late binding, and user-defined abstract data types and their methods. To test the maturity of object-relational technology relative to relational technology, we provide both an object-relational version of BUCKY and a relational equivalent thereof (i.e., a relational BUCKY simulation). Finally, we briefly discuss the initial performance results and lessons that resulted from applying BUCKY to one of the early object-relational database system products.
Michael J. Carey 0001, David J. DeWitt, Jeffrey F. Naughton, Mohammad Asgarian, Paul Brown, Johannes Gehrke, Dhaval Shah
SIGMOD Conference1
1997 On Saying "Enough Already!" in SQL
abstract
In this paper, we study a simple SQL extension that enables query writers to explicitly limit the cardinality of a query result. We examine its impact on the query optimization and run-time execution components of a relational DBMS, presenting two approaches—a Conservative approach and an Aggressive approach—to exploiting cardinality limits in relational query plans. Results obtained from an empirical study conducted using DB2 demonstrate the benefits of the SQL extension and illustrate the tradeoffs between our two approaches to implementing it.
Michael J. Carey 0001, Donald Kossmann
SIGMOD Conference1
1997 Object-Relational Database Systems: Principles, Products, and Challenges (Tutorial)
abstract
Object-relational database systems, a.k.a. “universal servers,” are emerging as the next major generation of commercial database system technology. Products from relational DBMS vendors including IBM, Informix, Oracle, UniSQL, and others, include object-relational features today, and all of the major vendors appear to be on course to delivering full object-relational support in their products over the next few years. In addition, the SQL3 standard is rapidly solidifying in this area. The goal of this tutorial is to explain what the key features are of object-relational database systems, review what today's products provide, and then look ahead to where these systems are heading. The presentation will be aimed at general SIGMOD audience, and should therefore be appropriate for users, practitioners, and/or researchers who want to learn about object-relational database systems.
Michael J. Carey 0001, Nelson Mendonça Mattos, Anil K. Nori
SIGMOD Conference1
1997 Highly Concurrent Cache Consistency for Indices in Client-Server Database Systems
abstract
In this paper, we present four approaches to providing highly concurrent B+-tree indices in the context of a data-shipping, client-server OODBMS architecture. The first performs all index operations at the server, while the other approaches support varying degrees of client caching and usage of index pages. We have implemented the four approaches, as well as the 2PL approach, in the context of the SHORE OODB system at Wisconsin, and we present experimental results from a performance study based on running SHORE on an IBM SP2 multicomputer. Our results emphasize the need for non-2PL approaches and demonstrate the tradeoffs between 2PL, no-caching, and the three caching alternatives.
Markos Zaharioudakis, Michael J. Carey 0001
SIGMOD Conference2
1997 Indexing for Multiversion Locking: Alternatives and Performance Evaluation
abstract
Multiversion two phase locking (MV2PL) provides online serializable queries without introducing the long blocking delays that can occur with conventional two phase locking (2PL). MV2PL requires indexing structures, however, that are capable of supporting multiple versions of data. We present several options for extending single version indexing schemes for use with MV2PL. These basic approaches are largely orthogonal to the underlying indexing structure (e.g., hashing or B+ trees). The options considered differ in where they place version selection information (i.e., references to individual versions); this information is placed either with the data or with the index entries of one or more of the indices. We also present the results from a performance study that show that placing the version selection information with the data is usually the best option, since it keeps the indices smaller and thus enables a larger fraction of the index pages to remain cached in the buffer pool.
Paul M. Bober, Michael J. Carey 0001
IEEE Trans. Knowl. Data Eng.2
1997 Transactional Client-Server Cache Consistency: Alternatives and Performance
abstract
Client-server database systems based on a data shipping model can exploit client memory resources by caching copies of data items across transaction boundaries. Caching reduces the need to obtain data from servers or other sites on the network. In order to ensure that such caching does not result in the violation of transaction semantics, a transactional cache consistency maintenance algorithm is required. Many such algorithms have been proposed in the literature and, as all provide the same functionality, performance is a primary concern in choosing among them. In this article we present a taxonomy that describes the design space for transactional cache consistency maintenance algorithms and show how proposed algorithms relate to one another. We then investigate the performance of six of these algorithms, and use these results to examine the tradeoffs inherent in the design choices identified in the taxonomy. The results show that the interactions among dimensions of the design space impact performance in many ways, and that classifications of algorithms as simply “pessimistic” or “optimistic” do not accurately characterize the similarities and differences among the many possible cache consistency algorithms.
Michael J. Franklin, Michael J. Carey 0001, Miron Livny
ACM Trans. Database Syst.2
1997 Adaptive, Fine-Grained Sharing in a Client-Server OODBMS: A Callback-Based Approach
abstract
For reasons of simplicity and communication efficiency, a number of existing object-oriented database management systems are based on page server architectures; data pages are their minimum unit of transfer and client caching. Despite their efficiency, page servers are often criticized as being too retrictive when it comes to concurrency, as existing systems use pages as the minimum locking unit as well. In this paper we show how to support object-level locking in a page-server context. Several approaches are described, including an adaptive granularity approach that uses page-level locking for most pages but switches to object-level locking when finer-grained sharing is demanded. Each of the approaches is based on extending the idea of callback locking. We study the performance of these approaches, comparing them to both a pure page server and a pure object server. For the range of workload that we have examined, our results indicate that the adaptive page server provides very good performance, usually outperforming the pure page server and the other page-server variants as well. In addition, the adaptive page server is often preferable to the pure object server; our results provides insight into when each approach is likely to perform better.
Markos Zaharioudakis, Michael J. Carey 0001, Michael J. Franklin
ACM Trans. Database Syst.2
1997 Seeking the Truth About ad hoc Join Costs
Laura M. Haas, Michael J. Carey 0001, Miron Livny, Amit Shukla 0001
VLDB J.2
1996 Goal-Oriented Buffer Management Revisited
abstract
In this paper we revisit the problem of achieving multi-class workload response time goals by automatically adjusting the buffer memory allocations of each workload class. We discuss the virtues and limitations of previous work with respect to a set of criteria we lay out for judging the success of any goal-oriented resource allocation algorithm. We then introduce the concept of hit rate concavity and develop a new goal-oriented buffer allocation algorithm, called Class Fencing, that is based on this concept. Exploiting the notion of hit rate concavity results in an algorithm that not only is as accurate and stable as our previous work, but also more responsive, more robust, and simpler to implement.
Kurt P. Brown, Michael J. Carey 0001, Miron Livny
SIGMOD Conference2
1996 Towards Effective and Efficient Free Space Management
abstract
An important problem faced by many database management systems is the "online object placement problem"--the problem of choosing a disk page to hold a newly allocated object. In the absence of clustering criteria, the goal is to maximize storage utilization. For main-memory based systems, simple heuristics exist that provide reasonable space utilization in the worst case and excellent utilization in typical cases. However, the storage management problem for databases includes significant additional challenges, such as minimizing I/O traffic, coping with crash recovery, and gracefully integrating space management with locking and logging.We survey several object placement algorithms, including techniques that can be found in commercial and research database systems. We then present a new object placement algorithm that we have designed for use in Shore, an object-oriented database system under development at the University of Wisconsin--Madison. Finally, we present results from a series of experiments involving actual Shore implementations of some of these algorithms. Our results show that while current object placement algorithms have serious performance deficiencies, including excessive CPU or main memory overhead, I/O traffic, or poor disk utilization, our new algorithm consistently excellent performance in all of these areas.
Mark L. McAuliffe, Michael J. Carey 0001, Marvin H. Solomon
SIGMOD Conference2
1996 The Garlic Project
abstract
The goal of the Garlic [1] project is to build a multimedia information system capable of integrating data that resides in different database systems as well as in a variety of non-database data servers. This integration must be enabled while maintaining the independence of the data servers, and without creating copies of their data. "Multimedia" should be interpreted broadly to mean not only images, video, and audio, but also text and application specific data types (e.g., CAD drawings, medical objects, …). Since much of this data is naturally modeled by objects, Garlic provides an object-oriented schema to applications, interprets object queries, creates execution plans for sending pieces of queries to the appropriate data servers, and assembles query results for delivery back to the applications. A significant focus of the project is support for "intelligent" data servers, i.e., servers that provide media-specific indexing and query capabilities [2]. Database optimization technology is being extended to deal with heterogeneous collections of data servers so that efficient data access plans can be employed for multi-repository queries.A prototype of the Garlic system has been operational since January 1995. Queries are expressed in an SQL-like query language that has been extended to include object-oriented features such as reference-valued attributes and nested sets. In addition to a C++ API, Garlic supports a novel query/browser interface called PESTO [3]. This component of Garlic provides end users of the system with a friendly, graphical interface that supports interactive browsing, navigation, and querying of the contents of Garlic databases. Unlike existing interfaces to databases, PESTO allows users to move back and forth seamlessly between querying and browsing activities, using queries to identify interesting subsets of the database, browsing the subset, querying the content of a set-valued attribute of a particularly interesting object in the subset, and so on.
Mary Roth, Manish Arya, Laura M. Haas, Michael J. Carey 0001, William F. Cody, Ronald Fagin, Peter M. Schwarz, Joachim Thomas 0002, Edward L. Wimmers
SIGMOD Conference4
1996 Of Objects and Databases: A Decade of Turmoil
Michael J. Carey 0001, David J. DeWitt
VLDB1
1996 PESTO : An Integrated Query/Browser for Object Databases
Michael J. Carey 0001, Laura M. Haas, Vivekananda Maganty, John H. Williams
VLDB1
1995 Multiclass Query Scheduling in Real-Time Database Systems
abstract
In recent years, a demand for real-time systems that can manipulate large amounts of shared data has led to the emergence of real-time database systems (RTDBS) as a research area. This paper focuses on the problem of scheduling queries in RTDBSs. We introduce and evaluate a new algorithm called Priority Adaptation Query Resource Scheduling (PAQRS) for handling both single class and multiclass query workloads. The performance objective of the algorithm is to minimize the number of missed deadlines, while at the same time ensuring that any deadline misses are scattered across the different classes according to an administratively-defined miss distribution. This objective is achieved by dynamically adapting the system's admission, memory allocation, and priority assignment policies according to its current resource configuration and workload characteristics. A series of experiments confirms that PAQRS is very effective for real-time query scheduling.>
HweeHwa Pang, Michael J. Carey 0001, Miron Livny
IEEE Trans. Knowl. Data Eng.2
1994 Indexing Alternatives for Multiversion Locking
Paul M. Bober, Michael J. Carey 0001
EDBT2
1994 Quest: A Project on Database Mining
abstract
No abstract available.
Rakesh Agrawal 0001, Michael J. Carey 0001, Christos Faloutsos, Sakti P. Ghosh, Maurice A. W. Houtsma, Tomasz Imielinski, Balakrishna R. Iyer, A. Mahboob, H. Miranda, Ramakrishnan Srikant, Arun N. Swami
SIGMOD Conference2
1994 Parallel Database Systems in the 1990's
abstract
No abstract available.
Michael J. Carey 0001
SIGMOD Conference1
1994 Shoring Up Persistent Applications
abstract
SHORE (Scalable Heterogeneous Object REpository) is a persistent object system under development at the University of Wisconsin. SHORE represents a merger of object-oriented database and file system technologies. In this paper we give the goals and motivation for SHORE, and describe how SHORE provides features of both technologies. We also describe some novel aspects of the SHORE architecture, including a symmetric peer-to-peer server architecture, server customization through an extensible value-added server facility, and support for scalability on multiprocessor systems. An initial version of SHORE is already operational, and we expect a release of Version 1 in mid-1994.
Michael J. Carey 0001, David J. DeWitt, Michael J. Franklin, Nancy E. Hall, Mark L. McAuliffe, Jeffrey F. Naughton, Daniel T. Schuh, Marvin H. Solomon, C. K. Tan, Odysseas G. Tsatalos, Seth J. White, Mike Zwilling
SIGMOD Conference1
1994 Fine-Grained Sharing in a Page Server OODBMS
abstract
For reasons of simplicity and communication efficiency, a number of existing object-oriented database management systems are based on page server architectures; data pages are their minimum unit of transfer and client caching. Despite their efficiency, page servers are often criticized as being too restrictive when it comes to concurrency, as existing systems use pages as the minimum locking unit as well. In this paper we show how to support object-level locking in a page server context. Several approaches are described, including an adaptive granularity approach that uses page-level locking for most pages but switches to object-level locking when finer-grained sharing is demanded. We study the performance of these approaches, comparing them to both a pure page server and a pure object server. For the range of workloads that we have examined, our results indicate that a page server is clearly preferable to an object server. Moreover, the adaptive page server is shown to provide very good performance, generally outperforming the pure page server, the pure object server, and the other alternatives as well.
Michael J. Carey 0001, Michael J. Franklin, Markos Zaharioudakis
SIGMOD Conference1
1994 Managing Memory for Real-Time Queries
abstract
The demanding performance objectives that real-time database systems (RTDBS) face necessitate the use of priority resource scheduling. This paper introduces a Priority Memory Management (PMM) algorithm that is designed to schedule queries in RTDBS. PMM attempts to minimize the number of missed deadlines by adapting both its multiprogramming level and its memory allocation strategy to the characteristics of the offered workload. A series of simulation experiments confirms that PMM's admission control and memory allocation mechanisms are very effective for real-time query scheduling.
HweeHwa Pang, Michael J. Carey 0001, Miron Livny
SIGMOD Conference2
1994 Towards Automated Performance Tuning for Complex Workloads
Kurt P. Brown, Manish Mehta 0002, Michael J. Carey 0001, Miron Livny
VLDB3
1993 The oo7 Benchmark
abstract
The OO7 Benchmark represents a comprehensive test of OODBMS performance. In this paper we describe the benchmark and present performance results from its implementation in three OODBMS systems. It is our hope that the OO7 Benchmark will provide useful insight for end-users evaluating the performance of OODBMS systems; we also hope that the research community will find that OO7 provides a database schema, instance, and workload that is useful for evaluating new techniques and algorithms for OODBMS implementation.
Michael J. Carey 0001, David J. DeWitt, Jeffrey F. Naughton
SIGMOD Conference1
1993 Tapes Hold Data, Too: Challenges of Tuples on Tertiary Store
abstract
Article Free Access Share on Tapes hold data, too: challenges of tuples on tertiary store Authors: Michael J. Carey Computer Science Dept., University of Wisconsin, Madison, WI Computer Science Dept., University of Wisconsin, Madison, WIView Profile , Laura M. Haas IBM Almaden Research Center, K55/801, San Jose, CA IBM Almaden Research Center, K55/801, San Jose, CAView Profile , Miron Livny Computer Science Dept., University of Wisconsin, Madison, WI Computer Science Dept., University of Wisconsin, Madison, WIView Profile Authors Info & Claims SIGMOD '93: Proceedings of the 1993 ACM SIGMOD international conference on Management of dataJune 1993Pages 413–417https://doi.org/10.1145/170035.170103Published:01 June 1993Publication History 30citation211DownloadsMetricsTotal Citations30Total Downloads211Last 12 Months55Last 6 weeks2 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Michael J. Carey 0001, Laura M. Haas, Miron Livny
SIGMOD Conference1
1993 Partially Preemptive Hash Joins
abstract
With the advent of real-time and goal-oriented database systems, priority scheduling is likely to be an important feature in future database management systems. A consequence of priority scheduling is that a transaction may lose its buffers to higher-priority transactions, and may be given additional memory when transactions leave the system. Due to their heavy reliance on main memory, hash joins are especially vulnerable to fluctuations in memory availability. Previous studies have proposed modifications to the hash join algorithm to cope with these fluctuations, but the proposed algorithms have not been extensively evaluated or compared with each other. This paper contains a performance study of these algorithms. In addition, we introduce a family of memory-adaptive hash join algorithms that turns out to offer even better solutions to the memory fluctuation problem that hash joins experience.
HweeHwa Pang, Michael J. Carey 0001, Miron Livny
SIGMOD Conference2
1993 Managing Memory to Meet Multiclass Workload Response Time Goals
Kurt P. Brown, Michael J. Carey 0001, Miron Livny
VLDB2
1993 Local Disk Caching for Client-Server Database Systems
Michael J. Franklin, Michael J. Carey 0001, Miron Livny
VLDB2
1993 Memory-Adaptive External Sorting
HweeHwa Pang, Michael J. Carey 0001, Miron Livny
VLDB2
1993 Value-Based Scheduling in Real-Time Database Systems
Jayant R. Haritsa, Michael J. Carey 0001, Miron Livny
VLDB J.2
1993 Performance of B+ Tree Concurrency Algorithms
V. Srinivasan 0001, Michael J. Carey 0001
VLDB J.2
1992 Performance of On-Line Index Construction Algorithms
V. Srinivasan 0001, Michael J. Carey 0001
EDBT2
1992 On Mixing Queries and Transactions via Multiversion Locking
abstract
The authors discuss a novel approach to multiversion concurrency control that allows high-performance transaction systems to support long-running queries. The approach extends the multiversion locking algorithm developed by Computer Corporation of America by using record-level versioning and reserving a portion of each data page for caching prior versions that are potentially needed for the serializable execution of queries; on-page caching also enables an efficient approach to garbage collection of old versions. In addition, view sharing is introduced, which has the potential for reducing the cost of versioning by grouping together queries to run against the same transaction-consistent view of the database. Results from a simulation study that indicate that the approach is a viable alternative to level-one and level-two consistency locking when the portion of each data reserved for prior versions is chosen appropriately are presented.>
Paul M. Bober, Michael J. Carey 0001
ICDE2
1992 Crash Recovery in Client-Server EXODUS
abstract
In this paper, we address the correctness and performance issues that arise when implementing logging and crash recovery in a page-server environment. The issues result from two characteristics of page-server systems: 1) the fact that data is modified and cached in client database buffers that are not accessible by the server, and 2) the performance and cost trade-offs that are inherent in a client-server environment. We describe a recovery system that we have implemented for the client-server version of the EXODUS storage manager. The implementation supports efficient buffer management policies, allows flexibility in the interaction between clients and the server, and reduces the server load by generating log records at clients. We also present a preliminary performance analysis of the implementation.
Michael J. Franklin, Mike Zwilling, C. K. Tan, Michael J. Carey 0001, David J. DeWitt
SIGMOD Conference4
1992 Compensation-Based On-Line Query Processing
abstract
It is well known that using conventional concurrency control techniques for obtaining serializable answers to long-running queries leads to an unacceptable drop in system performance. As a result, most current DBMSs execute such queries under a reduced degree of consistency, thus providing non-serializable answers. In this paper, we present a new and highly concurrent approach for processing large decision support queries in relational databases. In this new approach, called compensation-based query processing, concurrent updates to any data participating in a query are communicated to the query's on-line query processor, which then compensates for these updates so that the final answer reflects changes caused by the updates. Very high concurrency is achieved by locking data only briefly, while still delivering transaction-consistent answers to queries.
V. Srinivasan 0001, Michael J. Carey 0001
SIGMOD Conference2
1992 Multiversion Query Locking
Paul M. Bober, Michael J. Carey 0001
VLDB2
1992 Global Memory Management in Client-Server Database Architectures
Michael J. Franklin, Michael J. Carey 0001, Miron Livny
VLDB2
1992 Performance evaluation of algorithms for transitive closure
Robert Kabler, Yannis E. Ioannidis, Michael J. Carey 0001
Inf. Syst.3
1991 Data Caching Tradeoffs in Client-Server DBMS Architectures
abstract
article Free Access Share on Data caching tradeoffs in client-server DBMS architectures Authors: Michael J. Carey Computer Sciences Department, University of Wisconsin-Madison Computer Sciences Department, University of Wisconsin-MadisonView Profile , Michael J. Franklin Computer Sciences Department, University of Wisconsin-Madison Computer Sciences Department, University of Wisconsin-MadisonView Profile , Miron Livny Computer Sciences Department, University of Wisconsin-Madison Computer Sciences Department, University of Wisconsin-MadisonView Profile , Eugene J. Shekita IBM Almaden Research Center and Computer Sciences Department, University of Wisconsin-Madison IBM Almaden Research Center and Computer Sciences Department, University of Wisconsin-MadisonView Profile Authors Info & Claims ACM SIGMOD RecordVolume 20Issue 2June 1991 pp 357–366https://doi.org/10.1145/119995.115854Published:01 April 1991Publication History 151citation1,074DownloadsMetricsTotal Citations151Total Downloads1,074Last 12 Months100Last 6 weeks4 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Michael J. Carey 0001, Michael J. Franklin, Miron Livny, Eugene J. Shekita
SIGMOD Conference1
1991 Performance of B-Tree Concurrency Algorithms
abstract
article Free Access Share on Performance of B-tree concurrency control algorithms Authors: V. Srinivasan Department of Computer Sciences, University of Wisconsin, Madison, WI Department of Computer Sciences, University of Wisconsin, Madison, WIView Profile , Michael J. Carey Department of Computer Sciences, University of Wisconsin, Madison, WI Department of Computer Sciences, University of Wisconsin, Madison, WIView Profile Authors Info & Claims ACM SIGMOD RecordVolume 20Issue 2June 1991 pp 416–425https://doi.org/10.1145/119995.115860Online:01 April 1991Publication History 67citation1,031DownloadsMetricsTotal Citations67Total Downloads1,031Last 12 Months52Last 6 weeks20 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
V. Srinivasan 0001, Michael J. Carey 0001
SIGMOD Conference2
1991 On Transaction Boundaries in Active Databases: A Performance Perspective
abstract
A performance model designed for studying active DBMS performance issues is described. The authors present the results of simulation experiments in which system performance was studied as a function of transaction boundary semantics for varying levels of data contention, rule complexity, and data sharing between externally submitted tasks and rule management tasks. The results demonstrate that the way in which transaction boundaries are imposed can have a major impact on the performance of an active DBMS. It is therefore concluded that this aspect of rule semantics must be carefully considered at the time that rules are specified.>
Michael J. Carey 0001, Rajiv Jauhari, Miron Livny
IEEE Trans. Knowl. Data Eng.1
1991 Conflict Detection Tradeoffs for Replicated Data
abstract
data replicationand "distributedness" of accesses to replicated data.The results provide some interesting insights into how the trade-offs between early and late conflict detection vary as a function of message cost, and should prove useful to distributed database system designers.
Michael J. Carey 0001, Miron Livny
ACM Trans. Database Syst.1
1990 Load Control for Locking: The 'Half-and-Half' Approach
abstract
A number of concurrency control performance studies have shown that, under high levels of data contention, concurrency control algorithms can exhibit thrashing behavior which is detrimental to overall system performance. In this paper, we present an approach to eliminating thrashing in the case of two-phase locking, a widely used concurrency control algorithm. Our solution, which we call the 'Half-and-Half' Algorithm, involves monitoring the state of the DBMS in order to dynamically control the multiprogramming level of the system. Results from a performance study indicate that the Half-and-Half algorithm can be very effective at preventing thrashing under a wide range of operating conditions and workloads.
Michael J. Carey 0001, Sanjay Krishnamurthi, Miron Livny
PODS1
1990 On Being Optimistic about Real-Time Constraints
abstract
Performance studies of concurrency control algorithms for conventional database systems have shown that, under most operating circumstances, locking protocols outperform optimistic techniques. Real-time database systems have special characteristics - timing constraints are associated with transactions, performance criteria are based on satisfaction of these timing constraints, and scheduling algorithms are priority driven. In light of these special characteristics, results regarding the performance of concurrency control algorithms need to be re-evaluated. We show in this paper that the following parameters of the real-time database system - its policy for dealing with transactions whose constraints are not met, its knowledge of transaction resource requirements, and the availability of resources - have a significant impact on the relative performance of the concurrency control algorithms. In particular, we demonstrate that under a policy that discards transactions whose constraints are not met, optimistic concurrency control outperforms locking over a wide range of system utilization. We also outline why, for a variety of reasons, optimistic algorithms appear well-suited to real-time database systems.
Jayant R. Haritsa, Michael J. Carey 0001, Miron Livny
PODS2
1990 A Performance Evaluation of Pointer-Based Joins
abstract
In this paper we describe three pointer-based join algorithms that are simple variants of the nested-loops, sort-merge, and hybrid-hash join algorithms used in relational database systems. Each join algorithm is described and an analysis is carried out to compare the performance of the pointer-based algorithms to their standard, non-pointer-based counterparts. The results of the analysis show that the pointer-based algorithms can provide significant performance gains in many situations. The results also show that the pointer-based nested-loops join algorithm, which is perhaps the most natural pointer-based join algorithm to consider using in an object-oriented database system, performs quite poorly on most medium to large joins.
Eugene J. Shekita, Michael J. Carey 0001
SIGMOD Conference2
1990 "The Committee for Advanced DBMS Function": Third Generation Data Base System Manifesto
Michael Stonebraker, Lawrence A. Rowe, Bruce G. Lindsay 0001, Jim Gray 0001, Michael J. Carey 0001, David Beech
SIGMOD Conference5
1990 An Incremental Join Attachment for Starburst
Michael J. Carey 0001, Eugene J. Shekita, George Lapis, Bruce G. Lindsay 0001, John McPherson
VLDB1
1990 Priority-Hints: An Algorithm for Priority-Based Buffer Management
Rajiv Jauhari, Michael J. Carey 0001, Miron Livny
VLDB2
1990 Storage management for persistent complex objects
Setrag Khoshafian, Michael J. Franklin, Michael J. Carey 0001
Inf. Syst.3
1990 Starburst Mid-Flight: As the Dust Clears
abstract
The purpose of the Starburst project is to improve the design of relational database management systems and enhance their performance, while building an extensible system to better support nontraditional applications and to serve as a testbed for future improvements in database technology. The design and implementation of the Starburst system to date are considered. Some key design decisions and how they affect the goal of improved structure and performance are examined. How well the goal of extensibility has been met is examined: what aspects of the system are extensible, how extensions can be done, and how easy it is to add extensions. Some actual extensions to the system, including the experiences of the first real customizers, are discussed.>
Laura M. Haas, Walter Chang, Guy M. Lohman, John McPherson, Paul F. Wilms, George Lapis, Bruce G. Lindsay 0001, Hamid Pirahesh, Michael J. Carey 0001, Eugene J. Shekita
IEEE Trans. Knowl. Data Eng.9
1989 Parallelism and Concurrency Control Performance in Distributed Database Machines
abstract
While several distributed (or 'shared nothing') database machines exist in the form of prototypes or commercial products, and a number of distributed concurrency control algorithms are available, the effect of parallelism on concurrency control performance has received little attention. This paper examines the interplay between parallelism and transaction performance in a distributed database machine context. Four alternative concurrency control algorithms are considered, including two-phase locking, wound-wait, basic timestamp ordering, and optimistic concurrency control. Issues addressed include how performance scales as a function of machine size and the degree to which partitioning the database for intra-transaction parallelism improves performance for the different algorithms. We examine performance from several perspectives, including response time, throughput, and speedup, and we do so over a fairly wide range of system loads. We also examine the performance impact of certain important overhead factors (e.g., communication and process initiation costs) on the four alternative concurrency control algorithms.
Michael J. Carey 0001, Miron Livny
SIGMOD Conference1
1989 Performance Enhancement Through Replication in an Object-Oriented DBMS
abstract
In this paper we describe how replicated data can be used to speedup query processing in an object-oriented database system. The general idea is to use replicated data to eliminate some of the functional joins that would otherwise be required for query processing. We refer to our technique for replicating data as field replication because it allows individual data fields to be selectively replicated. In the paper we describe how field replication can be specified at the data model level and we present storage-level mechanisms to efficiently support it. We also present an analytical cost model to give some feel for how beneficial field replication can be and the circumstances under which it breaks down. While field replication is a relatively simple notion, the analysis shows that it can provide significant performance gains in many situations.
Eugene J. Shekita, Michael J. Carey 0001
SIGMOD Conference2
1989 Priority in DBMS Resource Scheduling
Michael J. Carey 0001, Rajiv Jauhari, Miron Livny
VLDB1
1988 A Data Model and Query Language for EXODUS
abstract
In this paper, we present the design of the EXTRA data model and the EXCESS query language for the EXODUS extensible database system. The EXTRA data model includes support for complex objects with shared subobjects, a novel mix of object- and value-oriented semantics for data, support for persistent objects of any type in the EXTRA type lattice, and user-defined abstract data types (ADTs). The EXCESS query language provides facilities for querying and updating complex object structures, and it can be extended through the addition of ADT functions and operators, procedures and functions for manipulating EXTRA schema types, and generic set functions EXTRA and EXCESS are intended to serve as a test vehicle for tools developed under the EXODUS extensible database system project.
Michael J. Carey 0001, David J. DeWitt, Scott L. Vandenberg
SIGMOD Conference1
1988 Distributed Concurrency Control Performance: A Study of Algorithms, Distribution, and Replication
Michael J. Carey 0001, Miron Livny
VLDB1
1987 A Recovery Algorithm for A High-Performance Memory-Resident Database System
abstract
With memory prices dropping and memory sizes increasing accordingly, a number of researchers are addressing the problem of designing high-performance database systems for managing memory-resident data. In this paper we address the recovery problem in the context of such a system. We argue that existing database recovery schemes fall short of meeting the requirements of such a system, and we present a new recovery mechanism which is designed to overcome their shortcomings. The proposed mechanism takes advantage of a few megabytes of reliable memory in order to organize recovery information on a per “object” basis. As a result, it is able to amortize the cost of checkpoints over a controllable number of updates, and it is also able to separate post-crash recovery into two phases—high-speed recovery of data which is needed immediately by transactions, and background recovery of the remaining portions of the database. A simple performance analysis is undertaken, and the results suggest our mechanism should perform well in a high-performance, memory-resident database environment.
Tobin J. Lehman, Michael J. Carey 0001
SIGMOD Conference2
1987 Programming Constructs for Database System Implementation in EXODUS
abstract
The goal of the EXODUS extensible DBMS project is to enable the rapid development of a wide spectrum of high-performance, application-specific database systems EXODUS provides certain kernel facilities for use by all applications and a set of tools to aid the database implementor (DBI) in generating new database system software. Some of the DBI's work is supported by EXODUS tools which generate database components from a specification. However, components such as new abstract data types, access methods, and database operations must be explicitly coded by the DBI. This paper analyzes the major programming problems faced by the DBI, describing the collection of programming language constructs that EXODUS provides for simplifying the DBI's task. These constructs have been embedded in the E programming language, an extension of C++ designed specifically for implementing DBMS software.
Joel E. Richardson, Michael J. Carey 0001
SIGMOD Conference2
1987 Concurrency Control Performance Modeling: Alternatives and Implications
abstract
A number of recent studies have examined the performance of concurrency control algorithms for database management systems. The results reported to date, rather than being definitive, have tended to be contradictory. In this paper, rather than presenting “yet another algorithm performance study,” we critically investigate the assumptions made in the models used in past studies and their implications. We employ a fairly complete model of a database environment for studying the relative performance of three different approaches to the concurrency control problem under a variety of modeling assumptions. The three approaches studied represent different extremes in how transaction conflicts are dealt with, and the assumptions addressed pertain to the nature of the database system's resources, how transaction restarts are modeled, and the amount of information available to the concurrency control algorithm about transactions' reference strings. We show that differences in the underlying assumptions explain the seemingly contradictory performance results. We also address the question of how realistic the various assumptions are for actual database systems.
Rakesh Agrawal 0001, Michael J. Carey 0001, Miron Livny
ACM Trans. Database Syst.2
1986 Load Balancing in a Locally Distributed Database System
abstract
Most previous work on query optimization in distributed database systems has focused on finding optimal or near-optimal processing plans based solely on static system characteristics, and few researchers have addressed the problem of copy selection when data is replicated. This paper describes a new approach to query processing for locally distributed database systems. Our approach uses load information to select the processing site(s) for a query, dynamically choosing from among those sites that have copies of relations referenced by the query. Query compilation is used to produce a statically-optimized logical plan for the query, and then a dynamic optimization phase converts this logical plan into an executable physical plan at runtime. This paper motivates the separation of static and dynamic optimization, presents algorithms for the various phases of the optimization process, and describes a simulation study that was undertaken to investigate the performance of this approach. Our simulation results indicate that load-balanced query processing can provide improvements in both query response times and overall system throughput as compared to schemes where execution sites are either statistically or randomly selected.
Michael J. Carey 0001, Hongjun Lu
SIGMOD Conference1
1986 Query Processing in Main Memory Database Management Systems
abstract
Most previous work in the area of main memory database systems has focused on the problem of developing query processing techniques that work well with a very large buffer pool. In this paper, we address query processing issues for memory resident relational databases, an environment with a very different set of costs and priorities. We present an architecture for a main memory DBMS, discussing the ways in which a memory resident database differs from a disk-based database. We then address the problem of processing relational queries in this architecture, considering alternative algorithms for selection, projection, and join operations and studying their performance. We show that a new index structure, the T Tree, works well for selection and join processing in memory resident databases. We also show that hashing methods work well for processing projections and joins, and that an old join method, sort-merge, still has a place in main memory.
Tobin J. Lehman, Michael J. Carey 0001
SIGMOD Conference2
1986 Object and File Management in the EXODUS Extensible Database System
Michael J. Carey 0001, David J. DeWitt, Joel E. Richardson, Eugene J. Shekita
VLDB1
1986 A Study of Index Structures for Main Memory Database Management Systems
Tobin J. Lehman, Michael J. Carey 0001
VLDB2
1985 Models for Studying Concurrency Control Performance: Alternatives and Implications
abstract
Article Free Access Share on Models for studying concurrency control performance: alternatives and implications Authors: Rakesh Agrawal AT&T Bell Laboratories, Murray Hill NJ AT&T Bell Laboratories, Murray Hill NJView Profile , Michael J. Carey Computer Sciences Department, University of Wisconsin, Madison WI Computer Sciences Department, University of Wisconsin, Madison WIView Profile , Miron Livny Computer Sciences Department, University of Wisconsin, Madison WI Computer Sciences Department, University of Wisconsin, Madison WIView Profile Authors Info & Claims SIGMOD '85: Proceedings of the 1985 ACM SIGMOD international conference on Management of dataMay 1985 Pages 108–121https://doi.org/10.1145/318898.318909Published:01 May 1985Publication History 63citation638DownloadsMetricsTotal Citations63Total Downloads638Last 12 Months46Last 6 weeks7 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Rakesh Agrawal 0001, Michael J. Carey 0001, Miron Livny
SIGMOD Conference2
1985 Some Experimental Results on Distributed Join Algorithms in a Local Network
Hongjun Lu, Michael J. Carey 0001
VLDB2
1984 The Performance of Concurrency Control Algorithms for Database Management Systems
Michael J. Carey 0001, Michael Stonebraker
VLDB1
1983 Granularity Hierarchies in Concurrency Control
abstract
This paper shows that granularity hierarchies may be used with many types of concurrency control algorithms. Hierarchical versions of a validation algorithm, a timestamp algorithm, and a multiversion algorithm are given, and hierarchical algorithm issues relating to request escalation and distributed databases are discussed as well. It is argued that these hierarchical algorithms should offer improved performance for certain transaction mixes.
Michael J. Carey 0001
PODS1
1983 An Abstract Model of Database Concurrency Control Algorithms
abstract
An abstract model of concurrency control algorithms is presented. The model facilitates implementation-independent descriptions of various algorithms, allowing them to be specified in terms of the information that they require, the conditions under which blocking or restarts are called for, and the manner in which requests are processed. The model also facilitates comparisons of the relative storage and CPU overheads of various algorithms based on their descriptions. Results are given for single-site versions of two-phase locking, basic timestamp ordering, and serial validation. Extensions which will allow comparisons of multiple version and distributed algorithms are discussed as well.
Michael J. Carey 0001
SIGMOD Conference1