VLDB 2026 Research / reviewers in the wild / expert
Justin J. Levandoski
dblp:02/3658
· DBLP profile ↗
36ranked-venue papers
18as first author
0since 2021 · last 2018
0009-0005-7033-0528ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Databases, data management, data science and information retrieval · 35 · 17 first-authorArtificial intelligence and machine learning · 2 · 1 first-authorSoftware engineering, systems software and programming languages · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Databases, data mining, and information retrieval
27 papers |
Indexing and storage engines · 24% Query processing and optimization · 18% Recommender systems · 13% | |
| Computer architecture, parallel and distributed computing, and storage systems
15 papers |
Storage systems · 67% Memory systems · 16% Processor architecture and microarchitecture · 8% |
Topics — the 30 heaviest of 62, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Indexing and storage engines › concurrent index
latch-free index |
1.2 | 4 | 2018 | FASTER: An Embedded Concurrent Key-Value Store for State Management · Proc. VLDB Endow. 2018 BzTree: A High-Performance Latch-free Range Index for Non-Volatile Memory · Proc. VLDB Endow. 2018 Easy Lock-Free Indexing in Non-Volatile Memory · ICDE 2018 |
Storage systems › file systems › write-optimized file system
log-structured file system |
1.1 | 6 | 2018 | FASTER: An Embedded Concurrent Key-Value Store for State Management · Proc. VLDB Endow. 2018 FASTER: A Concurrent Key-Value Store with In-Place Updates · SIGMOD Conference 2018 ICE: Managing cold state for big data applications · ICDE 2016 |
Database system architecture and tuning
main-memory database |
0.8 | 4 | 2016 | Modern Main-Memory Database Systems · Proc. VLDB Endow. 2016 Trekking Through Siberia: Managing Cold Data in a Memory-Optimized Database · Proc. VLDB Endow. 2014 The Bw-Tree: A B-tree for new hardware platforms · ICDE 2013 |
Storage systems
key-value storage |
0.7 | 3 | 2018 | FASTER: An Embedded Concurrent Key-Value Store for State Management · Proc. VLDB Endow. 2018 FASTER: A Concurrent Key-Value Store with In-Place Updates · SIGMOD Conference 2018 Multi-Version Range Concurrency Control in Deuteronomy · Proc. VLDB Endow. 2015 |
Query processing and optimization
preference query |
0.6 | 5 | 2013 | Flexible and extensible preference evaluation in database systems · ACM Trans. Database Syst. 2013 PrefJoin: An efficient preference-aware join operator · ICDE 2011 CareDB: A Context and Preference-Aware Location-Based Database System · Proc. VLDB Endow. 2010 |
Memory systems
non-volatile memory |
0.4 | 2 | 2018 | BzTree: A High-Performance Latch-free Range Index for Non-Volatile Memory · Proc. VLDB Endow. 2018 Easy Lock-Free Indexing in Non-Volatile Memory · ICDE 2018 |
Storage systems › storage hierarchy
tiered storage |
0.4 | 2 | 2014 | Trekking Through Siberia: Managing Cold Data in a Memory-Optimized Database · Proc. VLDB Endow. 2014 Identifying hot and cold data in main-memory databases · ICDE 2013 |
Data mining › clustering
user clustering |
0.3 | 2 | 2014 | LARS*: An Efficient and Scalable Location-Aware Recommender System · IEEE Trans. Knowl. Data Eng. 2014 LARS: A Location-Aware Recommender System · ICDE 2012 |
Indexing and storage engines › storage management › memory management
cache miss reduction |
0.3 | 1 | 2018 | Exploiting Coroutines to Attack the "Killer Nanoseconds" · Proc. VLDB Endow. 2018 |
Storage systems
in-place update |
0.3 | 1 | 2018 | FASTER: A Concurrent Key-Value Store with In-Place Updates · SIGMOD Conference 2018 |
Processor architecture and microarchitecture
latency hiding |
0.3 | 1 | 2018 | Exploiting Coroutines to Attack the "Killer Nanoseconds" · Proc. VLDB Endow. 2018 |
Recommender systems
point-of-interest recommendation |
0.3 | 2 | 2012 | Sindbad: a location-based social networking system · SIGMOD Conference 2012 LARS: A Location-Aware Recommender System · ICDE 2012 |
Data stream processing
state management |
0.2 | 1 | 2016 | ICE: Managing cold state for big data applications · ICDE 2016 |
Indexing and storage engines
concurrent index |
0.2 | 1 | 2015 | To Lock, Swap, or Elide: On the Interplay of Hardware Transactional Memory and Lock-Free Indexing · Proc. VLDB Endow. 2015 |
Information retrieval › indexing
document indexing |
0.2 | 1 | 2015 | Schema-Agnostic Indexing with Azure DocumentDB · Proc. VLDB Endow. 2015 |
Transaction processing and concurrency control › transactional memory
hardware transactional memory |
0.2 | 1 | 2015 | To Lock, Swap, or Elide: On the Interplay of Hardware Transactional Memory and Lock-Free Indexing · Proc. VLDB Endow. 2015 |
Transaction processing and concurrency control › concurrency control
multiversion concurrency control |
0.2 | 1 | 2015 | Multi-Version Range Concurrency Control in Deuteronomy · Proc. VLDB Endow. 2015 |
Web and social media mining
location-based social network |
0.2 | 2 | 2014 | Sindbad: a location-based social networking system · SIGMOD Conference 2012 LARS*: An Efficient and Scalable Location-Aware Recommender System · IEEE Trans. Knowl. Data Eng. 2014 |
Indexing and storage engines
b+-tree |
0.2 | 1 | 2013 | LLAMA: A Cache/Storage Subsystem for Modern Hardware · Proc. VLDB Endow. 2013 |
Indexing and storage engines
b-tree |
0.2 | 1 | 2013 | The Bw-Tree: A B-tree for new hardware platforms · ICDE 2013 |
Information retrieval › evaluation › user-oriented evaluation
preference-based evaluation |
0.2 | 1 | 2013 | Flexible and extensible preference evaluation in database systems · ACM Trans. Database Syst. 2013 |
Recommender systems
large-scale recommendation |
0.1 | 1 | 2012 | LARS: A Location-Aware Recommender System · ICDE 2012 |
Spatial and temporal data management
location-based services |
0.1 | 1 | 2012 | Sindbad: a location-based social networking system · SIGMOD Conference 2012 |
Recommender systems
collaborative filtering |
0.1 | 1 | 2011 | StreamRec: a real-time recommender system · SIGMOD Conference 2011 |
Query processing and optimization
early pruning |
0.1 | 1 | 2011 | PrefJoin: An efficient preference-aware join operator · ICDE 2011 |
Recommender systems
model update |
0.1 | 1 | 2011 | StreamRec: a real-time recommender system · SIGMOD Conference 2011 |
Query processing and optimization › join processing
multi-way join |
0.1 | 1 | 2011 | On Producing High and Early Result Throughput in Multijoin Query Plans · IEEE Trans. Knowl. Data Eng. 2011 |
Recommender systems › online recommendation
real-time recommendation |
0.1 | 1 | 2011 | StreamRec: a real-time recommender system · SIGMOD Conference 2011 |
Query processing and optimization › preference query
skyline query |
0.1 | 2 | 2010 | Skyline Query Processing for Incomplete Data · ICDE 2008 FlexPref: A framework for extensible preference evaluation in database systems · ICDE 2010 |
Spatial and temporal data management › location-based services
location-based query |
0.1 | 1 | 2010 | CareDB: A Context and Preference-Aware Location-Based Database System · Proc. VLDB Endow. 2010 |
Methods — techniques the papers use, named apart from their topics
compare-and-swap · 0.8persistent multi-word compare-and-swap · 0.7lock-free data structures · 0.7latch-free concurrency · 0.7dynamic code generation · 0.7coroutines · 0.7PMwCAS · 0.7operator semantics exploitation · 0.5log-structured store · 0.5cache-optimized concurrent hash index · 0.3collaborative filtering · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 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 | 2 |
| 2018 | FASTER: A Concurrent Key-Value Store with In-Place UpdatesabstractOver the last decade, there has been a tremendous growth in data-intensive applications and services in the cloud. Data is created on a variety of edge sources, e.g., devices, browsers, and servers, and processed by cloud applications to gain insights or take decisions. Applications and services either work on collected data, or monitor and process data in real time. These applications are typically update intensive and involve a large amount of state beyond what can fit in main memory. However, they display significant temporal locality in their access pattern. This paper presents FASTER, a new key-value store for point read, blind update, and read-modify-write operations. FASTER combines a highly cache-optimized concurrent hash index with a hybrid log: a concurrent log-structured record store that spans main memory and storage, while supporting fast in-place updates of the hot set in memory. Experiments show that FASTER achieves orders-of-magnitude better throughput - up to 160M operations per second on a single machine - than alternative systems deployed widely today, and exceeds the performance of pure in-memory data structures when the workload fits in memory. Badrish Chandramouli, Guna Prasaad, Donald Kossmann, Justin J. Levandoski, Jim Hunter, Michael Barnett 0001 |
SIGMOD Conference | 4 |
| 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. | 2 |
| 2018 | FASTER: An Embedded Concurrent Key-Value Store for State ManagementabstractOver the last decade, there has been a tremendous growth in data-intensive applications and services in the cloud. Data is created on a variety of edge sources such as devices, and is processed by cloud applications to gain insights or make decisions. These applications are typically update intensive and involve a large amount of state beyond what can fit in main memory. However, they display significant temporal locality in their access pattern. We demonstrate F aster , a new key-value store that combines a latch-free concurrent hash index with a hybrid log : a concurrent log-structured record store that spans main memory and storage, while supporting fast in-place updates in memory. F aster achieves up to orders-of-magnitude better throughput than systems deployed widely today. It is built as an embedded high-level language component using dynamic code generation, and can work with any storage back-end such as local SSD or cloud storage. Our demonstration focuses on: (1) the ease with which cloud applications and state stores can deeply integrate state management into their high-level language logic at low overhead; and (2) the innovative system design and the resulting high performance, adaptability to varying memory capacities, durability, and natural caching properties of our system. Badrish Chandramouli, Guna Prasaad, Donald Kossmann, Justin J. Levandoski, Jim Hunter, Michael Barnett 0001 |
Proc. VLDB Endow. | 4 |
| 2018 | Exploiting Coroutines to Attack the "Killer Nanoseconds"abstractDatabase systems use many pointer-based data structures, including hash tables and B+-trees, which require extensive "pointer-chasing." Each pointer dereference, e.g., during a hash probe or a B+-tree traversal, can result in a CPU cache miss, stalling the CPU. Recent work has shown that CPU stalls due to main memory accesses are a significant source of overhead, even for cache-conscious data structures, and has proposed techniques to reduce this overhead, by hiding memory-stall latency. In this work, we compare and contrast the state-of-the-art approaches to reduce CPU stalls due to cache misses for pointer-intensive data structures. We present an in-depth experimental evaluation and a detailed analysis using four popular data structures: hash table, binary search, Masstree, and Bw-tree. Our focus is on understanding the practicality of using coroutines to improve throughput of such data structures. The implementation, experiments, and analysis presented in this paper promote a deeper understanding of how to exploit coroutines-based approaches to build highly efficient systems. Christopher Jonathan, Umar Farooq Minhas, Jim Hunter, Justin J. Levandoski, Gor V. Nishanov |
Proc. VLDB Endow. | 4 |
| 2017 | READY: Completeness is in the Eye of the Beholder
Badrish Chandramouli, Johannes Gehrke, Jonathan Goldstein, Donald Kossmann, Justin J. Levandoski, Renato Marroquín, Wenlei Xie |
CIDR | 5 |
| 2016 | ICE: Managing cold state for big data applicationsabstractThe use of big data in a business revolves around a monitor-mine-manage (M3) loop: data is monitored in real-time, while mined insights are used to manage the business and derive value. While mining has traditionally been performed offline, recent years have seen an increasing need to perform all phases of M3 in real-time. A stream processing engine (SPE) enables such a seamless M3 loop for applications such as targeted advertising, recommender systems, risk analysis, and call-center analytics. However, these M3 applications require the SPE to maintain massive amounts of state in memory, leading to resource usage skew: memory is scarce and over-utilized, whereas CPU and I/O are under-utilized. In this paper, we propose a novel solution to scaling SPEs for memory-bound M3 applications that leverages natural access skew in data-parallel subqueries, where a small fraction of the state is hot (frequently accessed) and most state is cold (infrequently accessed). We present ICE (incremental coldstate engine), a framework that allows an SPE to seamlessly migrate cold state to secondary storage (disk or flash). ICE uses a novel architecture that exploits the semantics of individual stream operators to efficiently manage cold state in an SPE using an incremental log-structured store. We implemented ICE inside an SPE. Experiments using real data show that ICE can reduce memory usage significantly without sacrificing performance, and can sometimes even improve performance. Badrish Chandramouli, Justin J. Levandoski, Eli Cortez |
ICDE | 2 |
| 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. | 2 |
| 2016 | EIC EditorialabstractPresents the introductory editorial for this issue of the publication. Jian Pei 0001, Leman Akoglu, Hongrae Lee, Justin J. Levandoski, Xuelong Li 0001, Rosa Meo, Carlos Ordonez 0001, Jeff M. Phillips, Barbara Poblete, K. Selçuk Candan, Meng Wang 0001, Ji-Rong Wen, Li Xiong 0001, Wenjie Zhang 0001 |
IEEE Trans. Knowl. Data Eng. | 4 |
| 2015 | High Performance Transactions in Deuteronomy
Justin J. Levandoski, David B. Lomet, Sudipta Sengupta, Ryan Stutsman, Rui Wang 0002 |
CIDR | 1 |
| 2015 | Multi-Version Range Concurrency Control in DeuteronomyabstractThe Deuteronomy transactional key value store executes millions of serializable transactions/second by exploiting multi-version timestamp order concurrency control. However, it has not supported range operations, only individual record operations (e.g., create, read, update, delete). In this paper, we enhance our multi-version timestamp order technique to handle range concurrency and prevent phantoms. Importantly, we maintain high performance while respecting the clean separation of duties required by Deuteronomy, where a transaction component performs purely logical concurrency control (including range support), while a data component performs data storage and management duties. Like the rest of the Deuteronomy stack, our range technique manages concurrency information in a latch-free manner. With our range enhancement, Deuteronomy can reach scan speeds of nearly 250 million records/s (more than 27 GB/s) on modern hardware, while providing serializable isolation complete with phantom prevention. Justin J. Levandoski, David B. Lomet, Sudipta Sengupta, Ryan Stutsman, Rui Wang 0002 |
Proc. VLDB Endow. | 1 |
| 2015 | To Lock, Swap, or Elide: On the Interplay of Hardware Transactional Memory and Lock-Free IndexingabstractThe release of hardware transactional memory (HTM) in commodity CPUs has major implications on the design and implementation of main-memory databases, especially on the architecture of high-performance lock-free indexing methods at the core of several of these systems. This paper studies the interplay of HTM and lock-free indexing methods. First, we evaluate whether HTM will obviate the need for crafty lock-free index designs by integrating it in a traditional B-tree architecture. HTM performs well for simple data sets with small fixed-length keys and payloads, but its benefits disappear for more complex scenarios (e.g., larger variable-length keys and payloads), making it unattractive as a general solution for achieving high performance. Second, we explore fundamental differences between HTM-based and lock-free B-tree designs. While lock-freedom entails design complexity and extra mechanism, it has performance advantages in several scenarios, especially high-contention cases where readers proceed uncontested (whereas HTM aborts readers). Finally, we explore the use of HTM as a method to simplify lock-free design. We find that using HTM to implement a multi-word compare-and-swap greatly reduces lock-free programming complexity at the cost of only a 10-15% performance degradation. Our study uses two state-of-the-art index implementations: a memory-optimized B-tree extended with HTM to provide multi-threaded concurrency and the Bw-tree lock-free B-tree used in several Microsoft production environments. Darko Makreshanski, Justin J. Levandoski, Ryan Stutsman |
Proc. VLDB Endow. | 2 |
| 2015 | Schema-Agnostic Indexing with Azure DocumentDBabstractAzure DocumentDB is Microsoft's multi-tenant distributed database service for managing JSON documents at Internet scale. DocumentDB is now generally available to Azure developers. In this paper, we describe the DocumentDB indexing subsystem. DocumentDB indexing enables automatic indexing of documents without requiring a schema or secondary indices. Uniquely, DocumentDB provides real-time consistent queries in the face of very high rates of document updates. As a multi-tenant service, DocumentDB is designed to operate within extremely frugal resource budgets while providing predictable performance and robust resource isolation to its tenants. This paper describes the DocumentDB capabilities, including document representation, query language, document indexing approach, core index support, and early production experiences. Dharma Shukla, Shireesh Thota, Karthik Raman 0002, Madhan Gajendran, Ankur Shah, Sergii Ziuzin, Krishnan Sundaram, Miguel Gonzalez Guajardo, Anna Wawrzyniak, Samer Boshra, Mohamed Nassar 0002, Michael Koltachev, Sudipta Sengupta, Justin J. Levandoski, David B. Lomet |
Proc. VLDB Endow. | 16 |
| 2014 | Indexing on modern hardware: hekaton and beyondabstractRecent OLTP support exploits new techniques, running on modern hardware, to achieve unprecedented performance compared with prior approaches. In SQL Server, the Hekaton main-memory database engine embodies this new OLTP support. Hekaton uses the Bw-tree to achieve its great indexing performance. The Bw-Tree is a latch-free B-tree index that also exploits log-structured storage when used "beyond" Hekaton as a separate key value store. It is designed from the ground up to address two hardware trends: (1) Multi-core and main memory hierarchy: the Bw-tree is completely latch-free, using an atomic compare-and-swap instruction to install state changes on a "page address" mapping table; it performs updates as "deltas" to avoid update-in-place. These improve performance by eliminating thread blocking while improving cache hit ratios. (2) Flash storage: the Bw-tree organizes secondary storage in a log-structured manner, using large sequential writes to avoid entirely the adverse performance impact of random writes. We demonstrate the architectural versatility and performance of the Bw-tree in two scenarios: (a) running live within Hekaton and (2) running as a standalone key value store compared to both BerkeleyDB and a state-of-the-art in-memory range index (latch-free skiplists). Using workloads from real-world applications (Microsoft XBox Live Primetime and enterprise deduplication), we show the Bw-tree is 19x faster than BerkeleyDB and 3x faster than skiplists. Justin J. Levandoski, David B. Lomet, Sudipta Sengupta, Adrian Birka, Cristian Diaconu |
SIGMOD Conference | 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. | 2 |
| 2014 | LARS*: An Efficient and Scalable Location-Aware Recommender SystemabstractThis paper proposes LARS*, a location-aware recommender system that uses location-based ratings to produce recommendations. Traditional recommender systems do not consider spatial properties of users nor items; LARS*, on the other hand, supports a taxonomy of three novel classes of location-based ratings, namely, spatial ratings for non-spatial items, non-spatial ratings for spatial items, and spatial ratings for spatial items. LARS* exploits user rating locations through user partitioning, a technique that influences recommendations with ratings spatially close to querying users in a manner that maximizes system scalability while not sacrificing recommendation quality. LARS* exploits item locations using travel penalty, a technique that favors recommendation candidates closer in travel distance to querying users in a way that avoids exhaustive access to all spatial items. LARS* can apply these techniques separately, or together, depending on the type of location-based rating available. Experimental evidence using large-scale real-world data from both the Foursquare location-based social network and the MovieLens movie recommendation system reveals that LARS* is efficient, scalable, and capable of producing recommendations twice as accurate compared to existing recommendation approaches. Mohamed Sarwat, Justin J. Levandoski, Ahmed Eldawy, Mohamed F. Mokbel |
IEEE Trans. Knowl. Data Eng. | 2 |
| 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 | 1 |
| 2013 | The Bw-Tree: A B-tree for new hardware platformsabstractThe emergence of new hardware and platforms has led to reconsideration of how data management systems are designed. However, certain basic functions such as key indexed access to records remain essential. While we exploit the common architectural layering of prior systems, we make radically new design decisions about each layer. Our new form of B-tree, called the Bw-tree achieves its very high performance via a latch-free approach that effectively exploits the processor caches of modern multi-core chips. Our storage manager uses a unique form of log structuring that blurs the distinction between a page and a record store and works well with flash storage. This paper describes the architecture and algorithms for the Bw-tree, focusing on the main memory aspects. The paper includes results of our experiments that demonstrate that this fresh approach produces outstanding performance. Justin J. Levandoski, David B. Lomet, Sudipta Sengupta |
ICDE | 1 |
| 2013 | LLAMA: A Cache/Storage Subsystem for Modern HardwareabstractLLAMA is a subsystem designed for new hardware environments that supports an API for page-oriented access methods, providing both cache and storage management. Caching (CL) and storage (SL) layers use a common mapping table that separates a page's logical and physical location. CL supports data updates and management updates (e.g., for index re-organization) via latch-free compare-and-swap atomic state changes on its mapping table. SL uses the same mapping table to cope with page location changes produced by log structuring on every page flush. To demonstrate LLAMA's suitability, we tailored our latch-free Bw-tree implementation to use LLAMA. The Bw-tree is a B-tree style index. Layered on LLAMA, it has higher performance and scalability using real workloads compared with BerkeleyDB's B-tree, which is known for good performance. Justin J. Levandoski, David B. Lomet, Sudipta Sengupta |
Proc. VLDB Endow. | 1 |
| 2013 | Flexible and extensible preference evaluation in database systems
Justin J. Levandoski, Ahmed Eldawy, Mohamed F. Mokbel, Mohamed E. Khalefa |
ACM Trans. Database Syst. | 1 |
| 2012 | RecStore: an extensible and adaptive framework for online recommender queries inside the database engineabstractMost recommendation methods (e.g., collaborative filtering) consist of (1) a computationally intense offline phase that computes a recommender model based on users' opinions of items, and (2) an online phase consisting of SQL-based queries that use the model (generated offline) to derive user preferences and provide recommendations for interesting items. Current application usage trends require a completely online recommender process, meaning the recommender model must update in real time as new opinions enter the system. To tackle this problem, we propose RecStore, a DBMS storage engine module capable of efficient online model maintenance. Externally, models managed by RecStore behave as relational tables, thus existing SQL-based recommendation queries remain unchanged while gaining online model support. RecStore maintains internal statistics and data structures aimed at providing efficient incremental updates to the recommender model, while employing an adaptive strategy for internal maintenance and load shedding to realize a balance between efficiency in updates or query processing based on system workloads. RecStore is also extensible, supporting a declarative syntax for defining recommender models. The efficacy of RecStore is demonstrated by providing the implementation details of three state-of-the-art collaborative filtering models. We provide an extensive experimental evaluation of a prototype of RecStore, built inside the storage engine of PostgreSQL, using a real-life recommender system workload. Justin J. Levandoski, Mohamed Sarwat, Mohamed F. Mokbel, Michael D. Ekstrand |
EDBT | 1 |
| 2012 | LARS: A Location-Aware Recommender SystemabstractThis paper proposes LARS, a location-aware recommender system that uses location-based ratings to produce recommendations. Traditional recommender systems do not consider spatial properties of users nor items, LARS, on the other hand, supports a taxonomy of three novel classes of location-based ratings, namely, spatial ratings for non-spatial items, non-spatial ratings for spatial items, and spatial ratings for spatial items. LARS exploits user rating locations through user partitioning, a technique that influences recommendations with ratings spatially close to querying users in a manner that maximizes system scalability while not sacrificing recommendation quality. LARS exploits item locations using travel penalty, a technique that favors recommendation candidates closer in travel distance to querying users in a way that avoids exhaustive access to all spatial items. LARS can apply these techniques separately, or in concert, depending on the type of location-based rating available. Experimental evidence using large-scale real-world data from both the Foursquare location-based social network and the Movie Lens movie recommendation system reveals that LARS is efficient, scalable, and capable of producing recommendations twice as accurate compared to existing recommendation approaches. Justin J. Levandoski, Mohamed Sarwat, Ahmed Eldawy, Mohamed F. Mokbel |
ICDE | 1 |
| 2012 | Sindbad: a location-based social networking systemabstractThis demo presents Sindbad; a location-based social networking system. Sindbad supports three new services beyond traditional social networking services, namely, location-aware news feed, location-aware recommender, and location-aware ranking. These new services not only consider social relevance for its users, but they also consider spatial relevance. Since location-aware social networking systems have to deal with large number of users, large number of messages, and user mobility, efficiency and scalability are important issues. To this end, Sindbad encapsulates its three main services inside the query processing engine of PostgreSQL. Usage and internal functionality of Sindbad, implemented with PostgreSQL and Google Maps API, are demonstrated through user (i.e., web/phone) and system analyzer GUI interfaces, respectively. Mohamed Sarwat, Jie Bao 0003, Ahmed Eldawy, Justin J. Levandoski, Amr Magdy 0001, Mohamed F. Mokbel |
SIGMOD Conference | 4 |
| 2011 | Deuteronomy: Transaction Support for Cloud Data
Justin J. Levandoski, David B. Lomet, Mohamed F. Mokbel, Kevin Zhao |
CIDR | 1 |
| 2011 | PrefJoin: An efficient preference-aware join operatorabstractPreference queries are essential to a wide spectrum of applications including multi-criteria decision-making tools and personalized databases. Unfortunately, most of the evaluation techniques for preference queries assume that the set of preferred attributes are stored in only one relation, waiving on a wide set of queries that include preference computations over multiple relations. This paper presents PrefJoin, an efficient preference-aware join query operator, designed specifically to deal with preference queries over multiple relations. PrefJoin consists of four main phases: Local Pruning, Data Preparation, Joining, and Refining that filter out, from each input relation, those tuples that are guaranteed not to be in the final preference set, associate meta data with each non-filtered tuple that will be used to optimize the execution of the next phases, produce a subset of join result that are relevant for the given preference function, and refine these tuples respectively. An interesting characteristic of PrefJoin is that it tightly integrates preference computation with join hence we can early prune those tuples that are guaranteed not to be an answer, and hence it saves significant unnecessary computations cost. PrefJoin supports a variety of preference function including skyline, multi-objective and k-dominance preference queries. We show the correctness of PrefJoin. Experimental evaluation based on a real system implementation inside PostgreSQL shows that PrefJoin consistently achieves from one to three orders of magnitude performance gain over its competitors in various scenarios. Mohamed E. Khalefa, Mohamed F. Mokbel, Justin J. Levandoski |
ICDE | 3 |
| 2011 | StreamRec: a real-time recommender systemabstractResearch and development of recommender systems has been a vibrant field for over a decade, having produced proven methods for “preference-aware” computing. Recommenders use community opinion histories to help users identify interesting items from a considerably large search space (e.g., inventory from Amazon [7], movies from Netflix [9]). Personalization, recommendation, and the “human side of data-centric applications are even becoming important topics in the data management community [3]. A popular recommendation method used heavily in practice is collaborative filtering, consisting of two phases: (1) An offline model-building phase that uses community opinions of items (e.g., movie ratings, “Diggs” [6]) to build a model storing meaningful correlations between users and items. (2) An on-demand recommendation phase that uses the model to produce a set of recommended items when requested from a user or application. To be effective, recommender systems must evolve with their content. In current update-intensive systems (e.g., social networks, online news sites), the restriction that a model be generated offline is a significant drawback, as it hinders the system’s ability to evolve quickly. For instance, new users enter the system changing the collective opinions over items, or the system adds new items quickly (e.g., news posts, Facebook postings), which widens the recommendation pool. These updates affect the recommender model, that in turn affect the system’s recommendation quality in terms of providing accurate answers to recommender queries. In such systems, a completely real-time recommendation process is paramount. Unfortunately, most traditional state-of-the-art recommenders are “hand-built, implemented as custom software not built for a real-time recommendation process [1]. Further, for some Badrish Chandramouli, Justin J. Levandoski, Ahmed Eldawy, Mohamed F. Mokbel |
SIGMOD Conference | 2 |
| 2011 | RecBench: Benchmarks for Evaluating Performance of Recommender System Architectures
Justin J. Levandoski, Michael D. Ekstrand, Michael Ludwig, Ahmed Eldawy, Mohamed F. Mokbel, John Riedl |
Proc. VLDB Endow. | 1 |
| 2011 | On Producing High and Early Result Throughput in Multijoin Query PlansabstractThis paper introduces an efficient framework for producing high and early result throughput in multijoin query plans. While most previous research focuses on optimizing for cases involving a single join operator, this work takes a radical step by addressing query plans with multiple join operators. The proposed framework consists of two main methods, a flush algorithm and operator state manager. The framework assumes a symmetric hash join, a common method for producing early results, when processing incoming data. In this way, our methods can be applied to a group of previous join operators (optimized for single-join queries) when taking part in multijoin query plans. Specifically, our framework can be applied by 1) employing a new flushing policy to write in-memory data to disk, once memory allotment is exhausted, in a way that helps increase the probability of producing early result throughput in multijoin queries, and 2) employing a state manager that adaptively switches operators in the plan between joining in-memory data and disk-resident data in order to positively affect the early result throughput. Extensive experimental results show that the proposed methods outperform the state-of-the-art join operators optimized for both single and multijoin query plans. Justin J. Levandoski, Mohamed E. Khalefa, Mohamed F. Mokbel |
IEEE Trans. Knowl. Data Eng. | 1 |
| 2010 | Skyline query processing for uncertain dataabstractRecently, several research efforts have addressed answering skyline queries efficiently over large datasets. However, this research lacks methods to compute these queries over uncertain data, where uncertain values are represented as a range. In this paper, we define skyline queries over continuous uncertain data, and propose a novel, efficient framework to answer these queries. Query answers are probabilistic, where each object is associated with a probability value of being a query answer. Typically, users specify a probability threshold, that each returned object must exceed, and a tolerance value that defines the allowed error margin in probability calculation to reduce the computational overhead. Our framework employs an efficient two-phase query processing algorithm. Mohamed E. Khalefa, Mohamed F. Mokbel, Justin J. Levandoski |
CIKM | 3 |
| 2010 | Preference query evaluation over expensive attributesabstractMost database systems allow query processing over attributes that are derived at query runtime (e.g., user-defined functions and remote data calls to web services), making them expensive to compute relative to relational data stored in a heap or index. In addition, core support for efficient preference query processing has become an important objective in database systems. This paper addresses an important problem at the intersection of these two query processing objectives: efficient preference query evaluation involving expensive attributes. We explore an efficient framework for processing skyline and multi-objective queries in a database when the data involves a mix of "cheap" and "expensive" attributes. Our solution involves a three-phase approach that evaluates a correct final preference answer while aiming to minimizing the number of expensive attributes computations. Unlike previous works for distributed preference algorithms that assume sorted access over each attribute, our framework assumes expensive attribute requests are stateless, i.e., know nothing previous requests. Thus, the proposed approach is more in line with realistic system architectures. Our framework is implemented inside the query processor of PostgreSQL, and evaluated over both synthetic and real data sets involving computation of expensive attributes over real web-service data (e.g., Microsoft MapPoint). Justin J. Levandoski, Mohamed F. Mokbel, Mohamed E. Khalefa |
CIKM | 1 |
| 2010 | FlexPref: A framework for extensible preference evaluation in database systemsabstractPersonalized database systems give users answers tailored to their personal preferences. While numerous preference evaluation methods for databases have been proposed (e.g., skyline, top-k, k-dominance, k-frequency), the implementation of these methods at the core of a database system is a double-edged sword. Core implementation provides efficient query processing for arbitrary database queries, however this approach is not practical as each existing (and future) preference method requires a custom query processor implementation. To solve this problem, this paper introduces FlexPref, a framework for extensible preference evaluation in database systems. FlexPref, implemented in the query processor, aims to support a wide-array of preference evaluation methods in a single extensible code base. Integration with FlexPref is simple, involving the registration of only three functions that capture the essence of the preference method. Once integrated, the preference method ¿lives¿ at the core of the database, enabling the efficient execution of preference queries involving common database operations. To demonstrate the extensibility of FlexPref, we provide case studies showing the implementation of three database operations (single table access, join, and sorted list access) and five state-of-the-art preference evaluation methods (top-k, skyline, k-dominance, top-k dominance, and k-frequency). We also experimentally study the strengths and weaknesses of an implementation of FlexPef in PostgreSQL over a range of single-table and multi-table preference queries. Justin J. Levandoski, Mohamed F. Mokbel, Mohamed E. Khalefa |
ICDE | 1 |
| 2010 | A demonstration of FlexPref: extensible preference evaluation inside the DBMS engineabstractThis demonstration presents FlexPref, a framework implemented inside the DBMS query processor that enables efficient and extensible preference query processing. FlexPref provides query processing support inside the database engine for a wide-array of preference evaluation methods (e.g., skyline, top-k, k-dominance, k-frequency) in a single extensible code base. Integration with FlexPref is simple, involving the registration of only three functions that capture the essence of the preference method. Once integrated, the preference method "lives" at the core of the database, enabling the efficient execution of preference queries involving common database operations (e.g, selection, join). Functionality of FlexPref, implemented inside PostgreSQL, is demonstrated through the implementation and use of several state-of-the-art preference methods in a real application scenario. Justin J. Levandoski, Mohamed F. Mokbel, Mohamed E. Khalefa, Venkateshwar R. Korukanti |
SIGMOD Conference | 1 |
| 2010 | CareDB: A Context and Preference-Aware Location-Based Database SystemabstractWe demonstrate CareDB , a context and preference-aware database system. CareDB provides scalable personalized location-based services to users based on their preferences and current surrounding context. Unlike existing location-based database systems that answer queries based solely on proximity in distance, CareDB considers user preferences and various types of context in determining the answer to location-based queries. To this end, CareDB does not aim to define new location-based queries, instead, it aims to redefine the answer of existing location-based queries. To achieve its goals, CareDB has several distinguishing characteristics that revolve around a generic and extensible preference and context-aware query processing framework that addresses (a) scalable, efficient preference joins, (b) gracefully handling contextual attributes that are expensive to derive, and (c) support for uncertain attributes. Justin J. Levandoski, Mohamed F. Mokbel, Mohamed E. Khalefa |
Proc. VLDB Endow. | 1 |
| 2009 | RDF Data-Centric StorageabstractThe vision of the semantic Web has brought about new challenges at the intersection of Web research and data management. One fundamental research issue at this intersection is the storage of the resource description framework (RDF) data: the model at the core of the semantic Web. We present a data-centric approach for storage of RDF in relational databases. The intuition behind our approach is that each RDF dataset requires a tailored table schema that achieves efficient query processing by (1) reducing the need for joins in the query plan and (2) keeping null storage below a given threshold. Using a basic structure derived from the RDF data, we propose a two-phase algorithm involving clustering and partitioning. The clustering phase aims to reduce the need for joins in a query. The partitioning phase aims to optimize storage of extra (i.e., null) data in the underlying relational database. Our approach does not assume a particular query workload, relevant for RDF knowledge bases with a large number of ad-hoc queries. Extensive experimental evidence using three publicly available real-world RDF data sets (i.e., DBLP, DBPedia, and Uniprot) shows that our schema creation technique provides superior query processing performance compared to state-of-the art storage approaches. Further, our approach is easily implemented, and complements existing RDF-specific databases. Justin J. Levandoski, Mohamed F. Mokbel |
ICWS | 1 |
| 2008 | Skyline Query Processing for Incomplete DataabstractRecently, there has been much interest in processing skyline queries for various applications that include decision making, personalized services, and search pruning. Skyline queries aim to prune a search space of large numbers of multi dimensional data items to a small set of interesting items by eliminating items that are dominated by others. Existing skyline algorithms assume that all dimensions are available for all data items. This paper goes beyond this restrictive assumption as we address the more practical case of involving incomplete data items (i.e., data items missing values in some of their dimensions). In contrast to the case of complete data where the dominance relation is transitive, incomplete data suffer from non-transitive dominance relation which may lead to a cyclic dominance behavior. We first propose two algorithms, namely, "Replacement" and "Bucket" that use traditional skyline algorithms for incomplete data. Then, we propose the "ISkyline" algorithm that is designed specifically for the case of incomplete data. The "ISkyline" algorithm employs two optimization techniques, namely, virtual points and shadow skylines to tolerate cyclic dominance relations. Experimental evidence shows that the "ISkyline" algorithm significantly outperforms variations of traditional skyline algorithms. Mohamed E. Khalefa, Mohamed F. Mokbel, Justin J. Levandoski |
ICDE | 3 |
| 2008 | PermJoin: An Efficient Algorithm for Producing Early Results in Multi-join Query PlansabstractThis paper introduces an efficient algorithm for Producing Early Results in Multi-join query plans (PermJoin, for short). While most previous research focuses only on the case of a single join operator, PermJoin takes a radical step by addressing query plans with multiple join operators. PermJoin is optimized to maximize the early overall throughput and to adapt to fluctuations in data arrival rates. PermJoin is a non- blocking operator that is capable of producing join results even if one or more data sources are blocked due to slow or bursty network behavior. Furthermore, PermJoin distinguishes itself from all previous techniques as it: (1) employs a new flushing policy to write in-memory data to disk, once memory allotment is exhausted, in a way that helps increase the probability of producing early result throughput in multi-join queries, and (2) employs a novel state manager module that adaptively switches operators between joining in-memory data and disk-resident data in order to maximize overall throughput. Justin J. Levandoski, Mohamed E. Khalefa, Mohamed F. Mokbel |
ICDE | 1 |