EDBT 2026 Demo / reviewers in the wild / expert
Per-Åke Larson
dblp:l/PALarson · also Paul Larson 0001
· DBLP profile ↗
79ranked-venue papers in the field
26as first author
4since 2021 · last 2023
0009-0009-5038-7905ORCID · verified
Domains — venue-derived; a paper can count in several
Database Systems & Data Management · 78 (26 first)Knowledge Engineering, Semantic Web & Information Systems · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Taurus MM: bringing multi-master to the cloudabstractA single-master database has limited update capacity because a single node handles all updates. A multi-master database potentially has higher update capacity because the load is spread across multiple nodes. However, the need to coordinate updates and ensure durability can generate high network traffic. Reducing network load is particularly important in a cloud environment where the network infrastructure is shared among thousands of tenants. In this paper, we present Taurus MM, a shared-storage multi-master database optimized for cloud environments. It implements two novel algorithms aimed at reducing network traffic plus a number of additional optimizations. The first algorithm is a new type of distributed clock that combines the small size of Lamport clocks with the effective support of distributed snapshots of vector clocks. The second algorithm is a new hybrid page and row locking protocol that significantly reduces the number of lock requests sent over the network. Experimental results on a cluster with up to eight masters demonstrate superior performance compared to Aurora multi-master and CockroachDB. Alex Depoutovitch, Per-Åke Larson, Jack Ng, Guanzhu Xiong, Paul Lee, Emad Boctor, Samiao Ren, Lengdong Wu, Calvin Sun |
Proc. VLDB Endow. | 3 |
| 2022 | Integrating the Orca Optimizer into MySQL
Arunprasad P. Marathe, Kareem El Gebaly, Per-Åke Larson, Calvin Sun |
EDBT | 5 |
| 2022 | Near Data Processing in Taurus DatabaseabstractHuawei's cloud-native database system GaussDB for MySQL (also known as Taurus) stores data in a separate storage layer consisting of a pool of storage servers. Each server has considerable compute power making it possible to push data reduction operations (selection, projection, and aggregation) close to storage. This paper describes the design and implementation of near data processing (NDP) in Taurus. NDP has several benefits: it reduces the amount of data shipped over the network; frees up CPU capacity in the compute layer; and reduces query run time, thereby enabling higher system throughput. Experiments with the TPC-H benchmark (100 GB) showed that 18 out of 22 queries benefited from NDP; data shipped was reduced by 63%; and CPU time by 50%. On Q15 the impact was even higher: data shipped was reduced by 98%; CPU time by 91%; and run time by 80%. Arunprasad P. Marathe, Per-Åke Larson, Calvin Sun, Paul Lee, Juncai Meng, Roulin Lin, Qingping Zhu |
ICDE | 3 |
| 2022 | TreeLine: An Update-In-Place Key-Value Store for Modern StorageabstractMany modern key-value stores, such as RocksDB, rely on log-structured merge trees (LSMs). Originally designed for spinning disks, LSMs optimize for write performance by only making sequential writes. But this optimization comes at the cost of reads: LSMs must rely on expensive compaction jobs and Bloom filters---all to maintain reasonable read performance. For NVMe SSDs, we argue that trading off read performance for write performance is no longer always needed. With enough parallelism, NVMe SSDs have comparable random and sequential access performance. This change makes update-in-place designs, which traditionally provide excellent read performance, a viable alternative to LSMs. In this paper, we close the gap between log-structured and update-in-place designs on modern SSDs with the help of new components that take advantage of data and workload patterns. Specifically, we explore three key ideas: (A) record caching for efficient point operations, (B) page grouping for high-performance range scans, and (C) insert forecasting to reduce the reorganization costs of accommodating new records. We evaluate these ideas by implementing them in a prototype update-in-place key-value store called TreeLine. On YCSB, we find that TreeLine outperforms RocksDB and LeanStore by 2.20× and 2.07× respectively on average across the point workloads, and by up to 10.95× and 7.52× overall. Geoffrey X. Yu, Markos Markakis, Andreas Kipf, Per-Åke Larson, Umar Farooq Minhas, Tim Kraska |
Proc. VLDB Endow. | 4 |
| 2020 | Taurus Database: How to be Fast, Available, and Frugal in the CloudabstractUsing cloud Database as a Service (DBaaS) offerings instead of on-premise deployments is increasingly common. Key advantages include improved availability and scalability at a lower cost than on-premise alternatives. In this paper, we describe the design of Taurus, a new multi-tenant cloud database system. Taurus separates the compute and storage layers in a similar manner to Amazon Aurora and Microsoft Socrates and provides similar benefits, such as read replica support, low network utilization, hardware sharing and scalability. However, the Taurus architecture has several unique advantages. Taurus offers novel replication and recovery algorithms providing better availability than existing approaches using the same or fewer replicas. Also, Taurus is highly optimized for performance, using no more than one network hop on critical paths and exclusively using append-only storage, delivering faster writes, reduced device wear, and constant-time snapshots. This paper describes Taurus and provides a detailed description and analysis of the storage node architecture, which has not been previously available from the published literature. Alex Depoutovitch, Jin Chen 0006, Per-Åke Larson, Jack Ng, Wenlin Cui |
SIGMOD Conference | 4 |
| 2020 | Qd-tree: Learning Data Layouts for Big Data AnalyticsabstractCorporations today collect data at an unprecedented and accelerating scale, making the need to run queries on large datasets increasingly important. Technologies such as columnar block-based data organization and compression have become standard practice in most commercial database systems. However, the problem of best assigning records to data blocks on storage is still open. For example, today's systems usually partition data by arrival time into row groups, or range/hash partition the data based on selected fields. For a given workload, however, such techniques are unable to optimize for the important metric of the number of blocks accessed by a query. This metric directly relates to the I/O cost, and therefore performance, of most analytical queries. Further, they are unable to exploit additional available storage to drive this metric down further. In this paper, we propose a new framework called a query-data routing tree, or qd-tree, to address this problem, and propose two algorithms for their construction based on greedy and deep reinforcement learning techniques. Experiments over benchmark and real workloads show that a qd-tree can provide physical speedups of more than an order of magnitude compared to current blocking schemes, and can reach within 2X of the lower bound for data skipping based on selectivity, while providing complete semantic descriptions of created blocks. Zongheng Yang, Badrish Chandramouli, Chi Wang 0001, Johannes Gehrke, Yinan Li 0009, Umar Farooq Minhas, Per-Åke Larson, Donald Kossmann, Rajeev Acharya |
SIGMOD Conference | 7 |
| 2018 | Easy Lock-Free Indexing in Non-Volatile MemoryabstractLarge non-volatile memories (NVRAM) will change the durability and recovery mechanisms of main-memory database systems. Today, these systems make operations durable through logging and checkpointing to secondary storage, and recover by rebuilding the in-memory database (records and indexes) from on-disk state. A main-memory database stored in NVRAM, however, can potentially recover instantly after a power failure. Modern main-memory databases typically use lock-free index structures to enable a high degree of concurrency. Thus NVRAM-resident databases need indexes that are both lock-free, persistent, and able to recover (almost) instantly after a crash. In this paper, we show how to easily build such index structures. A key enabling component of our scheme is a multi-word compare-and-swap operation, PMwCAS, that is lock-free, persistent, and efficient. PMwCAS significantly reduces the complexity of building lock-free indexes, which we illustrate by implementing both doubly-linked skip lists and the Bw-tree lock-free B+-tree for NVRAM. Experimental results show that PMwCAS's runtime overhead is very low (~4-6% under realistic workloads). This overhead is sufficiently low that the same implementation can be used for both DRAM and NVRAM resident indexes. Tianzheng Wang 0001, Justin J. Levandoski, Per-Åke Larson |
ICDE | 3 |
| 2018 | BzTree: A High-Performance Latch-free Range Index for Non-Volatile MemoryabstractStoring a database (rows and indexes) entirely in non-volatile memory (NVM) potentially enables both high performance and fast recovery. To fully exploit parallelism on modern CPUs, modern main-memory databases use latch-free (lock-free) index structures, e.g. Bw-tree or skip lists. To achieve high performance NVM-resident indexes also need to be latch-free. This paper describes the design of the BzTree, a latch-free B-tree index designed for NVM. The BzTree uses a persistent multi-word compare-and-swap operation (PMwCAS) as a core building block, enabling an index design that has several important advantages compared with competing index structures such as the Bw-tree. First, the BzTree is latch-free yet simple to implement. Second, the BzTree is fast - showing up to 2x higher throughput than the Bw-tree in our experiments. Third, the BzTree does not require any special-purpose recovery code. Recovery is near-instantaneous and only involves rolling back (or forward) any PMwCAS operations that were in-flight during failure. Our end-to-end recovery experiments of BzTree report an average recovery time of 145 μs. Finally, the same BzTree implementation runs seamlessly on both volatile RAM and NVM, which greatly reduces the cost of code maintenance. Joy Arulraj, Justin J. Levandoski, Umar Farooq Minhas, Per-Åke Larson |
Proc. VLDB Endow. | 4 |
| 2016 | Modern Main-Memory Database SystemsabstractThis tutorial provides an overview of recent developments in main-memory database systems. With growing memory sizes and memory prices dropping by a factor of 10 every 5 years, data having a "primary home" in memory is now a reality. Main-memory databases eschew many of the traditional architectural tenets of relational database systems that optimized for disk-resident data. Innovative approaches to fundamental issues such as concurrency control and query processing are required to unleash the full performance potential of main-memory databases. The tutorial is focused around design issues and architectural choices that must be made when building a high performance database system optimized for main-memory: data storage and indexing, concurrency control, durability and recovery techniques, query processing and compilation, support for high availability, and ability to support hybrid transactional and analytics workloads. This will be illustrated by example solutions drawn from four state-of-the-art systems: H-Store/VoltDB, Hekaton, HyPeR, and SAP HANA. The tutorial will also cover current and future research trends. Per-Åke Larson, Justin J. Levandoski |
Proc. VLDB Endow. | 1 |
| 2015 | Evolving the architecture of SQL Server for modern hardware trendsabstractThe basic architecture of SQL Server, as well as other major database systems, goes back to a time when main memories were (very) small, data lived on disk, machines had a single (slow) processor, and OLTP was the only workload that mattered. This is not an optimal design for today's environment with large main memories, plenty of cores, and where transactional and analytical processing are equally important. To adapt to these trends and take advantage of the opportunities they offer SQL Server has added support for column store indexes and in-memory tables over the last two releases. The two features are aimed at dramatically improving performance on analytical and transactional workloads, respectively. This paper gives an overview of the design of the two features and the performance improvements they provide. Per-Åke Larson, Eric N. Hanson, Mike Zwilling |
ICDE | 1 |
| 2015 | Real-Time Analytical Processing with SQL ServerabstractOver the last two releases SQL Server has integrated two specialized engines into the core system: the Apollo column store engine for analytical workloads and the Hekaton in-memory engine for high-performance OLTP workloads. There is an increasing demand for real-time analytics, that is, for running analytical queries and reporting on the same system as transaction processing so as to have access to the freshest data. SQL Server 2016 will include enhancements to column store indexes and in-memory tables that significantly improve performance on such hybrid workloads. This paper describes four such enhancements: column store indexes on in-memory tables, making secondary column store indexes on disk-based tables updatable, allowing B-tree indexes on primary column store indexes, and further speeding up the column store scan oper ator. Per-Åke Larson, Adrian Birka, Eric N. Hanson, Weiyun Huang, Michal Nowakiewicz, Vassilis Papadimos |
Proc. VLDB Endow. | 1 |
| 2014 | Trekking Through Siberia: Managing Cold Data in a Memory-Optimized DatabaseabstractMain memories are becoming sufficiently large that most OLTP databases can be stored entirely in main memory, but this may not be the best solution. OLTP workloads typically exhibit skewed access patterns where some records are hot (frequently accessed) but many records are cold (infrequently or never accessed). It is still more economical to store the coldest records on secondary storage such as flash. This paper introduces Siberia, a framework for managing cold data in the Microsoft Hekaton main-memory database engine. We discuss how to migrate cold data to secondary storage while providing an interface to the user to manipulate both hot and cold data that hides the actual data location. We describe how queries of different isolation levels can read and modify data stored in both hot and cold stores without restriction while minimizing number of accesses to cold storage. We also show how records can be migrated between hot and cold stores while the DBMS is online and active. Experiments reveal that for cold data access rates appropriate for main-memory optimized databases, we incur an acceptable 7-14% throughput loss. Ahmed Eldawy, Justin J. Levandoski, Per-Åke Larson |
Proc. VLDB Endow. | 3 |
| 2013 | Identifying hot and cold data in main-memory databasesabstractMain memories are becoming sufficiently large that most OLTP databases can be stored entirely in main memory, but this may not be the best solution. OLTP workloads typically exhibit skewed access patterns where some records are hot (frequently accessed) but many records are cold (infrequently or never accessed). It is more economical to store the coldest records on secondary storage such as flash. As a first step towards managing cold data in databases optimized for main memory we investigate how to efficiently identify hot and cold data. We propose to log record accesses - possibly only a sample to reduce overhead - and perform offline analysis to estimate record access frequencies. We present four estimation algorithms based on exponential smoothing and experimentally evaluate their efficiency and accuracy. We find that exponential smoothing produces very accurate estimates, leading to higher hit rates than the best caching techniques. Our most efficient algorithm is able to analyze a log of 1B accesses in sub-second time on a workstation-class machine. Justin J. Levandoski, Per-Åke Larson, Radu Stoica |
ICDE | 2 |
| 2013 | Hekaton: SQL server's memory-optimized OLTP engineabstractHekaton is a new database engine optimized for memory resident data and OLTP workloads. Hekaton is fully integrated into SQL Server; it is not a separate system. To take advantage of Hekaton, a user simply declares a table memory optimized. Hekaton tables are fully transactional and durable and accessed using T-SQL in the same way as regular SQL Server tables. A query can reference both Hekaton tables and regular tables and a transaction can update data in both types of tables. T-SQL stored procedures that reference only Hekaton tables can be compiled into machine code for further performance improvements. The engine is designed for high con-currency. To achieve this it uses only latch-free data structures and a new optimistic, multiversion concurrency control technique. This paper gives an overview of the design of the Hekaton engine and reports some experimental results. Cristian Diaconu, Craig Freedman, Erik Ismert, Per-Åke Larson, Pravin Mittal, Ryan Stonecipher, Nitin Verma, Mike Zwilling |
SIGMOD Conference | 4 |
| 2013 | Enhancements to SQL server column storesabstractSQL Server 2012 introduced two innovations targeted for data warehousing workloads: column store indexes and batch (vectorized) processing mode. Together they greatly improve performance of typical data warehouse queries, routinely by 10X and in some cases by a 100X or more. The main limitations of the initial version are addressed in the upcoming release. Column store indexes are updatable and can be used as the base storage for a table. The repertoire of batch mode operators has been expanded, existing operators have been improved, and query optimization has been enhanced. This paper gives an overview of SQL Server's column stores and batch processing, in particular the enhancements introduced in the upcoming release. Per-Åke Larson, Cipri Clinciu, Campbell Fraser, Eric N. Hanson, Mostafa Mokhtar, Michal Nowakiewicz, Vassilis Papadimos, Susan Price, Srikumar Rangarajan, Remus Rusanu, Mayukh Saubhasik |
SIGMOD Conference | 1 |
| 2013 | Adaptive Range Filters for Cold Data: Avoiding Trips to SiberiaabstractBloom filters are a great technique to test whether a key is not in a set of keys. This paper presents a novel data structure called ARF. In a nutshell, ARFs are for range queries what Bloom filters are for point queries. That is, an ARF can determine whether a set of keys does not contain any keys that are part of a specific range. This paper describes the principles and methods for efficient implementation of ARFs and presents the results of comprehensive experiments that assess the precision, space, and latency of ARFs. Furthermore, this paper shows how ARFs can be applied to a commercial database system that partitions data into hot and cold regions to optimize queries that involve only hot data. Karolina Alexiou, Donald Kossmann, Per-Åke Larson |
Proc. VLDB Endow. | 3 |
| 2013 | Similarity queries: their conceptual evaluation, transformations, and processing
Yasin N. Silva, Walid G. Aref, Per-Åke Larson, Spencer Pearson, Mohamed H. Ali |
VLDB J. | 3 |
| 2012 | Exploiting Common Subexpressions for Cloud Query ProcessingabstractMany companies now routinely run massive data analysis jobs -- expressed in some scripting language -- on large clusters of low-end servers. Many analysis scripts are complex and contain common sub expressions, that is, intermediate results that are subsequently joined and aggregated in multiple different ways. Applying conventional optimization techniques to such scripts will produce plans that execute a common sub expression multiple times, once for each consumer, which is clearly wasteful. Moreover, different consumers may have different physical requirements on the result: one consumer may want it partitioned on a column A and another one partitioned on column B. To find a truly optimal plan, the optimizer must trade off such conflicting requirements in a cost-based manner. In this paper we show how to extend a Cascade-style optimizer to correctly optimize scripts containing common sub expression. The approach has been prototyped in SCOPE, Microsoft's system for massive data analysis. Experimental analysis of both simple and large real-world scripts shows that the extended optimizer produces plans with 21 to 57% lower estimated costs. Yasin N. Silva, Per-Åke Larson, Jingren Zhou 0001 |
ICDE | 2 |
| 2012 | SCOPE: parallel databases meet MapReduce
Jingren Zhou 0001, Nicolas Bruno, Ming-Chuan Wu, Per-Åke Larson, Ronnie Chaiken, Darren Shakib |
VLDB J. | 4 |
| 2011 | SQL server column store indexesabstractThe SQL Server 11 release (code named Denali) introduces a new data warehouse query acceleration feature based on a new index type called a column store index. The new index type combined with new query operators processing batches of rows greatly improves data warehouse query performance: in some cases by hundreds of times and routinely a tenfold speedup for a broad range of decision support queries. Column store indexes are fully integrated with the rest of the system, including query processing and optimization. This paper gives an overview of the design and implementation of column store indexes including enhancements to query processing and query optimization to take full advantage of the new indexes. The resulting performance improvements are illustrated by a number of example queries. Per-Åke Larson, Cipri Clinciu, Eric N. Hanson, Artem Oks, Susan Price, Srikumar Rangarajan, Aleksandras Surna |
SIGMOD Conference | 1 |
| 2011 | High-Performance Concurrency Control Mechanisms for Main-Memory DatabasesabstractA database system optimized for in-memory storage can support much higher transaction rates than current systems. However, standard concurrency control methods used today do not scale to the high transaction rates achievable by such systems. In this paper we introduce two efficient concurrency control methods specifically designed for main-memory databases. Both use multiversioning to isolate read-only transactions from updates but differ in how atomicity is ensured: one is optimistic and one is pessimistic. To avoid expensive context switching, transactions never block during normal processing but they may have to wait before commit to ensure correct serialization ordering. We also implemented a main-memory optimized version of single-version locking. Experimental results show that while single-version locking works well when transactions are short and contention is low performance degrades under more demanding conditions. The multiversion schemes have higher overhead but are much less sensitive to hotspots and the presence of long-running transactions. Per-Åke Larson, Spyros Blanas, Cristian Diaconu, Craig Freedman, Jignesh M. Patel, Mike Zwilling |
Proc. VLDB Endow. | 1 |
| 2010 | Incorporating partitioning and parallel plans into the SCOPE optimizerabstractMassive data analysis on large clusters presents new opportunities and challenges for query optimization. Data partitioning is crucial to performance in this environment. However, data repartitioning is a very expensive operation so minimizing the number of such operations can yield very significant performance improvements. A query optimizer for this environment must therefore be able to reason about data partitioning including its interaction with sorting and grouping. SCOPE is a SQL-like scripting language used at Microsoft for massive data analysis. A transformation-based optimizer is responsible for converting scripts into efficient execution plans for the Cosmos distributed computing platform. In this paper, we describe how reasoning about data partitioning is incorporated into the SCOPE optimizer. We show how relational operators affect partitioning, sorting and grouping properties and describe how the optimizer reasons about and exploits such properties to avoid unnecessary operations. In most optimizers, consideration of parallel plans is an afterthought done in a postprocessing step. Reasoning about partitioning enables the SCOPE optimizer to fully integrate consideration of parallel, serial and mixed plans into the cost-based optimization. The benefits are illustrated by showing the variety of plans enabled by our approach. Jingren Zhou 0001, Per-Åke Larson, Ronnie Chaiken |
ICDE | 2 |
| 2010 | SimDB: a similarity-aware database systemabstractThe identification and processing of similarities in the data play a key role in multiple application scenarios. Several types of similarity-aware operations have been studied in the literature. However, in most of the previous work, similarity-aware operations are studied in isolation from other regular or similarity-aware operations. Furthermore, most of the previous research in the area considers a standalone implementation, i.e., without any integration with a database system. In this demonstration we present SimDB, a similarity-aware database management system. SimDB supports multiple similarity-aware operations as first-class database operators. We describe the architectural changes to implement the similarity-aware operators. In particular, we present the way conventional operators' implementation machinery is extended to support similarity-aware operators. We also show how these operators interact with other similarity-aware and regular operators. In particular, we show the effectiveness of multiple equivalence rules that can be used to extend cost-based query optimization to the case of similarity-ware operations. Yasin N. Silva, Ahmed M. Aly, Walid G. Aref, Per-Åke Larson |
SIGMOD Conference | 4 |
| 2010 | Supporting views in data stream management systemsabstractIn relational database management systems, views supplement basic query constructs to cope with the demand for “higher-level” views of data. Moreover, in traditional query optimization, answering a query using a set of existing materialized views can yield a more efficient query execution plan. Due to their effectiveness, views are attractive to data stream management systems. In order to support views over streams, a data stream management system should employ a closed (or composable) continuous query language. A closed query language is a language in which query inputs and outputs are interpreted in the same way, hence allowing query composition. This article introduces the Synchronized SQL (or SyncSQL) query language that defines a data stream as a sequence of modify operations against a relation. SyncSQL enables query composition through the unified interpretation of query inputs and outputs. An important issue in continuous queries over data streams is the frequency by which the answer gets refreshed and the conditions that trigger the refresh. Coarser periodic refresh requirements are typically expressed as sliding windows. In this article, the sliding window approach is generalized by introducing the synchronization principle that empowers SyncSQL with a formal mechanism to express queries with arbitrary refresh conditions. After introducing the semantics and syntax, we lay the algebraic foundation for SyncSQL and propose a query-matching algorithm for deciding containment of SyncSQL expressions. Then, the article introduces the Nile-SyncSQL prototype to support SyncSQL queries. Nile-SyncSQL employs a pipelined incremental evaluation paradigm in which the query pipeline consists of a set of differential operators. A cost model is developed to estimate the cost of SyncSQL query execution pipelines and to choose the best execution plan from a set of different plans for the same query. An experimental study is conducted to evaluate the performance of Nile-SyncSQL. The experimental results illustrate the effectiveness of Nile-SyncSQL and the significant performance gains when views are enabled in data stream management systems. Thanaa M. Ghanem, Ahmed K. Elmagarmid, Per-Åke Larson, Walid G. Aref |
ACM Trans. Database Syst. | 3 |
| 2008 | SCOPE: easy and efficient parallel processing of massive data setsabstractCompanies providing cloud-scale services have an increasing need to store and analyze massive data sets such as search logs and click streams. For cost and performance reasons, processing is typically done on large clusters of shared-nothing commodity machines. It is imperative to develop a programming model that hides the complexity of the underlying system but provides flexibility by allowing users to extend functionality to meet a variety of requirements. In this paper, we present a new declarative and extensible scripting language, SCOPE (Structured Computations Optimized for Parallel Execution), targeted for this type of massive data analysis. The language is designed for ease of use with no explicit parallelism, while being amenable to efficient parallel execution on large clusters. SCOPE borrows several features from SQL. Data is modeled as sets of rows composed of typed columns. The select statement is retained with inner joins, outer joins, and aggregation allowed. Users can easily define their own functions and implement their own versions of operators: extractors (parsing and constructing rows from a file), processors (row-wise processing), reducers (group-wise processing), and combiners (combining rows from two inputs). SCOPE supports nesting of expressions but also allows a computation to be specified as a series of steps, in a manner often preferred by programmers. We also describe how scripts are compiled into efficient, parallel execution plans and executed on large clusters. Ronnie Chaiken, Bob Jenkins, Per-Åke Larson, Bill Ramsey, Darren Shakib, Simon Weaver, Jingren Zhou 0001 |
Proc. VLDB Endow. | 3 |
| 2007 | Efficient Maintenance of Materialized Outer-Join ViewsabstractQueries containing outer joins are common in data warehousing applications. Materialized outer-join views could greatly speed up many such queries but most database systems do not allow outer joins in materialized views. In part, this is because outer-join views could not previously be maintained efficiently when base tables are updated. In this paper we show how to efficiently maintain general outer-join views, that is, views composed of selection, projection, inner and outer joins. Foreign-key constraints are exploited to reduce maintenance overhead. Experimental results show that maintaining an outer-join view need not be more expensive than maintaining an inner-join view. Per-Åke Larson, Jingren Zhou 0001 |
ICDE | 1 |
| 2007 | Dynamic Materialized ViewsabstractA conventional materialized view blindly materializes and maintains all rows of a view, even rows that are never accessed. We propose a more flexible materialization strategy aimed at reducing storage space and view maintenance costs. A dynamic materialized view selectively materializes only a subset of rows, for example, the most frequently accessed rows. One or more control tables are associated with the view and define which rows are currently materialized. The set of materialized rows can be changed dynamically, either manually or automatically by an internal cache manager using a feedback loop. Dynamic execution plans are generated to decide whether the view is applicable at run time. Experimental results in Microsoft SQL Server show that compared with conventional materialized views, dynamic materialized views greatly reduce storage requirements and maintenance costs while achieving better query performance with improved buffer pool efficiency. Jingren Zhou 0001, Per-Åke Larson, Jonathan Goldstein, Luping Ding |
ICDE | 2 |
| 2007 | Cardinality estimation using sample views with quality assuranceabstractAccurate cardinality estimation is critically important to high-quality query optimization. It is well known that conventional cardinality estimation based on histograms or similar statistics may produce extremely poor estimates in a variety of situations, for example, queries with complex predicates, correlation among columns, or predicates containing user-defined functions. In this paper, we propose a new, general cardinality estimation technique that combines random sampling and materialized view technology to produce accurate estimates even in these situations. As a major innovation, we exploit feedback information from query execution and process control techniques to assure that estimates remain statistically valid when the underlying data changes. Experimental results based on a prototype implementation in Microsoft SQL Server demonstrate the practicality of the approach and illustrate the dramatic effects improved cardinality estimates may have. Per-Åke Larson, Wolfgang Lehner, Jingren Zhou 0001, Peter Zabback |
SIGMOD Conference | 1 |
| 2007 | Exploiting self-monitoring sample views for cardinality estimationabstractGood cardinality estimates are critical for generating good execution plans during query optimization. Complex predicates, correlations between columns, and user-defined functions are extremely hard to handle when using the traditional histogram approach. This demo illustrates the use of sample views for cardinality estimations as prototyped in Microsoft SQL Server. We show the creation of sample views, discuss how they are exploited during query optimization, and explain their potential effect on query plans. In addition, we also show our implementation of maintenance policies using statistical quality control techniques based on query feedback. Per-Åke Larson, Wolfgang Lehner, Jingren Zhou 0001, Peter Zabback |
SIGMOD Conference | 1 |
| 2007 | Efficient exploitation of similar subexpressions for query processingabstractComplex queries often contain common or similar subexpressions, either within a single query or among multiple queries submitted as a batch. If so, query execution time can be improved by evaluating a common subexpression once and reusing the result in multiple places. However, current query optimizers do not recognize and exploit similar subexpressions, even within the same query. We present an efficient, scalable, and principled solution to this long-standing optimization problem. We introduce a light-weight and effective mechanism to detect potential sharing opportunities among expressions. Candidate covering subexpressions are constructed and optimization is resumed to determine which, if any, such subexpressions to include in the final query plan. The chosen subexpression(s) are computed only once and the results are reused to answer other parts of queries. Our solution automatically applies to optimization of query batches, nested queries, and maintenance of multiple materialized views. It is the first comprehensive solution covering all aspects of the problem: detection, construction, and cost-based optimization. Experiments on Microsoft SQL Server show significant performance improvements with minimal overhead. Jingren Zhou 0001, Per-Åke Larson, Johann-Christoph Freytag, Wolfgang Lehner |
SIGMOD Conference | 2 |
| 2007 | Lazy Maintenance of Materialized Views
Jingren Zhou 0001, Per-Åke Larson, Hicham G. Elmongui |
VLDB | 2 |
| 2007 | View matching for outer-join views
Per-Åke Larson, Jingren Zhou 0001 |
VLDB J. | 1 |
| 2005 | Stacked indexed views in microsoft SQL serverabstractAppropriately selected materialized views (also called indexed views) can speed up query execution by orders of magnitude. Most database systems limit support for materialized views to select-project-join expressions, possibly with a group-by, over base tables because this class of views can be efficiently maintained incrementally and thus kept up to date with the underlying source tables. However, limiting views to reference only base tables restricts the class of queries that can be supported by materialized views. View stacking (also called views on views) relaxes one restriction by allowing a materialized view to reference both base tables and other materialized views. This extends materialized view support to additional types of queries. This paper describes a prototype implementation of stacked views within Microsoft SQL Server and explains which classes of queries can be supported. To support view matching for stacked views, a signature mechanism was added to the optimizer. This mechanism turned out to be beneficial also for regular views by significantly speeding up view matching. David DeHaan, Per-Åke Larson, Jingren Zhou 0001 |
SIGMOD Conference | 2 |
| 2005 | Caching with 'Good Enough' Currency, Consistency, and Completeness
Hongfei Guo, Per-Åke Larson, Raghu Ramakrishnan 0001 |
VLDB | 2 |
| 2005 | View Matching for Outer-Join Views
Per-Åke Larson, Jingren Zhou 0001 |
VLDB | 1 |
| 2005 | Hash-based labeling techniques for storage scaling
Shu-Yuen Didi Yao, Cyrus Shahabi, Per-Åke Larson |
VLDB J. | 3 |
| 2004 | MTCache: Transparent Mid-Tier Database Caching in SQL ServerabstractMany applications today run in a multitier environment with browser-based clients, midtier (application) servers and a backend database server. Midtier database caching attempts to improve system throughput and scalability by offloading part of the database workload to intermediate database servers that partially replicate data from the backend server. The fact that some queries are offloaded to an intermediate server should be completely transparent to applications - one of the key distinctions between caching and replication. MTCache is a prototype midtier database caching solution for SQL server that achieves this transparency. It builds on SQL server's support for materialized views, distributed queries and replication. We describe MTCache and report experimental results on the TPC-W benchmark. The experiments show that a significant part of the query workload can be offloaded to cache servers, resulting in greatly improved scale-out on the read-dominated workloads of the benchmark. Replication overhead was small with an average replication delay of less than two seconds. Per-Åke Larson, Jonathan Goldstein, Jingren Zhou 0001 |
ICDE | 1 |
| 2004 | Relaxed Currency and Consistency: How to Say "Good Enough" in SQLabstractDespite the widespread and growing use of asynchronous copies to improve scalability, performance and availability, this practice still lacks a firm semantic foundation. Applications are written with some understanding of which queries can use data that is not entirely current and which copies are "good enough"; however, there are neither explicit requirements nor guarantees. We propose to make this knowledge available to the DBMS through explicit currency and consistency (C&C) constraints in queries and develop techniques so the DBMS can guarantee that the constraints are satisfied. In this paper we describe our model for expressing C&C constraints, define their semantics, and propose SQL syntax. We explain how C&C constraints are enforced in MTCache, our prototype mid-tier database cache, including how constraints and replica update policies are elegantly integrated into the cost-based query optimizer. Consistency constraints are enforced at compile time while currency constraints are enforced at run time by dynamic plans that check the currency of each local replica before use and select sub-plans accordingly. This approach makes optimal use of the cache DBMS while at the same time guaranteeing that applications always get data that is "good enough" for their purpose. Hongfei Guo, Per-Åke Larson, Raghu Ramakrishnan 0001, Jonathan Goldstein |
SIGMOD Conference | 2 |
| 2004 | Support for Relaxed Currency and Consistency Constraints in MTCacheabstractNo abstract available. Hongfei Guo, Per-Åke Larson, Raghu Ramakrishnan 0001, Jonathan Goldstein |
SIGMOD Conference | 2 |
| 2004 | Evolutionary techniques for updating query cost models in a dynamic multidatabase environment
Amira Rahal, Qiang Zhu 0001, Per-Åke Larson |
VLDB J. | 3 |
| 2003 | Transparent Mid-Tier Database Caching in SQL ServerabstractNo abstract available. Per-Åke Larson, Jonathan Goldstein, Jingren Zhou 0001 |
SIGMOD Conference | 1 |
| 2003 | External Sorting: Run Formation RevisitedabstractExternal mergesort begins with a run formation phase creating the initial sorted runs. Run formation can be done by a load-sort-store algorithm or by replacement selection. A load-sort-store algorithm repeatedly fills available memory with input records, sorts them, and writes the result to a run file. Replacement selection produces longer runs than load-sort-store algorithms and completely overlaps sorting and I/O, but it has poor locality of reference resulting in frequent cache misses and the classical algorithm works only for fixed-length records. This paper introduces batched replacement selection: a cache-conscious version of replacement selection that works also for variable-length records. The new algorithm resembles AlphaSort in the sense that it creates small in-memory runs and merges them to form the output runs. Its performance is experimentally compared with three other run formation algorithms: classical replacement selection, Quicksort, and AlphaSort. The experiments show that batched replacement selection is considerably faster than classic replacement selection. For small records (average 100 bytes), CPU time was reduced by about 50 percent and elapsed time by 47-63 percent. It was also consistently faster than Quicksort, but it did not always outperform AlphaSort. Replacement selection produces fewer runs than Quicksort and AlphaSort. The experiments confirmed that this reduces the merge time whereas the effect on the overall sort time depends on the number of disks available. Per-Åke Larson |
IEEE Trans. Knowl. Data Eng. | 1 |
| 2002 | Data Reduction by Partial PreaggregationabstractPartial preaggregation is a simple data reduction operator that can be applied to aggregation queries. Whenever we group and aggregate on a column set G, we can preaggregate on any column set that functionally determines G. Preaggregation can be used, for example, to reduce the input size to a join. Regular aggregation reduces the input to one record per group. Partial preaggregation exploits the fact that preaggregation need not be complete-if multiple records happen to be output for a group, they will be combined into the same group by the final aggregation. This paper describes a straightforward hash-based algorithm for partial preaggregation, discusses where it can be applied, and derives a mathematical model for estimating the output size. The effectiveness of the technique and the accuracy of the model are shown on both artificial and real data. It is also shown how to reduce memory requirements by combining partial preaggregation with the input phase of a subsequent join or sort operator. Partial preaggregation has been implemented, in part, in Microsoft SQL Server. Per-Åke Larson |
ICDE | 1 |
| 2002 | TPC-DS, taking decision support benchmarking to the next levelabstractTPC-DS is a new decision support benchmark currently under development by the Transaction Processing Performance Council (TPC). This paper provides a brief overview of the new benchmark. The benchmark models the decision support functions of a retail product supplier, including data loading, multiple types of queries and data maintenance. The database consists of multiple snowflake schemas with shared dimension tables; data is skewed; and the query set is large. Overall, the benchmark is considerably more realistic than previous decision support benchmarks. Meikel Pöss, Bryan Smith, Lubor Kollár, Per-Åke Larson |
SIGMOD Conference | 4 |
| 2001 | B-Tree Indexes and CPU CachesabstractSince many existing techniques for exploiting CPU caches in the implementation of B-tree indexes have not been discussed in the literature, most of them are surveyed. Rather than providing a detailed performance evaluation for one or two of them on some specific contemporary hardware, the purpose is to survey and to make widely available this heretofore-folkloric knowledge in order to enable, structure, and hopefully stimulate future research. Goetz Graefe, Per-Åke Larson |
ICDE | 2 |
| 2001 | Optimizing Queries Using Materialized Views: A practical, scalable solutionabstractMaterialized views can provide massive improvements in query processing time, especially for aggregation queries over large tables. To realize this potential, the query optimizer must know how and when to exploit materialized views. This paper presents a fast and scalable algorithm for determining whether part or all of a query can be computed from materialized views and describes how it can be incorporated in transformation-based optimizers. The current version handles views composed of selections, joins and a final group-by. Optimization remains fully cost based, that is, a single “best” rewrite is not selected by heuristic rules but multiple rewrites are generated and the optimizer chooses the best alternative in the normal way. Experimental results based on an implementation in Microsoft SQL Server show outstanding performance and scalability. Optimization time increases slowly with the number of views but remains low even up to a thousand. Jonathan Goldstein, Per-Åke Larson |
SIGMOD Conference | 2 |
| 2001 | XML Data Management Go Native or Spruce up Relational Systems? (Panel Abstract)abstractXML data is likely to be widely used as a data exchange format but users also need to store and query XML data. The purpose of this panel is to explore whether and how to best provide this functionality. Per-Åke Larson |
SIGMOD Conference | 1 |
| 2000 | Classifying Local Queries for Global Query Optimization in Multidatabase SystemsabstractA multidatabase system (MDBS) integrates information from multiple pre-existing local databases. A major challenge for global query optimization in an MDBS is that some required local information about local database systems such as local cost models may not be available at the global level due to local autonomy. A feasible method to tackle this challenge is to group local queries on a local database system into classes and then use the costs of sample queries from each query class to derive a cost formula for the class via regression analysis. This paper discusses the issues on how to classify local queries so that a good cost formula can be derived for each query class. Two classification approaches, i.e. bottom-up and top-down, are suggested. The relationship between these two approaches is discussed. Classification rules that can be used in the approaches are identified. Problems regarding composition and redundancy of classification rules are studied. Classification algorithms are given. To test the membership of a query in a class, an efficient algorithm based on ranks is introduced. In addition, a hybrid classification approach that combines the bottom-up and top-down ones is also suggested. Experimental results demonstrate that the suggested query classification techniques can be used to derive good local cost formulas for global query optimization in an MDBS. Qiang Zhu 0001, Per-Åke Larson |
Int. J. Cooperative Inf. Syst. | 2 |
| 1999 | Speeding up Heterogeneous Data Access by Converting and Pushing Down String ComparisonsabstractPushing down predicates to an external data source is critical to the performance for querying heterogeneous data sources. However, predicate-containing string comparisons cannot be pushed down unchanged if the external data source uses a different collating sequence. We describe a table-driven technique for rewriting such predicates to account for the differences in collation. In addition to precise conversion, we also consider imprecise conversion. Weiye Zhang, Per-Åke Larson |
ICDE | 2 |
| 1998 | Memory Management During Run Generation in External SortingabstractIf replacement selection is used in an external mergesort to generate initial runs, individual records are deleted and inserted in the sort operation's workspace. Variable-length records introduce the need for possibly complex memory management and extra copying of records. As a result, few systems employ replacement selection, even though it produces longer runs than commonly used algorithms. We experimentally compared several algorithms and variants for managing this workspace. We found that the simple best fit algorithm achieves memory utilization of 90% or better and run lengths over 1.8 times workspace size, with no extra copying of records and very little other overhead, for widely varying record sizes and for a wide range of memory sizes. Thus, replacement selection is a viable algorithm for commercial database systems, even for variable-length records. Per-Åke Larson, Goetz Graefe |
SIGMOD Conference | 1 |
| 1998 | Buffering and Read-Ahead Strategies for External Mergesort
Weiye Zhang, Per-Åke Larson |
VLDB | 2 |
| 1998 | Solving Local Cost Estimation Problem for Global Query Optimization in Multidatabase Systems
Qiang Zhu 0001, Per-Åke Larson |
Distributed Parallel Databases | 2 |
| 1997 | Dynamic Memory Adjustment for External Mergesort
Weiye Zhang, Per-Åke Larson |
VLDB | 2 |
| 1996 | Speeding up External MergesortabstractExternal mergesort is normally implemented so that each run is stored continuously on disk and blocks of data are read exactly in the order they are needed during merging. We investigate two ideas for improving the performance of external mergesort: interleaved layout and a new reading strategy. Interleaved layout places blocks from different runs in consecutive disk addresses. This is done in the hope that interleaving will reduce seek overhead during merging. The new reading strategy precomputes the order in which data blocks are to be read according to where they are located on disk and when they are needed for merging. Extra buffer space makes it possible to read blocks in an order that reduces seek overhead, instead of reading them exactly in the order they are needed for merging. A detailed simulation model was used to compare the two layout strategies and three reading strategies. The effects of using multiple work disks were also investigated. We found that, in most cases, interleaved layout does not improve performance, but that the new reading strategy consistently performs better than double buffering and forecasting. LuoQuan Zheng, Per-Åke Larson |
IEEE Trans. Knowl. Data Eng. | 2 |
| 1995 | Eager Aggregation and Lazy Aggregation
Weipeng P. Yan, Per-Åke Larson |
VLDB | 2 |
| 1994 | Exploiting Uniqueness in Query OptimizationabstractConsider an SQL query that specifies duplicate elimination via a DISTINCT clause. Because duplicate elimination often requires an expensive sort of the query result, it is often worthwhile to identify unnecessary DISTINCT clauses and avoid the sort altogether. We prove a necessary and sufficient condition for deciding if a query requires duplicate elimination. The condition exploits knowledge about keys, table constraints, and query predicates. Because the condition cannot always be tested efficiently, we offer a practical algorithm that tests a simpler, sufficient condition. We consider applications of this condition for various types of queries, and show that we can exploit this condition in both relational and nonregulation database systems.> G. N. Paulley, Per-Åke Larson |
ICDE | 2 |
| 1994 | Performing Group-By before JoinabstractAssume that we have an SQL query containing joins and a group-by. The standard way of evaluating this type of query is to first perform all the joins and then the group-by operation. However, it may be possible to perform the group-by early, that is, to push the group-by operation past one or more joins. Early grouping may reduce the query processing cost by reducing the amount of data participating in joins. We formally define the problem, adhering strictly to the semantics of NULL and duplicate elimination in SQL2, and prove necessary and sufficient conditions for deciding when this transformation is valid. In practice, it may be expensive or even impossible to test whether the conditions are satisfied. Therefore, we also present a more practical algorithm that tests a simpler, sufficient condition. This algorithm is fast and detects a large subclass of transformable queries.> Weipeng P. Yan, Per-Åke Larson |
ICDE | 2 |
| 1994 | A Query Sampling Method of Estimating Local Cost Parameters in a Multidatabase SystemabstractIn a multidatabase system (MDBS), some query optimization information related to local database systems may not be available at the global level because of local autonomy. To perform global query optimization, a method is required to derive the necessary local information. This paper presents a new method that employs a query sampling technique to estimate the cost parameters of an autonomous local database system. We introduce a classification for grouping local queries and suggest a cost estimation formula for the queries in each class. We present a procedure to draw a sample of queries from each class and use the observed costs of sample queries to determine the cost parameters by multiple regression. Experimental results indicate that the method is quite promising for estimating the cost of local queries in an MDBS.> Qiang Zhu 0001, Per-Åke Larson |
ICDE | 2 |
| 1994 | Parallel Hash-Based Join Algorithms for a Shared-EverythingabstractAnalyzes the costs, and describes the implementation, of three hash-based join algorithms for a general purpose shared-memory multiprocessor. The three algorithms considered are the hashed loops, GRACE and hybrid algorithms. We also describe the results of a set of experiments that validate the cost models presented and demonstrate the relative performance of the three algorithms.> Patrick Martin 0001, Per-Åke Larson, Vinay Deshpande |
IEEE Trans. Knowl. Data Eng. | 2 |
| 1993 | Reading a Set of Disk Pages
Bernhard Seeger, Per-Åke Larson, Ron McFadyen |
VLDB | 2 |
| 1992 | The Design and Implementation of a Parallel Join Algorithm for Nested Relations on Shared-Memory MultiprocessorsabstractThe authors examine the problem of performing a join involving nested relations in a parallel, shared-everything environment. First they show the difference between joining flat relations and joining nested relations, and then develop a parallel hash-based join algorithm, called the partitioned nested hashed-loops algorithm. Both input/output (I/O) and CPU parallelism are addressed. The implementation and experimental results are presented. The experiments include the effect of the number of CPUs, the amount of memory, the size of the result, the effect of projections, and the effect of the levels of nesting. The experiments showed excellent CPU parallelism speedup.> Vinay Deshpande, Per-Åke Larson |
ICDE | 2 |
| 1991 | Multi-Disk B-treesabstractwe consider how to exploit multiple disks to improve the performance of B-tree structured files.Attention is paid both to the response time of individual operations and to the throughput of the system in a multi-user environment.We begin with a survey of three different approaches to designing multi-disk B-trees: distributing records among disks, using large multi-disk pages, and distributing pages among disks.For each approach, several alternatives are discussed and their main advantages and disadvantages are identified.We then propose a new scheme, based on page distribution, that is intended to provide a better local balancing of the request load than previous schemes.Preliminary performance results confirm that this irrproves both response time and throughput. Bernhard Seeger, Per-Åke Larson |
SIGMOD Conference | 2 |
| 1989 | A File Structure Supporting Traversal RecursionabstractTraversal recursion is a class of recursive queries where the evaluation of the query involves traversal of a graph or a tree. This limited type of recursion arises in many applications. In this report we investigate a simple file structure that efficiently supports traversal recursion over large, acyclic graphs. The nodes of the graph are sorted in topological order and stored in a B-tree. Hence, traversal of the graph can be done in a single scan. Nodes and edges can also be inserted, deleted, and modified efficiently. Per-Åke Larson, Vinay Deshpande |
SIGMOD Conference | 1 |
| 1989 | Analysis of Overflow Handling for Variable Length Records
Stavros Christodoulakis, Yannis Manolopoulos, Per-Åke Larson |
Inf. Syst. | 3 |
| 1989 | Performance of B+-Trees with Partial ExpansionsabstractThe authors mathematically analyze the behavior of B/sup +/-trees with partial expansions file structure under random insertions, focusing on the expected storage utilization and the expected cost of insertions. The model can be used for studying both the asymptotic and dynamic behavior. The accuracy of the model is confirmed by simulation. Disk space management is found to be more difficult than for standard B/sup +/-trees. Two simple space-management schemes specifically designed for handling buckets of two different sizes are investigated. It is found that an overall storage utilization of 81% can be achieved in practice.> Ricardo Baeza-Yates, Per-Åke Larson |
IEEE Trans. Knowl. Data Eng. | 2 |
| 1989 | Updating Derived Relations: Detecting Irrelevant and Autonomously Computable UpdatesabstractConsider a database containing not only base relations but also stored derived relations (also called materialized or concrete views). When a base relation is updated, it may also be necessary to update some of the derived relations. This paper gives sufficient and necessary conditions for detecting when an update of a base relation cannot affect a derived relation (an irrelevant update), and for detecting when a derived relation can be correctly updated using no data other than the derived relation itself and the given update operation (an autonomously computable update). The class of derived relations considered is restricted to those defined by PSJ -expressions, that is, any relational algebra expressions constructed from an arbitrary number of project, select and join operations (but containing no self-joins). The class of update operations consists of insertions, deletions, and modifications, where the set of tuples to be deleted or modified is specified by a selection condition on attributes of the relation being updated. José A. Blakeley, Neil Coburn, Per-Åke Larson |
ACM Trans. Database Syst. | 3 |
| 1989 | File Organization Using Composite Perfect HashingabstractPerfect hashing refers to hashing with no overflows. We propose and analyze a composite perfect hashing scheme for large external files. The scheme guarantees retrieval of any record in a single disk access. Insertions and deletions are simple, and the file size may vary considerably without adversely affecting the performance. A simple variant of the scheme supports efficient range searches in addition to being a completely dynamic file organization scheme. These advantages are achieved at the cost of a small amount of additional internal storage and increased cost of insertions. M. V. Ramakrishna, Per-Åke Larson |
ACM Trans. Database Syst. | 2 |
| 1988 | Linear Hashing with Separators - A Dynamic Hashing Scheme Achieving One-Access RetrievalabstractA new dynamic hashing scheme is presented. Its most outstanding feature is that any record can be retrieved in exactly one disk access. This is achieved by using a small amount of supplemental internal storage that stores enough information to uniquely determine the current location of any record. The amount of internal storage required is small: typically one byte for each page of the file. The necessary address computation, insertion, and expansion algorithms are presented and the performance is studied by means of simulation. The new method is the first practical method offering one-access retrieval for large dynamic files. Per-Åke Larson |
ACM Trans. Database Syst. | 1 |
| 1987 | Query Transformation for PSJ-Queries
H. Z. Yang, Per-Åke Larson |
VLDB | 2 |
| 1986 | Efficiently Updating Materialized ViewsabstractQuery processing can be sped up by keeping frequently accessed users' views materialized. However, the need to access base relations in response to queries can be avoided only if the materialized view is adequately maintained. We propose a method in which all database updates to base relations are first filtered to remove from consideration those that cannot possibly affect the view. The conditions given for the detection of updates of this type, called irrelevant updates, are necessary and sufficient and are independent of the database state. For the remaining database updates, a differential algorithm can be applied to re-evaluate the view expression. The algorithm proposed exploits the knowledge provided by both the view definition expression and the database update operations. José A. Blakeley, Per-Åke Larson, Frank Wm. Tompa |
SIGMOD Conference | 2 |
| 1986 | Updating Derived Relations: Detecting Irrelevant and Autonomously Computable Updates
José A. Blakeley, Neil Coburn, Per-Åke Larson |
VLDB | 3 |
| 1985 | External Perfect HashingabstractA hashing functton 1s perfect if tt does not create any overflow records The use of perfect hashing functions has previously been studied only for small static sets stored m mam memory In this paper we describe a perfect hashing scheme for large external files which we are currently mvestigatmg The scheme guarantees retrieval of any record m a single disk access This 1s achieved at the cost of a small m-core table and increased cost of insertions We also suggest a pohcy for limrtmg the cost of msertrons and we study the tradeoff between expected storage utthzatron, size of the internal table and cost of msertrons under this pohcy The results obtained so far are very promrsmg They indicate that it may indeed by posstble to destgn practical perfect hashing schemes for external files based on the suggested approach Electronic mad uucp {decvax,allegra,lhnp4] ~watmath~watdalsy~(palarson,mvramalmshn) csnet {palarson,mvramakruhn)% watdauy@ Waterloo csnet Permtsston to copy wtthout fee all or part of this matenal IS granted prowled that the coplea are not made or dlstrlbuted for dwect commercial advantage, the ACM copyright nouce and the tnle of the pubhcatlon and its date appear, and nottcc IS gwen that copymg IS by permlsslon of the Assoclatlon for Computing Machmery To copy otherwse, or to repubhsh, reqmres a fee and/or specific permIssIon Per-Åke Larson, M. V. Ramakrishna |
SIGMOD Conference | 1 |
| 1985 | Computing Queries from Derived Relations
Per-Åke Larson, H. Z. Yang |
VLDB | 1 |
| 1985 | Linear Hashing with Overflow-Handling by Linear ProbingabstractLinear hashing is a file structure for dynamic files. In this paper, a new, simple method for handling overflow records in connection with linear hashing is proposed. The method is based on linear probing and does not rely on chaining. No dedicated overflow area is required. The expansion sequence of liner hashing is modified to improve the performance, which requires changes in the address computation. A new address computation algorithm and an expansion algorithm are given. The performance of the method is studied by simulation. The algorithms for the basic file operations are very simple, and the overall performance is competitive with that of other variants of linear hashing. Per-Åke Larson |
ACM Trans. Database Syst. | 1 |
| 1982 | External Hashing with Limited Internal StorageabstractArticle Free Access Share on External hasing with limited internal storage Authors: Gaston H. Gonnet University of Waterloo, Canada University of Waterloo, CanadaView Profile , Per Åke Larson Åbo Akademi, Finland Åbo Akademi, FinlandView Profile Authors Info & Claims PODS '82: Proceedings of the 1st ACM SIGACT-SIGMOD symposium on Principles of database systemsMarch 1982 Pages 256–261https://doi.org/10.1145/588111.588153Online:29 March 1982Publication History 6citation225DownloadsMetricsTotal Citations6Total Downloads225Last 12 Months4Last 6 weeks0 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 Gaston H. Gonnet, Per-Åke Larson |
PODS | 2 |
| 1982 | A Single-File Version of Linear Hashing with Partial Expansions
Per-Åke Larson |
VLDB | 1 |
| 1982 | Performance Analysis of Linear Hashing with Partial ExpansionsabstractLinear hashing with partial expansions is a new file organization primarily intended for files which grow and shrink dynamically. This paper presents a mathematical analysis of the expected performance of the new scheme. The following measures are considered: length of successful and unsuccessful searches, accesses required to insert or delete a record, and the size of the overflow area. The performance is cyclical. For all performance measures, the necessary formulas are derived for computing the expected performance at any point of a cycle and the average over a cycle. Furthermore, the expected worst case in connection with searching is analyzed. The overall performance depends on several file parameters. The numerical results show that for many realistic parameter combinations the performance is expected to be extremely good. Even the longest search is expected to be of quite reasonable length. Per-Åke Larson |
ACM Trans. Database Syst. | 1 |
| 1981 | Analysis of Index-Sequential Files with Overflow ChainingabstractThe gradual performance deterioration caused by deletions from and insertions into an index-sequential file after loading is analyzed. The model developed assumes that overflow records are handled by chaining. Formulas for computing the expected number of overflow records and the expected number of additional accesses caused by the overflow records for both successful and unsuccessful searches are derived. Per-Åke Larson |
ACM Trans. Database Syst. | 1 |
| 1980 | Linear Hashing with Partial Expansions
Per-Åke Larson |
VLDB | 1 |