EDBT 2026 Demo / reviewers in the wild / expert
Vijayshankar Raman
dblp:r/VijayshankarRaman
· DBLP profile ↗
42ranked-venue papers
12as first author
1since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Databases, data management, data science and information retrieval · 40 · 12 first-author · 1 since 2021Artificial intelligence and machine learning · 1Systems, architecture and hardware · 1Computer networks · 1Applied, interdisciplinary, general and emerging computing · 1
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
32 papers |
Query processing and optimization · 53% Indexing and storage engines · 16% Distributed and cloud data management · 14% | |
| Computer architecture, parallel and distributed computing, and storage systems
10 papers |
Parallel and multicore computing · 37% Storage systems · 32% Processor architecture and microarchitecture · 16% |
Topics — the 30 heaviest of 66, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Data integration and cleaning
data warehouse |
0.5 | 1 | 2021 | Napa: Powering Scalable Data Warehousing with Robust Query Performance at Google · Proc. VLDB Endow. 2021 |
Distributed and cloud data management
geo-distributed data management |
0.5 | 1 | 2021 | Napa: Powering Scalable Data Warehousing with Robust Query Performance at Google · Proc. VLDB Endow. 2021 |
Query processing and optimization
view maintenance |
0.5 | 1 | 2021 | Napa: Powering Scalable Data Warehousing with Robust Query Performance at Google · Proc. VLDB Endow. 2021 |
Query processing and optimization
join processing |
0.4 | 3 | 2014 | Joins on Encoded and Partitioned Data · Proc. VLDB Endow. 2014 Memory-Efficient Hash Joins · Proc. VLDB Endow. 2014 Using State Modules for Adaptive Query Processing · ICDE 2003 |
Query processing and optimization
adaptive query processing |
0.4 | 7 | 2008 | Greedy List Intersection · ICDE 2008 Adaptive query processing: Why, How, When, and What Next? · VLDB 2007 Lazy, adaptive rid-list intersection, and its application to index anding · SIGMOD Conference 2007 |
Indexing and storage engines › column store
main-memory column store |
0.4 | 2 | 2015 | In-memory BLU acceleration in IBM's DB2 and dashDB: Optimized for modern workloads and hardware architectures · ICDE 2015 DB2 with BLU Acceleration: So Much More than Just a Column Store · Proc. VLDB Endow. 2013 |
Indexing and storage engines
data compression |
0.3 | 3 | 2014 | Joins on Encoded and Partitioned Data · Proc. VLDB Endow. 2014 How to barter bits for chronons: compression and bandwidth trade offs for database scans · SIGMOD Conference 2007 Constant-Time Query Processing · ICDE 2008 |
Database system architecture and tuning
hybrid transactional and analytical processing |
0.2 | 1 | 2016 | Wildfire: Concurrent Blazing Data Ingest and Analytics · SIGMOD Conference 2016 |
Query processing and optimization › query execution
in-memory query processing |
0.2 | 2 | 2013 | DB2 with BLU Acceleration: So Much More than Just a Column Store · Proc. VLDB Endow. 2013 Main-memory scan sharing for multi-core CPUs · Proc. VLDB Endow. 2008 |
Query processing and optimization › join processing › join algorithms
hash join |
0.2 | 2 | 2014 | Memory-Efficient Hash Joins · Proc. VLDB Endow. 2014 Joins on Encoded and Partitioned Data · Proc. VLDB Endow. 2014 |
Query processing and optimization › query execution › hardware-accelerated query processing
SIMD query processing |
0.2 | 2 | 2015 | DB2 with BLU Acceleration: So Much More than Just a Column Store · Proc. VLDB Endow. 2013 In-memory BLU acceleration in IBM's DB2 and dashDB: Optimized for modern workloads and hardware architectures · ICDE 2015 |
Indexing and storage engines
column store |
0.2 | 1 | 2013 | DB2 with BLU Acceleration: So Much More than Just a Column Store · Proc. VLDB Endow. 2013 |
Query processing and optimization
compressed data processing |
0.2 | 1 | 2013 | DB2 with BLU Acceleration: So Much More than Just a Column Store · Proc. VLDB Endow. 2013 |
Indexing and storage engines › data compression
dictionary compression |
0.2 | 1 | 2013 | DB2 with BLU Acceleration: So Much More than Just a Column Store · Proc. VLDB Endow. 2013 |
Query processing and optimization
query optimization |
0.2 | 3 | 2008 | Greedy List Intersection · ICDE 2008 Load and Network Aware Query Routing for Information Integration · ICDE 2005 Automated statistics collection in action · SIGMOD Conference 2005 |
Storage systems
data compression |
0.1 | 2 | 2015 | In-memory BLU acceleration in IBM's DB2 and dashDB: Optimized for modern workloads and hardware architectures · ICDE 2015 How to Wring a Table Dry: Entropy Compression of Relations and Querying of Compressed Relations · VLDB 2006 |
Query processing and optimization
cardinality estimation |
0.1 | 3 | 2007 | Automated statistics collection in action · SIGMOD Conference 2005 Robust Query Processing through Progressive Optimization · SIGMOD Conference 2004 Lazy, adaptive rid-list intersection, and its application to index anding · SIGMOD Conference 2007 |
Query processing and optimization › query execution › scan processing
sequential scan |
0.1 | 2 | 2008 | Constant-Time Query Processing · ICDE 2008 Row-wise parallel predicate evaluation · Proc. VLDB Endow. 2008 |
Query processing and optimization › query optimization › statistics management
statistics collection |
0.1 | 2 | 2005 | Automated statistics collection in action · SIGMOD Conference 2005 Automated Statistics Collection in DB2 UDB · VLDB 2004 |
Query processing and optimization › query optimization › transformation-based optimization
query reordering |
0.1 | 3 | 2002 | Partial results for online query processing · SIGMOD Conference 2002 Online dynamic reordering · VLDB J. 2000 Online Dynamic Reordering for Interactive Data Processing · VLDB 1999 |
Query processing and optimization
online query processing |
0.1 | 3 | 2002 | Partial results for online query processing · SIGMOD Conference 2002 Online dynamic reordering · VLDB J. 2000 CONTROL: Continuous Output and Navigation Technology with Refinement On-Line · SIGMOD Conference 1998 |
Query processing and optimization
aggregation |
0.1 | 1 | 2008 | Constant-Time Query Processing · ICDE 2008 |
Database theory
conjunctive query evaluation |
0.1 | 1 | 2008 | Greedy List Intersection · ICDE 2008 |
Query processing and optimization › query execution › expression evaluation
predicate evaluation |
0.1 | 1 | 2008 | Row-wise parallel predicate evaluation · Proc. VLDB Endow. 2008 |
Query processing and optimization
query execution |
0.1 | 1 | 2008 | Constant-Time Query Processing · ICDE 2008 |
Distributed and cloud data management
query offloading |
0.1 | 1 | 2008 | Integration of Server, Storage and Database Stack: Moving Processing Towards Data · ICDE 2008 |
Processor architecture and microarchitecture
SIMD |
0.1 | 1 | 2008 | Row-wise parallel predicate evaluation · Proc. VLDB Endow. 2008 |
Data stream processing
streaming analytics |
0.1 | 1 | 2016 | Wildfire: Concurrent Blazing Data Ingest and Analytics · SIGMOD Conference 2016 |
Information retrieval › query processing
list intersection |
0.1 | 1 | 2007 | Lazy, adaptive rid-list intersection, and its application to index anding · SIGMOD Conference 2007 |
Distributed and cloud data management
federated database |
0.1 | 1 | 2006 | POP/FED: Progressive Query Optimization for Federated Queries in DB2 · VLDB 2006 |
Methods — techniques the papers use, named apart from their topics
SIMD · 0.6multi-datacenter replication · 0.5materialized view maintenance · 0.5shadow tables · 0.4columnar storage · 0.4partitioning · 0.2linear probing · 0.2domain partitioning · 0.2dictionary encoding · 0.2bloom filter · 0.2adaptivity evaluation · 0.1value proposition analysis · 0.1sampling · 0.1lottery scheduling · 0.1bit-packing · 0.1bank layout · 0.1compression · 0.1dataflow processing · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Napa: Powering Scalable Data Warehousing with Robust Query Performance at GoogleabstractGoogle services continuously generate vast amounts of application data. This data provides valuable insights to business users. We need to store and serve these planet-scale data sets under the extremely demanding requirements of scalability, sub-second query response times, availability, and strong consistency; all this while ingesting a massive stream of updates from applications used around the globe. We have developed and deployed in production an analytical data management system, Napa, to meet these requirements. Napa is the backend for numerous clients in Google. These clients have a strong expectation of variance-free, robust query performance. At its core, Napa's principal technologies for robust query performance include the aggressive use of materialized views, which are maintained consistently as new data is ingested across multiple data centers. Our clients also demand flexibility in being able to adjust their query performance, data freshness, and costs to suit their unique needs. Robust query processing and flexible configuration of client databases are the hallmark of Napa design. Most of the related work in this area takes advantage of full flexibility to design the whole system without the need to support a diverse set of preexisting use cases. In comparison, a particular challenge we faced is that Napa needs to deal with hard constraints from existing applications and infrastructure, so we could not do a "green field" system, but rather had to satisfy existing constraints. These constraints led us to make particular design decisions and also devise new techniques to meet the challenges. In this paper, we share our experiences in designing, implementing, deploying, and running Napa in production with some of Google's most demanding applications. Ankur Agiwal, Gokul Nath Babu Manoharan, Indrajit Roy 0001, Jagan Sankaranarayanan, Hao Zhang 0029, Tao Zou 0002, Jim Chen, Thanh Do, Haoyan Geng, Raman Grover, Yanlai Huang, Adam Li, Jianyi Liang, Xi Mao, Maya Meng, Prashant Mishra, Rajesh Sr, Vijayshankar Raman, Sourashis Roy, Mayank Singh Shishodia, Tianhang Sun, Justin Tang, Jun'ichi Tatemura, Sagar Trehan, Ramkumar Vadali, Prasanna Venkatasubramanian, Joey Zhang, Zeleng Zhuang, Goetz Graefe, Divyakant Agrawal, Jeffrey F. Naughton, Sujata Kosalge, Hakan Hacigümüs |
Proc. VLDB Endow. | 27 |
| 2019 | WiSer: A Highly Available HTAP DBMS for IoT ApplicationsabstractIn a classic transactional distributed database management system (DBMS), write transactions invariably synchronize with a coordinator before final commitment. While enforcing serializability, this model has long been criticized for not satisfying the applications' availability requirements. When entering the era of Internet of Things (IoT), this problem has become more severe, as an increasing number of applications call for the capability of hybrid transactional and analytical processing (HTAP), where aggregation constraints need to be enforced as part of transactions. Current systems work around this by creating escrows, allowing occasional overshoots of constraints, which are handled via compensating application logic.The WiSer DBMS targets consistency with availability, by splitting the database commit into two steps. First, a PROMISE step that corresponds to what humans are used to as commitment, and runs without talking to a coordinator. Second, a SERIALIZE step, that fixes transactions' positions in the serializable order, via a consensus procedure. We achieve this split via a novel data representation that embeds read-sets into transaction deltas, and serialization sequence numbers into table rows. WiSer does no sharding (all nodes can run transactions that modify the entire database), and yet enforces aggregation constraints. Both read-write conflicts and aggregation constraint violations are resolved lazily in the serialized data. WiSer also covers node joins and departures as database tables, thus simplifying correctness and failure handling. We present the design of WiSer as well as experiments suggesting this approach has promise. Ron Barber, Adam J. Storm, Yuanyuan Tian 0001, Pinar Tözün, Yingjun Wu, Christian Garcia-Arellano, Ronen Grosman, Guy M. Lohman, C. Mohan 0001, René Müller 0001, Hamid Pirahesh, Vijayshankar Raman, Richard Sidle |
IEEE BigData | 12 |
| 2019 | Umzi: Unified Multi-Zone Indexing for Large-Scale HTAPabstractThe rising demands of real-time analytics have emphasized the need for Hybrid Transactional and Analytical Processing (HTAP) systems, which can handle both fast transactions and analytics concurrently. Wildfire is such a large-scale HTAP system prototyped at IBM Research - Almaden, with many techniques developed in this project incorporated into the IBM’s HTAP product offering. To support both workloads efficiently, Wildfire organizes data differently across multiple zones, with more recent data in a more transaction-friendly zone and older data in a more analytics-friendly zone. Data evolve from one zone to another, as they age. In fact, many other HTAP systems have also employed the multi-zone design, including SAP HANA, MemSQL, and SnappyData. Providing a unified index on the large volumes of data across multiple zones is crucial to enable fast point queries and range queries, for both transaction processing and real-time analytics. However, due to the scale and evolving nature of the data, this is a highly challenging task. In this paper, we present Umzi, the multi-version and multi-zone LSM-like indexing method in the Wildfire HTAP system. To the best of our knowledge, Umzi is the first indexing method to support evolving data across multiple zones in an HTAP system, providing a consistent and unified indexing view on the data, despite the constantly on-going changes underneath. Umzi employs a flexible index structure that combines hash and sort techniques together to support both equality and range queries. Moreover, it fully exploits the storage hierarchy in a distributed cluster environment (memory, SSD, and distributed shared storage) for index efficiency. Finally, all index maintenance operations in Umzi are designed to be non-blocking and lock-free for queries to achieve maximum concurrency, while only minimum locking overhead is incurred for concurrent index modifications. Chen Luo 0002, Pinar Tözün, Yuanyuan Tian 0001, Ron Barber, Vijayshankar Raman, Richard Sidle |
EDBT | 5 |
| 2017 | Evolving Databases for New-Gen Big Data Applications
Ron Barber, Christian Garcia-Arellano, Ronen Grosman, René Müller 0001, Vijayshankar Raman, Richard Sidle, Matt Spilchen, Adam J. Storm, Yuanyuan Tian 0001, Pinar Tözün, Daniel C. Zilio, Matt Huras, Guy M. Lohman, C. Mohan 0001, Fatma Özcan 0001, Hamid Pirahesh |
CIDR | 5 |
| 2016 | Wildfire: Concurrent Blazing Data Ingest and AnalyticsabstractWe demonstrate Hybrid Transactional and Analytics Processing (HTAP) on the Spark platform by the Wildfire prototype, which can ingest up to ~6 million inserts per second per node and simultaneously perform complex SQL analytics queries. Here, a simplified mobile application uses Wildfire to recommend advertising to mobile customers based upon their distance from stores and their interest in products sold by these stores, while continuously graphing analytics results as those customers move and respond to the ads with purchases. Ron Barber, Matt Huras, Guy M. Lohman, C. Mohan 0001, René Müller 0001, Fatma Özcan 0001, Hamid Pirahesh, Vijayshankar Raman, Richard Sidle, Oleg Sidorkin, Adam J. Storm, Yuanyuan Tian 0001, Pinar Tözün |
SIGMOD Conference | 8 |
| 2015 | In-memory BLU acceleration in IBM's DB2 and dashDB: Optimized for modern workloads and hardware architecturesabstractAlthough the DRAM for main memories of systems continues to grow exponentially according to Moore's Law and to become less expensive, we argue that memory hierarchies will always exist for many reasons, both economic and practical, and in particular due to concurrent users competing for working memory to perform joins and grouping. We present the in-memory BLU Acceleration used in IBM's DB2 for Linux, UNIX, and Windows, and now also the dashDB cloud offering, which was designed and implemented from the ground up to exploit main memory but is not limited to what fits in memory and does not require manual management of what to retain in memory, as its competitors do. In fact, BLU Acceleration views memory as too slow, and is carefully engineered to work in higher levels of the system cache by keeping the data encoded and packed densely into bit-aligned vectors that can exploit SIMD instructions in processing queries. To achieve scalable multi-core parallelism, BLU assigns to each thread independent data structures, or partitions thereof, designed to have low synchronization costs, and doles out batches of values to threads. On customer workloads, BLU has improved performance on complex analytics queries by 10 to 50 times, compared to the legacy row-organized run-time, while also significantly simplifying database administration, shortening time to value, and improving data compression. UPDATE and DELETE performance was improved by up to 112 times with the new Cancun release of DB2 with BLU Acceleration, which also added Shadow Tables for high performance on mixed OLTP and BI analytics workloads, and extended DB2's High Availability Disaster Recovery (HADR) and SQL compatibility features to BLU's column-organized tables. Ron Barber, Guy M. Lohman, Vijayshankar Raman, Richard Sidle, Sam Lightstone, Berni Schiefer |
ICDE | 3 |
| 2014 | Memory-Efficient Hash JoinsabstractWe present new hash tables for joins, and a hash join based on them, that consumes far less memory and is usually faster than recently published in-memory joins. Our hash join is not restricted to outer tables that fit wholly in memory. Key to this hash join is a new concise hash table (CHT), a linear probing hash table that has 100% fill factor, and uses a sparse bitmap with embedded population counts to almost entirely avoid collisions. This bitmap also serves as a Bloom filter for use in multi-table joins. We study the random access characteristics of hash joins, and renew the case for non-partitioned hash joins. We introduce a variant of partitioned joins in which only the build is partitioned, but the probe is not, as this is more efficient for large outer tables than traditional partitioned joins. This also avoids partitioning costs during the probe, while at the same time allowing parallel build without latching overheads. Additionally, we present a variant of CHT, called a concise array table (CAT), that can be used when the key domain is moderately dense. CAT is collision-free and avoids storing join keys in the hash table. We perform a detailed comparison of CHT and CAT against leading in-memory hash joins. Our experiments show that we can reduce the memory usage by one to three orders of magnitude, while also being competitive in performance. Ron Barber, Guy M. Lohman, Ippokratis Pandis, Vijayshankar Raman, Richard Sidle, Gopi K. Attaluri, Naresh Chainani, Sam Lightstone, David Sharpe |
Proc. VLDB Endow. | 4 |
| 2014 | Joins on Encoded and Partitioned DataabstractCompression has historically been used to reduce the cost of storage, I/Os from that storage, and buffer pool utilization, at the expense of the CPU required to decompress data every time it is queried. However, significant additional CPU efficiencies can be achieved by deferring decompression as late in query processing as possible and performing query processing operations directly on the still-compressed data. In this paper, we investigate the benefits and challenges of performing joins on compressed (or encoded) data. We demonstrate the benefit of independently optimizing the compression scheme of each join column, even though join predicates relating values from multiple columns may require translation of the encoding of one join column into the encoding of the other. We also show the benefit of compressing "payload" data other than the join columns "on the fly," to minimize the size of hash tables used in the join. By partitioning the domain of each column and defining separate dictionaries for each partition, we can achieve even better overall compression as well as increased flexibility in dealing with new values introduced by updates. Instead of decompressing both join columns participating in a join to resolve their different compression schemes, our system performs a light-weight mapping of only qualifying rows from one of the join columns to the encoding space of the other at run time. Consequently, join predicates can be applied directly on the compressed data. We call this procedure encoding translation. Two alternatives of encoding translation are developed and compared in the paper. We provide a comprehensive evaluation of these alternatives using product implementations of each on the TPC-H data set, and demonstrate that performing joins on encoded and partitioned data achieves both superior performance and excellent compression. Jae-Gil Lee 0001, Gopi K. Attaluri, Ron Barber, Naresh Chainani, Oliver Draese, Frederick Ho, Stratos Idreos, Min-Soo Kim 0002, Sam Lightstone, Guy M. Lohman, Konstantinos Morfonios, Keshava Murthy, Ippokratis Pandis, Lin Qiao 0001, Vijayshankar Raman, Vincent KulandaiSamy, Richard Sidle, Knut Stolze |
Proc. VLDB Endow. | 15 |
| 2013 | NUMA-aware algorithms: the case of data shuffling
Ippokratis Pandis, René Müller 0001, Vijayshankar Raman, Guy M. Lohman |
CIDR | 4 |
| 2013 | Go, server, go!: parallel computing with moving serversabstractIn data centers today, servers are stationary and data flows on a hierarchical network of switches and routers. But such static server arrangements require very scalable networks, and many applications are bottlenecked by network bandwidth. In addition, server density is kept low to enable maintenance and upgrades, as well as to increase air flow. In this paper, we propose a design in which servers move physically, and communicate via point-to-point connections (instead of switches). We argue that this allows data transfer bandwidth to scale linearly with the number of servers, and that moving servers is not as expensive as it sounds, at least in terms of power consumption. Moreover, while servers move around, they regularly reach the perimeters of the system, which helps with heat dissipation and with servicing of failed nodes. This design also helps in traditional switch-based networks, to improve density and maintainability. Ron Barber, Guy M. Lohman, René Müller 0001, Ippokratis Pandis, Vijayshankar Raman, Winfried W. Wilcke |
SoCC | 5 |
| 2013 | DB2 with BLU Acceleration: So Much More than Just a Column StoreabstractDB2 with BLU Acceleration deeply integrates innovative new techniques for defining and processing column-organized tables that speed read-mostly Business Intelligence queries by 10 to 50 times and improve compression by 3 to 10 times, compared to traditional row-organized tables, without the complexity of defining indexes or materialized views on those tables. But DB2 BLU is much more than just a column store. Exploiting frequency-based dictionary compression and main-memory query processing technology from the Blink project at IBM Research - Almaden, DB2 BLU performs most SQL operations - predicate application (even range predicates and IN-lists), joins, and grouping - on the compressed values, which can be packed bit-aligned so densely that multiple values fit in a register and can be processed simultaneously via SIMD (single-instruction, multipledata) instructions. Designed and built from the ground up to exploit modern multi-core processors, DB2 BLU's hardware-conscious algorithms are carefully engineered to maximize parallelism by using novel data structures that need little latching, and to minimize data-cache and instruction-cache misses. Though DB2 BLU is optimized for in-memory processing, database size is not limited by the size of main memory. Fine-grained synopses, late materialization, and a new probabilistic buffer pool protocol for scans minimize disk I/Os, while aggressive prefetching reduces I/O stalls. Full integration with DB2 ensures that DB2 with BLU Acceleration benefits from the full functionality and robust utilities of a mature product, while still enjoying order-of-magnitude performance gains from revolutionary technology without even having to change the SQL, and can mix column-organized and row-organized tables in the same tablespace and even within the same query. Vijayshankar Raman, Gopi K. Attaluri, Ron Barber, Naresh Chainani, David Kalmuk, Vincent KulandaiSamy, Jens Leenstra, Sam Lightstone, Shaorong Liu, Guy M. Lohman, Tim Malkemus, René Müller 0001, Ippokratis Pandis, Berni Schiefer, David Sharpe, Richard Sidle, Adam J. Storm |
Proc. VLDB Endow. | 1 |
| 2009 | Autonomic query parallelization using non-dedicated computers: an evaluation of adaptivity options
Norman W. Paton, Jorge Buenabad Chávez, Mengsong Chen, Vijayshankar Raman, Garret Swart, Inderpal Narang, Daniel M. Yellin, Alvaro A. A. Fernandes |
VLDB J. | 4 |
| 2008 | Greedy List IntersectionabstractA common technique for processing conjunctive queries is to first match each predicate separately using an index lookup, and then compute the intersection of the resulting row- id lists, via an AND-tree. The performance of this technique depends crucially on the order of lists in this tree: it is important to compute early the intersections that will produce small results. But this optimization is hard to do when the data or predicates have correlation. We present a new algorithm for ordering the lists in an AND- tree by sampling the intermediate intersection sizes. We prove that our algorithm is near-optimal and validate its effectiveness experimentally on datasets with a variety of distributions. Robert Krauthgamer, Aranyak Mehta, Vijayshankar Raman, Atri Rudra |
ICDE | 3 |
| 2008 | Integration of Server, Storage and Database Stack: Moving Processing Towards DataabstractStorage architecture includes more and more processing power for increasing requirement of reliability, managibility and scalability. For example, an IBM storage server is equipped with 4 or 8 state-of-the-art processors and gigabytes of memories. This trend enables analyzing data locally inside a storage server. Processing data locally is appealing under the following circumstances: (1) huge reduction of data flowing to the host, (2) reduction of CPU consumption on host. Accordingly, the benefits are (1) less data traffic through IO channel to the host, (2) better utilization of host bufferpool, and (3) enabling more workload on the host. One crucial task is to understand how DBMS can benefit from such hardware. That is to identify which database operations are beneficial to be offloaded given a query workload in a particular setting. For certain operations, we establish value proposition via various approaches and show the analytical and experimental results. In particular, starjoin queries are commonly used in business warehouses. We propose to offload a portion of a starjoin query from host to the POWER5 P processors on a storage server, which dramatically reduces the amount of channel IO and host CPU consumption. Moreover, the query elapsed time is improved via the exploitation of the state-of-the-art P processors on a storage server. Lin Qiao 0001, Vijayshankar Raman, Inderpal Narang, Prashant Pandey 0005, David D. Chambliss, Gene Fuh, James A. Ruddy, Ying-Lin Chen, Kou-Horng Yang, Fen-Ling Ling |
ICDE | 2 |
| 2008 | Constant-Time Query ProcessingabstractQuery performance in current systems depends significantly on tuning: how well the query matches the available indexes, materialized views etc. Even in a well tuned system, there are always some queries that take much longer than others. This frustrates users who increasingly want consistent response times to ad hoc queries. We argue that query processors should instead aim for constant response times for all queries, with no assumption about tuning. We present Blink, our first attempt at this goal, that runs every query as a table scan over a fully denormalized database, with hash group-by done along the way. To make this scan efficient, Blink uses a novel compression scheme that horizontally partitions tuples by frequency, thereby compressing skewed data almost down to entropy, even while producing long runs of fixed-length, easily-parseable values. We also present a scheme for evaluating a conjunction of range and equality predicates in SIMD fashion over compressed tuples, and different schemes for efficient hash-based aggregation within the L2 cache. A experimental study with a suite of arbitrary single block SQL queries over a TPCH-like schema suggests that constant-time queries can be efficient. Vijayshankar Raman, Garret Swart, Lin Qiao 0001, Frederick Reiss 0001, Vijay Dialani, Donald Kossmann, Inderpal Narang, Richard Sidle |
ICDE | 1 |
| 2008 | Row-wise parallel predicate evaluationabstractTable scans have become more interesting recently due to greater use of ad-hoc queries and greater availability of multi-core, vector-enabled hardware. Table scan performance is limited by value representation, table layout, and processing techniques. In this paper we propose a new layout and processing technique for efficient one-pass predicate evaluation. Starting with a set of rows with a fixed number of bits per column, we append columns to form a set of banks and then pad each bank to a supported machine word length, typically 16, 32, or 64 bits. We then evaluate partial predicates on the columns of each bank, using a novel evaluation strategy that evaluates column level equality, range tests, IN-list predicates, and conjuncts of these predicates, simultaneously on multiple columns within a bank, and on multiple rows within a machine register. This approach outperforms pure column stores, which must evaluate the partial predicates one column at a time. We evaluate and compare the performance and representation overhead of this new approach and several proposed alternatives. Ryan Johnson 0001, Vijayshankar Raman, Richard Sidle, Garret Swart |
Proc. VLDB Endow. | 2 |
| 2008 | Main-memory scan sharing for multi-core CPUsabstractComputer architectures are increasingly based on multi-core CPUs and large memories. Memory bandwidth, which has riot kept pace with the increasing number of cores, has become the primary processing bottleneck, replacing disk I/O as the limiting factor. To address this challenge, we provide novel algorithms for increasing the throughput of Business Intelligence (BI) queries, as well as for ensuring fairness and avoiding starvation among a concurrent set of such queries. To maximize throughput, we propose a novel FullSharing scheme that allows all concurrent queries, when performing base-table I/O, to share the cache belonging to a given core. We then generalize this approach to a BatchSharing scheme that avoids thrashing on "agg-tables" ---hash tables that are used for aggregation processing---caused by execution of too many queries on a core. This scheme partitions queries into batches such that the working-set of agg-table entries for each batch can fit into a cache; an efficient sampling technique is used to estimate selectivities and working-set sizes for purposes of query partitioning. Finally, we use lottery-scheduling techniques to ensure fairness and impose a hard upper bound on staging time to avoid starvation. On our 8-core testbed, we were able to completely remove the memory I/O bottleneck, increasing throughput by a factor of 2 to 2.5, while also maintaining fairness and avoiding starvation. Lin Qiao 0001, Vijayshankar Raman, Frederick Reiss 0001, Peter J. Haas, Guy M. Lohman |
Proc. VLDB Endow. | 2 |
| 2007 | How to barter bits for chronons: compression and bandwidth trade offs for database scansabstractTwo trends are converging to make the CPU cost of a table scan a more important component of database performance. First, table scans are becoming a larger fraction of the query processing workload, and second, large memories and compression are making table scans CPU, rather than disk bandwidth, bound. Data warehouse systems have found that they can avoid the unpredictability of joins and indexing and achieve good performance by using massive parallel processing to perform scans over compressed vertical partitions of a denormalized schema. Allison L. Holloway, Vijayshankar Raman, Garret Swart, David J. DeWitt |
SIGMOD Conference | 2 |
| 2007 | Lazy, adaptive rid-list intersection, and its application to index andingabstractRID-List (row id list) intersection is a common strategy in query processing, used in star joins, column stores, and even search engines. To apply a conjunction of predicates on a table, a query process ordoes index lookups to form sorted RID-lists (or bitmap) of the rows matching each predicate, then intersects the RID-lists via an AND-tree, and finally fetches the corresponding rows to apply any residual predicates and aggregates. This process can be expensive when the RID-lists are large. Furthermore, the performance is sensitive to the order in which RID lists are intersected together, and to treating the right predicates as residuals. If the optimizer chooses a wrong order or a wrong residual, due to a poor cardinality estimate, the resulting plan can run orders of magnitude slower than expected. We present a new algorithm for RID-list intersection that is both more efficient and more robust than this standard algorithm. First, we avoid forming the RID-lists up front, and instead form this lazily as part of the intersection. This reduces the associated IO and sort cost significantly, especially when the data distribution is skewed. It also ameliorates the problem of wrong residual table selection. Second, we do not intersect the RID-lists via an AND-tree, because this is vulnerable to cardinality mis-estimations. Instead, we use an adaptive set intersection algorithm that performs well even when the cardinality estimates are wrong. We present detailed experiments of this algorithm on data with varying distributions to validate its efficiency and predictability. Vijayshankar Raman, Lin Qiao 0001, Inderpal Narang, Ying-Lin Chen, Kou-Horng Yang, Fen-Ling Ling |
SIGMOD Conference | 1 |
| 2007 | Adaptive query processing: Why, How, When, and What Next?
Zachary G. Ives, Amol Deshpande, Vijayshankar Raman |
VLDB | 3 |
| 2006 | Progressive Query Optimization for Federated Queries
Stephan Ewen, Holger Kache, Volker Markl, Vijayshankar Raman |
EDBT | 4 |
| 2006 | Adaptive query processing: why, how, when, what nextabstractNo abstract available. Amol Deshpande, Joseph M. Hellerstein, Vijayshankar Raman |
SIGMOD Conference | 3 |
| 2006 | POP/FED: Progressive Query Optimization for Federated Queries in DB2
Holger Kache, Wook-Shin Han, Volker Markl, Vijayshankar Raman, Stephan Ewen |
VLDB | 4 |
| 2006 | How to Wring a Table Dry: Entropy Compression of Relations and Querying of Compressed Relations
Vijayshankar Raman, Garret Swart |
VLDB | 1 |
| 2005 | Load and Network Aware Query Routing for Information IntegrationabstractCurrent federated systems deploy cost-based query optimization mechanisms; i.e., the optimizer selects a global query plan with the lowest cost to execute. Thus, cost functions influence what remote sources (i.e. equivalent data sources) to access and how federated queries are processed. In most federated systems, the underlying cost model is based on database statistics and query statements; however, the system load of remote sources and the dynamic nature of the network latency in wide area networks are not considered. As a result, federated query processing solutions can not adapt to runtime environment changes, such as network congestion or heavy workloads at remote sources. We present a novel system architecture that deploys a query cost calibrator to calibrate the cost function based on system load and network latency at the remote sources and consequently indirectly "influences" query routing and load distribution in federated information systems. Wen-Syan Li, Vishal S. Batra, Vijayshankar Raman, K. Selçuk Candan, Inderpal Narang |
ICDE | 3 |
| 2005 | Automated statistics collection in actionabstractIf presented with inaccurate statistics, even the most sophisticated query optimizers make mistakes. They may wrongly estimate the output cardinality of a certain operation and thus make sub-optimal plan choices based on that cardinality. Maintaining accurate statistics is hard, both because each table may need a specifically parameterized set of statistics and because statistics get outdated as the database changes. Automated Statistic Collection (ASC) is a new component in IBM DB2 UDB that, without any DBA intervention, observes and analyzes the effects of faulty statistics and, in response, it triggers actions that continuously repair the latter. In this demonstration, we will show how ASC works to alleviate the DBA from the task of maintaining fresh, accurate statistics in several challenging scenarios. ASC is able to reconfigure the statistics collection parameters (e.g, number of frequent values for a column, or correlations between certain column pairs) on a per-table basis. ASC can also detect and guard against outdated statistics caused by high updates/inserts/deletes rates in volatile, dynamic databases. We will also show how ASC works from the inside: from how cardinality mis-estimations are introduced in different kind of operators, to how this error is propagated to later operations in the plan, to how this influences plan choices inside the optimizer. Peter J. Haas, Mokhtar Kandil, Alberto Lerner, Volker Markl, Ivan Popivanov, Vijayshankar Raman, Daniel C. Zilio |
SIGMOD Conference | 6 |
| 2005 | QoS-based Data Access and Placement for Federated Information Systems
Wen-Syan Li, Vishal S. Batra, Vijayshankar Raman, Inderpal Narang |
VLDB | 3 |
| 2005 | Parallel Querying with Non-Dedicated Computers
Vijayshankar Raman, Inderpal Narang |
VLDB | 1 |
| 2004 | Robust Query Processing through Progressive OptimizationabstractVirtually every commercial query optimizer chooses the best plan for a query using a cost model that relies heavily on accurate cardinality estimation. Cardinality estimation errors can occur due to the use of inaccurate statistics, invalid assumptions about attribute independence, parameter markers, and so on. Cardinality estimation errors may cause the optimizer to choose a sub-optimal plan. We present an approach to query processing that is extremely robust because it is able to detect and recover from cardinality estimation errors. We call this approach "progressive query optimization" (POP). POP validates cardinality estimates against actual values as measured during query execution. If there is significant disagreement between estimated and actual values, execution might be stopped and re-optimization might occur. Oscillation between optimization and execution steps can occur any number of times. A re-optimization step can exploit both the actual cardinality and partial results, computed during a previous execution step. Checkpoint operators (CHECK) validate the optimizer's cardinality estimates against actual cardinalities. Each CHECK has a condition that indicates the cardinality bounds within which a plan is valid. We compute this validity range through a novel sensitivity analysis of query plan operators. If the CHECK condition is violated, CHECK triggers re-optimization. POP has been prototyped in a leading commercial DBMS. An experimental evaluation of POP using TPC-H queries illustrates the robustness POP adds to query processing, while incurring only negligible overhead. A case-study applying POP to a real-world database and workload shows the potential of POP, accelerating complex OLAP queries by almost two orders of magnitude. Volker Markl, Vijayshankar Raman, David E. Simmen, Guy M. Lohman, Hamid Pirahesh |
SIGMOD Conference | 2 |
| 2004 | Automated Statistics Collection in DB2 UDB
Ashraf Aboulnaga, Peter J. Haas, Sam Lightstone, Guy M. Lohman, Volker Markl, Ivan Popivanov, Vijayshankar Raman |
VLDB | 7 |
| 2004 | Progressive Optimization in Action
Vijayshankar Raman, Volker Markl, David E. Simmen, Guy M. Lohman, Hamid Pirahesh |
VLDB | 1 |
| 2003 | TelegraphCQ: Continuous Dataflow Processing for an Uncertain World
Sirish Chandrasekaran, Owen Cooper, Amol Deshpande, Michael J. Franklin, Joseph M. Hellerstein, Wei Hong 0001, Sailesh Krishnamurthy, Samuel Madden 0001, Vijayshankar Raman, Frederick Reiss 0001, Mehul A. Shah |
CIDR | 9 |
| 2003 | Using State Modules for Adaptive Query ProcessingabstractWe present a query architecture in which join operators are decomposed into their constituent data structures (State Modules, or SteMs), and dataflow among these SteMs is managed adaptively by an eddy routing operator [R. Avnur et al., (2000)]. Breaking the encapsulation of joins serves two purposes. First, it allows the eddy to observe multiple physical operations embedded in a join algorithm, allowing for better calibration and control of these operations. Second, the SteM on a relation serves as a shared materialization point, enabling multiple competing access methods to share results, which can be leveraged by multiple competing join algorithms. Our architecture extends prior work significantly, allowing continuously adaptive decisions for most major aspects of traditional query optimization: choice of access methods and join algorithms, ordering of operators, and choice of a query spanning tree. SteMs introduce significant routing flexibility to the eddy, enabling more opportunities for adaptation, but also introducing the possibility of incorrect query results. We present constraints on eddy routing through SteMs that ensure correctness while preserving a great deal of flexibility. We also demonstrate the benefits of our architecture via experiments in the Telegraph dataflow system. We show that even a simple routing policy allows significant flexibility in adaptation, including novel effects like automatic "hybridization " of multiple algorithms for a single join. Vijayshankar Raman, Amol Deshpande, Joseph M. Hellerstein |
ICDE | 1 |
| 2002 | Continuously adaptive continuous queries over streamsabstractWe present a continuously adaptive, continuous query (CACQ) implementation based on the eddy query processing framework. We show that our design provides significant performance benefits over existing approaches to evaluating continuous queries, not only because of its adaptivity, but also because of the aggressive cross-query sharing of work and space that it enables. By breaking the abstraction of shared relational algebra expressions, our Telegraph CACQ implementation is able to share physical operators --- both selections and join state --- at a very fine grain. We augment these features with a grouped-filter index to simultaneously evaluate multiple selection predicates. We include measurements of the performance of our core system, along with a comparison to existing continuous query approaches. Samuel Madden 0001, Mehul A. Shah, Joseph M. Hellerstein, Vijayshankar Raman |
SIGMOD Conference | 4 |
| 2002 | Partial results for online query processingabstractTraditional query processors generate full, accurate query results, either in batch or in pipelined fashion. We argue that this strict model is too rigid for exploratory queries over diverse and distributed data sources, such as sources on the Internet. Instead, we propose a looser model of querying in which a user submits a broad initial query outline, and the system continually generates partial result tuples that may contain values for only some of the output fields. The user can watch these partial results accumulate at the user interface, and accordingly refine the query by specifying their interest in different kinds of partial results.After describing our querying model and user interface, we present a query processing architecture for this model which is implemented in the Telegraph dataflow system. Our architecture is designed to generate partial results quickly, and to adapt query execution to changing user interests. The crux of this architecture is a dataflow operator that supports two kinds of reorderings: reordering of intermediate tuples within a dataflow, and reordering of query plan operators through which tuples flow. We study reordering policies that optimize for the quality of partial results delivered over time, and experimentally demonstrate the benefits of our architecture in this context. Vijayshankar Raman, Joseph M. Hellerstein |
SIGMOD Conference | 1 |
| 2001 | Potter's Wheel: An Interactive Data Cleaning System
Vijayshankar Raman, Joseph M. Hellerstein |
VLDB | 1 |
| 2000 | Informix under CONTROL: Online Query Processing
Joseph M. Hellerstein, Ron Avnur, Vijayshankar Raman |
Data Min. Knowl. Discov. | 3 |
| 2000 | Online dynamic reordering
Vijayshankar Raman, Bhaskaran Raman, Joseph M. Hellerstein |
VLDB J. | 1 |
| 1999 | Locality Preserving Dictionaries: Theory and Application to Clustering in DatabasesabstractWe discuss strategies for building locality preserving dictionaries (LPDs) in which all data items within a range lie together, within a space that is a small function of the number of items in the range.We describe an approach where the memory space is partitioned and items are placed in sorted order, with judiciously placed gaps between them, resulting in efficient insert, delete, and search operations.We adapt our algorithms to the particular application of storing database relations on disk via LPDs.By providing a natural clustering mechanism for data in a sorted order instead of simply clustering data at a page granularity, LPDs provide much better I/O performance than traditional clustered indexes on range searches, as well as on access of data in sorted order.Analytical studies of LPDs and clustered B-Trees show that using LPDs results in up to 5 to 13 times faster range searches and sorted order accesses over using a clustered B-Tree, at the expense of 0 to 75% overhead in storage needs and up to 28% overhead in insert/delete costs. Vijayshankar Raman |
PODS | 1 |
| 1999 | Online Dynamic Reordering for Interactive Data Processing
Vijayshankar Raman, Bhaskaran Raman, Joseph M. Hellerstein |
VLDB | 1 |
| 1998 | CONTROL: Continuous Output and Navigation Technology with Refinement On-LineabstractThe CONTROL project at U.C. Berkeley has developed technologies to provide online behavior for data-intensive applications. Using new query processing algorithms, these technologies continuously improve estimates and confidence statistics. In addition, they react to user feedback, thereby giving the user control over the behavior of long-running operations. This demonstration displays the modifications to a database system and the resulting impact on aggregation queries, data visualization, and GUI widgets. We then compare this interactive behavior to batch-processing alternatives. Ron Avnur, Joseph M. Hellerstein, Bruce Lo, Christopher Olston, Bhaskaran Raman, Vijayshankar Raman, Tali Roth, Kirk Wylie |
SIGMOD Conference | 6 |
| 1998 | Permutation Routing in Wavelength-Routed Wrapped-Around Shuffle Networks Using Fewer Wavelengths
Gurusamy Mohan, C. Siva Ram Murthy, Vijayshankar Raman |
Comput. Networks | 3 |