VLDB 2026 Research / reviewers in the wild / expert
S. Sudarshan 0001
dblp:s/SSudarshan1
· DBLP profile ↗
77ranked-venue papers in the field
2as first author
7since 2021 · last 2026
0000-0002-6230-2288ORCID · verified
Domains — venue-derived; a paper can count in several
Database Systems & Data Management · 77 (2 first)
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Efficient Dataframe Systems: Lazy Fat Pandas on a Diet
Bhushan Pal Singh, Priyesh Kumar, Chiranmoy Bhattacharya, S. Sudarshan 0001 |
EDBT | 4 |
| 2025 | Test Data Generation for Complex SQL QueriesabstractGeneration of sample data for testing SQL queries has been an important task for many years, with applications such as testing of SQL queries used for data analytics and in application software, as well as grading of student SQL queries. More recently, with the increasing use of text-to-SQL systems, test data is key for the validation of generated queries. Earlier work on test data generation handled basic single-block SQL queries, as well as single-level nested SQL queries, but could not handle more complex queries. In this paper, we present a novel architecture and associated techniques for test generation that are designed to handle complex queries. We show our approach significantly outperforms the prior work on test data generation in the handling of complex queries. We also show that our approach outperforms the state-of-the-art for the more restricted problem of showing non-equivalence of query pairs. Sunanda Somwase, Parismita Das, S. Sudarshan 0001 |
Proc. ACM Manag. Data | 3 |
| 2024 | Scheduling of Intermittent Query Processing
Saranya Chandrasekaran, S. Sudarshan 0001 |
IDEAS | 2 |
| 2024 | PACMMOD Volume 2 Issue 3: EditorialabstractWelcome to Issue 3 of Volume 2 of the Proceedings of the ACM on Management of Data. This issue has papers submitted to the SIGMOD research track of PACMMOD, whose submission deadline was October 15, 2023. Out of 287 submissions in this round, a total of 70 articles were accepted and are presented in this issue. We provide statistics of paper submissions and acceptance, by primary subject area, across all submissions to the SIGMOD research track of PACMMOD in 2023. Accepted papers from this pool have been invited for presentation at the ACM SIGMOD 2024 conference to be held from 9th to 14th June 2024, in Santiago, Chile. Divyakant Agrawal, Alexandra Meliou, S. Sudarshan 0001 |
Proc. ACM Manag. Data | 3 |
| 2024 | PACMMOD Volume 2 Issue 1: EditorialabstractWelcome to Issue 1 of Volume 2 of the Proceedings of the ACM on Management of Data, which has papers from the third round of submissions to the SIGMOD research track. Out of 230 submissions in this round, whose submission deadline was July 15, 2023, a total of 71 articles were accepted and are presented in this issue. Divyakant Agrawal, Alexandra Meliou, S. Sudarshan 0001 |
Proc. ACM Manag. Data | 3 |
| 2023 | PACMMOD Volume 1, Issue 3: EditorialabstractWe are excited to introduce this new issue of PACMMOD (Proceedings of the ACM on Management of Data). PACMMOD is a new journal, concerned with the principles, algorithms, techniques, systems, and applications of database management systems, data management technology, and science and engineering of data. It includes articles reporting cutting-edge data management, data engineering, and data science research. Articles published at PACMMOD address data challenges at various stages of the data lifecycle, from modeling, acquisition, cleaning, integration, indexing, querying, analysis, exploration, visualization, interpretation, and explanation. They focus on dataintensive components of data pipelines, and solve problems in areas of interest to our community (e.g., data curation, optimization, performance, storage, systems), operating within accuracy, privacy, fairness, and diversity constraints. Articles reporting deployed systems and solutions to data science pipelines and/or fundamental experiences and insights from evaluating real-world data engineering problems are especially encouraged. Divyakant Agrawal, Alexandra Meliou, S. Sudarshan 0001 |
Proc. ACM Manag. Data | 3 |
| 2023 | PACMMOD Volume 1 Issue 4: EditorialabstractWelcome to this issue of the Proceedings of the ACM on Management of Data (Volume 1, Issue 4 (SIGMOD)). While this issue has papers from the SIGMOD track, PACMMOD will soon also have issues with papers from the newly created PODS track. Out of 189 submissions to the round of reviewing for the PACMMOD SIGMOD track whose submission deadline was April 15, 2023, a total of 49 articles were accepted, and are presented in this issue. Divyakant Agrawal, Alexandra Meliou, S. Sudarshan 0001 |
Proc. ACM Manag. Data | 3 |
| 2019 | Automated Grading of SQL QueriesabstractGrading student SQL queries manually is a tedious and error-prone process. The XData system, developed at IIT Bombay, can be used to test if a student query is correct or not. However, in case a student query is found to be incorrect, there is currently no way to automatically assign partial marks. Manually awarding partial marks is not scalable for classes with a large number of students, especially MOOCs, and is also prone to human errors. In this paper, we discuss techniques to award partial marks to student SQL queries, in case they are incorrect, based on a weighted equivalence edit distance metric. Our goal is to find a minimal sequence of edits on the student query such that it can be transformed to a query that is equivalent to a correct query. Our system can also be used in a learning mode where query edits can be suggested as feedback to students to guide them towards a correct query. Our automated partial marking system has been successfully used in courses at IIT Bombay and IIT Dharwad. Bikash Chandra, Ananyo Banerjee, Udbhas Hazra, Mathew Joseph, S. Sudarshan 0001 |
ICDE | 5 |
| 2018 | Test Data Generation for Database ApplicationsabstractUnit test cases have become an essential tool to test application code. Several applications make use of SQL queries in order to retrieve or update information from a database. Database queries for these applications are written natively in SQL using JDBC or using ORM frameworks like Hibernate. Unit testing these applications is typically done by loading a fixed dataset and running unit tests. However with fixed datasets, errors in queries may be missed. In this demonstration, we present a system that takes as input a database application program, and generates datasets and unit tests using the datasets to test the correctness of function with queries in the application. Our techniques are based on static program analysis and mutation testing. We consider database applications written in Java using JDBC or Hibernate APIs. The front-end of our system is a plugin to the IntelliJ IDEA IDE. We believe that such a system would be of great value to application developers and testers. Pooja Agrawal, Bikash Chandra, K. Venkatesh Emani, Neha Garg, S. Sudarshan 0001 |
ICDE | 5 |
| 2018 | Cobra: A Framework for Cost-Based Rewriting of Database ApplicationsabstractDatabase applications are typically written using a mixture of imperative languages and declarative frameworks for data processing. Data processing logic gets distributed across the declarative and imperative parts of a program. Often, there is more than one way to implement the same program, whose efficiency may depend on a number of parameters. In this paper, we propose a framework that automatically generates all equivalent alternatives to a given program using a given set of program transformations, and chooses the least cost alternative. We use the concept of program regions as an algebraic abstraction of a program and extend the Volcano/Cascades framework for optimization of algebraic expressions, to optimize programs. We illustrate the use of our framework for optimizing database applications. We show through experimental results, that our framework has wide applicability in real-world applications and provides significant performance benefits. K. Venkatesh Emani, S. Sudarshan 0001 |
ICDE | 2 |
| 2017 | Efficient and Provable Multi-Query OptimizationabstractComplex queries for massive data analysis jobs have become increasingly commonplace. Many such queries contain common subexpressions, either within a single query or among multiple queries submitted as a batch. Conventional query optimizers do not exploit these subexpressions and produce sub-optimal plans. The problem of multi-query optimization (MQO) is to generate an optimal combined evaluation plan by computing common subexpressions once and reusing them. Exhaustive algorithms for MQO explore an O(nn) search space. Thus, this problem has primarily been tackled using various heuristic algorithms, without providing any theoretical guarantees on the quality of their solution. Tarun Kathuria, S. Sudarshan 0001 |
PODS | 2 |
| 2017 | DBridge: Translating Imperative Code to SQLabstractApplication programs that access data located remotely (such as in a database) often perform poorly due to multiple network round trips and transfer of unused data. This situation is exacerbated in applications that use object-relational mapping (ORM) frameworks such as Hibernate, as developers tend to express complex query logic using imperative code, resulting in poor performance. K. Venkatesh Emani, Tejas Deshpande, Karthik Ramachandra 0002, S. Sudarshan 0001 |
SIGMOD Conference | 4 |
| 2017 | Runtime Optimization of Join Location in Parallel Data Management SystemsabstractApplications running on parallel systems often need to join a streaming relation or a stored relation with data indexed in a parallel data storage system. Some applications also compute UDFs on the joined tuples. The join can be done at the data storage nodes, corresponding to reduce side joins, or by fetching data from the storage system to compute nodes, corresponding to map side join. Both may be suboptimal: reduce side joins may cause skew, while map side joins may lead to a lot of data being transferred and replicated. In this paper, we present techniques to make runtime decisions between the two options on a per key basis, in order to improve the throughput of the join, accounting for UDF computation if any. Our techniques are based on an extended ski-rental algorithm and provide worst-case performance guarantees with respect to the optimal point in the space considered by us. Our techniques use load balancing taking into account the CPU, network and I/O costs as well as the load on compute and storage nodes. We have implemented our techniques on Hadoop, Spark and the Muppet stream processing engine. Our experiments show that our optimization techniques provide a significant improvement in throughput over existing techniques. Bikash Chandra, S. Sudarshan 0001 |
Proc. VLDB Endow. | 2 |
| 2016 | Extracting Equivalent SQL from Imperative Code in Database ApplicationsabstractOptimizing the performance of database applications is an area of practical importance, and has received significant attention in recent years. In this paper we present an approach to this problem which is based on extracting a concise algebraic representation of (parts of) an application, which may include imperative code as well as SQL queries. The algebraic representation can then be translated into SQL to improve application performance, by reducing the volume of data transferred, as well as reducing latency by minimizing the number of network round trips. Our techniques can be used for performing optimizations of database applications that techniques proposed earlier cannot perform. The algebraic representations can also be used for other purposes such as extracting equivalent queries for keyword search on form results. Our experiments indicate that the techniques we present are widely applicable to real world database applications, in terms of successfully extracting algebraic representations of application behavior, as well as in terms of providing performance benefits when used for optimization. K. Venkatesh Emani, Karthik Ramachandra 0002, Subhro Bhattacharya, S. Sudarshan 0001 |
SIGMOD Conference | 4 |
| 2016 | Partial Marking for Automated Grading of SQL QueriesabstractThe XData system, currently being developed at IIT Bombay, provides an automated and interactive platform for grading student SQL queries, as well as for learning SQL. Prior work on the XData system focused on generating query specific test cases to catch common errors in queries. These test cases are used to check whether the student queries are correct or not. For grading student assignments, it is usually not sufficient to just check if a query is correct: if the query is incorrect, partial marks may need to be given, depending on how close the query is to being correct. In this paper, we extend the XData system by adding features that enable awarding of partial marks to incorrect student queries. Our system is able to go beyond numerous syntactic features when comparing a student query with a correct query. These features of our grading system allow the grading of SQL queries to be fully automated, and scalable to even large class sizes such as those of MOOCs. Bikash Chandra, Mathew Joseph, Bharath Radhakrishnan, Shreevidhya Acharya, S. Sudarshan 0001 |
Proc. VLDB Endow. | 5 |
| 2015 | The XDa-TA system for automated grading of SQL query assignmentsabstractGrading of student SQL queries is usually done by executing the query on sample datasets (which may be unable to catch many errors) and/or by manually comparing/checking a student query with the correct query (which can be tedious and error prone). In this demonstration we present the XDa-TA system which can be used by instructors and TAs for grading SQL query assignments automatically. Given one or more correct queries for an SQL assignment, the tool uses the XData system to automatically generate datasets that are designed specifically to catch common errors. The grading is then done by comparing the results of student queries with those of the correct queries against these generated datasets; instructors can optionally provide additional datasets for testing. The tool can also be used in a learning mode by students, where it can provide immediate feedback with hints explaining possible reasons for erroneous output. This tool could be of great value to instructors particularly, to instructors of MOOCs. Amol Bhangdiya, Bikash Chandra, Biplab Kar, Bharath Radhakrishnan, K. V. Maheshwara Reddy, Shetal Shah, S. Sudarshan 0001 |
ICDE | 7 |
| 2015 | Program Transformations for Asynchronous and Batched Query SubmissionabstractThe performance of database/web-service backed applications can be significantly improved by asynchronous submission of queries/requests well ahead of the point where the results are needed, so that results are likely to have been fetched already when they are actually needed. However, manually writing applications to exploit asynchronous query submission is tedious and error-prone. In this paper, we address the issue of automatically transforming a program written assuming synchronous query submission, to one that exploits asynchronous query submission. Our program transformation method is based on data flow analysis and is framed as a set of transformation examples. Our examples can handle query executions within loops, unlike some of the earlier work in this area. We also present a novel approach that, at runtime, can combine multiple asynchronous requests into batches, thereby achieving the benefits of batching in addition to that of asynchronous submission. We have built a tool that implements our transformation techniques on Java programs that use JDBC calls; our tool can be extended to handle Web service calls. We have carried out a detailed experimental study on several real-life applications, which shows the effectiveness of the proposed rewrite techniques, both in terms of their applicability and the performance gains achieved. Karthik Ramachandra 0002, Mahendra Chavan, Ravindra Guravannavar, S. Sudarshan 0001 |
IEEE Trans. Knowl. Data Eng. | 4 |
| 2015 | Data generation for testing and grading SQL queries
Bikash Chandra, Bhupesh Chawda, Biplab Kar, K. V. Maheshwara Reddy, Shetal Shah, S. Sudarshan 0001 |
VLDB J. | 6 |
| 2014 | Decorrelation of user defined function invocations in queriesabstractQueries containing user-defined functions (UDFs) are widely used, since they allow queries to be written using a mix of imperative language constructs and SQL, thereby increasing the expressive power of SQL; further, they encourage modularity, and make queries easier to understand. However, not much attention has been paid to their optimization, except for simple UDFs without imperative constructs. Queries invoking UDFs with imperative constructs are executed using iterative invocation of the UDFs, leading to poor performance, especially if the UDF contains queries. Such poor execution has been a major deterrent to the wider usage of complex UDFs. In this paper we present a novel technique to decorrelate UDFs containing imperative constructs, allowing set-oriented execution of queries that invoke UDFs. Our technique allows imperative execution to be modeled using the Apply construct used earlier to model correlated subqueries, and enables transformation rules to be applied subsequently to decorrelate (or inline) UDF bodies. Subquery decorrelation was critical to the wide use of subqueries; our work brings the same benefits to queries that invoke complex UDFs. We have applied our techniques to UDFs running on two commercial database systems, and present results showing up to orders of magnitude improvement. Varun Simhadri, Karthik Ramachandra 0002, Arun Chaitanya, Ravindra Guravannavar, S. Sudarshan 0001 |
ICDE | 5 |
| 2014 | Optimizing Join Enumeration in Transformation-based Query OptimizersabstractQuery optimizers built on the Volcano/Cascades framework, which is based on transformation rules, are used in many commercial databases. Transformation rulesets proposed earlier for join order enumeration in such a framework either allow enumeration of joins with cross-products (which can significantly increase the cost of optimization), or generate a large number of duplicate derivations. In this paper we propose two new rulesets for generating cross-product free trees. One of the rulesets is a minor extension of a simple but inefficient ruleset, which we prove is complete (we also show that a naive extension of an efficient ruleset leads to incompleteness). We then propose an efficient new ruleset, which is based on techniques proposed recently for top-down join order enumeration, but unlike earlier work it is cleanly integrated into the Volcano/Cascades framework, and can be used in conjunction with other transformation rules. We show that our ruleset is complete (i.e., it generates the entire search space without cross products) while avoiding inefficiency due to duplicate derivations. We have implemented this ruleset in the PyroJ Optimizer (an implementation of the Volcano optimizer framework) and show that it significantly outperforms the alternatives, in some cases by up to two orders of magnitude, in terms of time taken. Anil Shanbhag, S. Sudarshan 0001 |
Proc. VLDB Endow. | 2 |
| 2014 | Front Matter
Divesh Srivastava, S. Sudarshan 0001 |
Proc. VLDB Endow. | 2 |
| 2013 | Keyword search on form results
Aditya Ramesh, S. Sudarshan 0001, Purva Joshi, Manisha Naik Gaonkar |
VLDB J. | 2 |
| 2012 | Holistic optimization by prefetching query resultsabstractIn this paper we address the problem of optimizing performance of database/web-service backed applications by means of automatically prefetching query results. Prefetching has been performed in earlier work based on predicting query access patterns; however such prediction is often of limited value, and can perform unnecessary prefetches. There has been some earlier work on program analysis and rewriting to automatically insert prefetch requests; however, such work has been restricted to rewriting of single procedures. In many cases, the query is in a procedure which does not offer much scope for prefetching within the procedure; in contrast, our approach can perform prefetching in a calling procedure, even when the actual query is in a called procedure, thereby greatly improving the benefits due to prefetching. Our approach does not perform any intrusive changes to the source code, and places prefetch instructions at the earliest possible points while avoiding wasteful prefetches. We have incorporated our techniques into a tool for holistic optimization called DBridge, to prefetch query results in Java programs that use JDBC. Our tool can be easily extended to handle Hibernate API calls as well as Web service requests. Our experiments on several real world applications demonstrate the applicability and significant performance gains due to our techniques. Karthik Ramachandra 0002, S. Sudarshan 0001 |
SIGMOD Conference | 2 |
| 2012 | Which sort orders are interesting?
Ravindra Guravannavar, S. Sudarshan 0001, Ajit A. Diwan, Sobhan Babu Chintapalli |
VLDB J. | 2 |
| 2011 | Program transformations for asynchronous query submissionabstractSynchronous execution of queries or Web service requests forces the calling application to block until the query/request is satisfied. The performance of applications can be significantly improved by asynchronous submission of queries, which allows the application to perform other processing instead of blocking while the query is executed, and to concurrently issue multiple queries. Concurrent submission of multiple queries can allow the query execution engine to better utilize multiple processors and disks, and to reorder disk IO requests to minimize seeks. Concurrent submission also reduces the impact of network round-trip latency and delays at the database, when processing multiple queries. However, manually writing applications to exploit asynchronous query submission is tedious. In this paper we address the issue of automatically transforming a program written assuming synchronous query submission, to one that exploits asynchronous query submission. Our program transformation method is based on dataflow analysis and is framed as a set of transformation rules. Our rules can handle query executions within loops, unlike some of the earlier work in this area. We have built a tool that implements our transformation techniques on Java code that uses JDBC calls; our tool can be extended to handle Web service calls. We have carried out a detailed experimental study on several real-life applications rewritten using our transformation techniques. The experimental study shows the effectiveness of the proposed rewrite techniques, both in terms of their applicability and performance gains achieved. Mahendra Chavan, Ravindra Guravannavar, Karthik Ramachandra 0002, S. Sudarshan 0001 |
ICDE | 4 |
| 2011 | DBridge: A program rewrite tool for set-oriented query executionabstractWe present DBridge, a novel static analysis and program transformation tool to optimize database access. Traditionally, rewrite of queries and programs are done independently, by the database query optimzier and the language compiler respectively, leaving out many optimization opportunities. Our tool aims to bridge this gap by performing holistic transformations, which include both program and query rewrite. Mahendra Chavan, Ravindra Guravannavar, Karthik Ramachandra 0002, S. Sudarshan 0001 |
ICDE | 4 |
| 2011 | Generating test data for killing SQL mutants: A constraint-based approachabstractComplex SQL queries are widely used today, but it is rather difficult to check if a complex query has been written correctly. Formal verification based on comparing a specification with an implementation is not applicable, since SQL queries are essentially a specification without any implementation. Queries are usually checked by running them on sample datasets and checking that the correct result is returned; there is no guarantee that all possible errors are detected. In this paper, we address the problem of test data generation for checking correctness of SQL queries, based on the query mutation approach for modeling errors. Our presentation focuses in particular on a class of join/outer-join mutations, comparison operator mutations, and aggregation operation mutations, which are a common cause of error. To minimize human effort in testing, our techniques generate a test suite containing small and intuitive test datasets. The number of datasets generated, is linear in the size of the query, although the number of mutations in the class we consider is exponential. Under certain assumptions on constraints and query constructs, the test suite we generate is complete for a subclass of mutations that we define, i.e., it kills all non-equivalent mutations in this subclass. Shetal Shah, S. Sudarshan 0001, Suhas Kajbaje, Sandeep Patidar, Bhanu Pratap Gupta, Devang Vira |
ICDE | 2 |
| 2011 | Keyword Search on Form Results
Aditya Ramesh, S. Sudarshan 0001, Purva Joshi |
Proc. VLDB Endow. | 2 |
| 2010 | X-data: Generating test data for killing SQL mutantsabstractChecking if an SQL query has been written correctly is not an easy task. Formal verification is not applicable, since it is based on comparing a specification with an implementation, whereas SQL queries are essentially a specification without any implementation. Thus, the standard approach for testing queries is to manually check query results on test datasets. Intuitively, a mutant is a query variant that could have been the correct query if the query was in error; a mutant is killed by a dataset if the original query and the mutant return different results on the dataset. In this paper, we address the problem of generation of test data for an SQL query, to kill mutants. Our work focuses in particular on a class of join/outer-join mutants, which are a common cause of error. To minimize human effort in testing, our techniques generate a test suite containing small and intuitive test datasets, combining them into a single dataset where possible. In the absence of foreign-key constraints, and under certain assumptions, the test suite is complete, i.e. it kills all nonequivalent mutations, in the class of join-type mutations that we consider. We also consider some common types of where-clause predicate mutants. Our techniques have been implemented in a prototype data generation tool. Bhanu Pratap Gupta, Devang Vira, S. Sudarshan 0001 |
ICDE | 3 |
| 2008 | Keyword search on external memory data graphsabstractKeyword search on graph structured data has attracted a lot of attention in recent years. Graphs are a natural "lowest common denominator" representation which can combine relational, XML and HTML data. Responses to keyword queries are usually modeled as trees that connect nodes matching the keywords. In this paper we address the problem of keyword search on graphs that may be significantly larger than memory. We propose a graph representation technique that combines a condensed version of the graph (the "supernode graph") which is always memory resident, along with whatever parts of the detailed graph are in a cache, to form a multi-granular graph representation. We propose two alternative approaches which extend existing search algorithms to exploit multigranular graphs; both approaches attempt to minimize IO by directing search towards areas of the graph that are likely to give good results. We compare our algorithms with a virtual memory approach on several real data sets. Our experimental results show significant benefits in terms of reduction in IO due to our algorithms. Bhavana Dalvi, S. Sudarshan 0001 |
Proc. VLDB Endow. | 3 |
| 2008 | Rewriting procedures for batched bindingsabstractQueries, or calls to stored procedures/user-defined functions are often invoked multiple times, either from within a loop in an application program, or from the where/select clause of an outer query. When the invoked query/procedure/function involves database access, a naive implementation can result in very poor performance, due to random I/O. Query decorrelation addresses this problem in the special case of nested sub-queries, but is not applicable otherwise. This problem is traditionally addressed by manually rewriting the application to make it set-oriented, by creating a batch of parameters, and by rewriting the query/procedure to work on the batch instead of one parameter at a time. Such manual rewriting is time-consuming and error prone. In this paper, we propose techniques that can be used to do the following, (a) Automatically rewrite programs to replace multiple calls to a query by a batched call to a correspondingly rewritten query, (b) Rewrite a stored procedure/function to accept a batch of bindings, instead of a single binding. Thereby, for example, a query which would have been invoked many times from different invocations of a stored procedure would be automatically replaced by one (or a few) invocations of a batched version of the query. Our techniques can be applied to code written in any language, such as procedural versions of SQL, or Java. We have implemented the proposed rewriting techniques for a subset of Java, where database operations are performed using an API over JDBC. We demonstrate the benefits due to our rewrites with three cases from real-world applications, which faced significant performance problems due to repeated invocations of queries/procedures. Ravindra Guravannavar, S. Sudarshan 0001 |
Proc. VLDB Endow. | 2 |
| 2007 | Fine Grained Authorization Through Predicated GrantsabstractAuthorization in SQL is currently at the level of tables or columns. Many applications need a finer level of control. We propose a model for fine-grained authorization based on adding predicates to authorization grants. Our model supports predicated authorization to specific columns, cell-level authorization with nullification, authorization for function/procedure execution, and grants with grant option. Our model also incorporates other novel features, such as query defined user groups, and authorization groups, which are designed to simplify administration of authorizations. Our model is designed to be a strict generalization of the current SQL authorization mechanism. Surajit Chaudhuri, Tanmoy Dutta, S. Sudarshan 0001 |
ICDE | 3 |
| 2007 | Reducing Order Enforcement Cost in Complex Query PlansabstractAlgorithms that exploit sort orders are widely used to implement joins, grouping, duplicate elimination and other set operations. Query optimizers traditionally deal with sort orders by using the notion of interesting orders. The number of interesting orders is unfortunately factorial in the number of participating attributes. Optimizer implementations use heuristics to prune the number of interesting orders, but the quality of the heuristics is unclear. Increasingly complex decision support queries and increasing use of covering indices, which provide multiple alternative sort orders for relations, motivate us to better address the problem of optimization with interesting orders. We show that even a simplified version of the problem is NP-hard and give principled heuristics for choosing interesting orders. We have implemented the proposed techniques in a Volcano-style optimizer, and our performance study shows significant improvements in estimated cost. We also executed our plans on a widely used commercial database system, and on PostgreSQL, and found that actual execution times for our plans were significantly better than for plans generated by those systems in several cases. Ravindra Guravannavar, S. Sudarshan 0001 |
ICDE | 2 |
| 2007 | STAR: A System for Tuple and Attribute Ranking of Query AnswersabstractIn recent years there has been a great deal of interest in developing effective techniques for ad-hoc search and retrieval in structured repositories such as relational databases - e.g., searching online databases of homes, used cars, and electronic goods. In many of these applications, the user often experiences "information overload'', which occurs when the system responds to an under-specified user query by returning an overwhelming number of tuples, each displayed with a huge number of features (or attributes). We have developed a search and retrieval system that tackles this information overload problem from two angles. First, we show how to automatically rank and display the top-n most relevant tuples. Second, our system offers techniques for ordering the attributes of the returned tuples in decreasing order of "usefulness" and selects only a few of the most useful attributes to display. Nishant Kapoor, Gautam Das 0001, Vagelis Hristidis, S. Sudarshan 0001, Gerhard Weikum |
ICDE | 4 |
| 2007 | Automating the Detection of Snapshot Isolation Anomalies
Sudhir Jorwekar, Alan D. Fekete, Krithi Ramamritham, S. Sudarshan 0001 |
VLDB | 4 |
| 2006 | Ordering the attributes of query resultsabstractThere has been a great deal of interest in the past few years on ranking of results of queries on structured databases, including work on probabilistic information retrieval, rank aggregation, and algorithms for merging of ordered lists. In many applications, for example sales of homes, used cars or electronic goods, data items have a very large number of attributes. When displaying a (ranked) list of items to users, only a few attributes can be shown. Traditionally, these are selected manually. We argue that automatic selection of attributes is required to deal with different requirements of different users. We formulate the problem as an optimization problem of choosing the most "useful" set of attributes, that is, the attributes that are most influential in the ranking of the items. We discuss different variants of our notion of attribute usefulness, and propose a hybrid Split-Pane approach that returns a composite of the top attributes of each variant. We conduct both a performance and a user study illustrating the benefits of our algorithms in terms of efficiency and quality of explanation. Gautam Das 0001, Vagelis Hristidis, Nishant Kapoor, S. Sudarshan 0001 |
SIGMOD Conference | 4 |
| 2006 | Redundancy and information leakage in fine-grained access controlabstractThe current SQL standard for access control is coarse grained, in that it grants access to all rows of a table or none. Fine-grained access control, which allows control of access at the granularity of individual rows, and to specific columns within those rows, is required in practically all database applications. There are several models for fine grained access control, but the majority of them follow a view replacement strategy. There are two significant problems with most implementations of the view replacement model, namely (a) the unnecessary overhead of the access control predicates when they are redundant and (b) the potential of information leakage through channels such as user-defined functions, and operations that cause exceptions and error messages. We first propose techniques for redundancy removal. We then define when a query plan is safe with respect to UDFs and other unsafe functions, and propose techniques to generate safe query plans. We have prototyped redundancy removal and safe UDF pushdown on the Microsoft SQL Server query optimizer, and present a preliminary performance study. Govind Kabra, Ravishankar Ramamurthy, S. Sudarshan 0001 |
SIGMOD Conference | 3 |
| 2005 | Optimizing Nested Queries with Parameter Sort Orders
Ravindra Guravannavar, Ramanujam Halasipuram, S. Sudarshan 0001 |
VLDB | 3 |
| 2005 | Bidirectional Expansion For Keyword Search on Graph Databases
Varun Kacholia, Shashank Pandit, Soumen Chakrabarti, S. Sudarshan 0001, Rushi Desai, Hrishikesh Karambelkar |
VLDB | 4 |
| 2004 | Extending Query Rewriting Techniques for Fine-Grained Access ControlabstractCurrent day database applications, with large numbers of users, require fine-grained access control mechanisms, at the level of individual tuples, not just entire relations/views, to control which parts of the data can be accessed by each user. Fine-grained access control is often enforced in the application code, which has numerous drawbacks; these can be avoided by specifying/enforcing access control at the database level. We present a novel fine-grained access control model based on authorization views that allows "authorization-transparent" querying; that is, user queries can be phrased in terms of the database relations, and are valid if they can be answered using only the information contained in these authorization views. We extend earlier work on authorization-transparent querying by introducing a new notion of validity, conditional validity. We give a powerful set of inference rules to check for query validity. We demonstrate the practicality of our techniques by describing how an existing query optimizer can be extended to perform access control checks by incorporating these inference rules. Shariq Rizvi, Alberto O. Mendelzon, S. Sudarshan 0001, Prasan Roy |
SIGMOD Conference | 3 |
| 2003 | User Interaction in the BANKS SystemabstractThe BANKS system supports keyword search on databases storing structured/semi-structured data. Answers to keyword queries are ranked, and as in IR systems, the top answers may not be exactly what a user is looking for. Further interaction with the system is required to narrow in on desired answers. We describe some of the new features that we have added to the BANKS system to improve user interaction. These include an extended query model, richer support for user feedback and better display of answers. 1. B. Aditya, Soumen Chakrabarti, Rushi Desai, Arvind Hulgeri, Hrishikesh Karambelkar, Rupesh Nasre, Parag, S. Sudarshan 0001 |
ICDE | 8 |
| 2003 | AniPQO: Almost Non-intrusive Parametric Query Optimization for Nonlinear Cost Functions
Arvind Hulgeri, S. Sudarshan 0001 |
VLDB | 2 |
| 2003 | Detection and Recovery Techniques for Database CorruptionabstractIncreasingly, for extensibility and performance, special purpose application code is being integrated with database system code. Such application code has direct access to database system buffers, and as a result, the danger of data being corrupted due to inadvertent application writes is increased. Previously proposed hardware techniques to protect from corruption require system calls, and their performance depends on details of the hardware architecture. We investigate an alternative approach which uses codewords associated with regions of data to detect corruption and to prevent corrupted data from being used by subsequent transactions. We develop several such techniques which vary in the level of protection, space overhead, performance, and impact on concurrency. These techniques are implemented in the Dali main-memory storage manager, and the performance impact of each on normal processing is evaluated. Novel techniques are developed to recover when a transaction has read corrupted data caused by a bad write and gone on to write other data in the database. These techniques use limited and relatively low-cost logging of transaction reads to trace the corruption and may also prove useful when resolving problems caused by incorrect data entry and other logical errors. Philip Bohannon, Rajeev Rastogi, S. Seshadri, Avi Silberschatz, S. Sudarshan 0001 |
IEEE Trans. Knowl. Data Eng. | 5 |
| 2002 | Keyword Searching and Browsing in Databases using BANKSabstractWith the growth of the Web, there has been a rapid increase in the number of users who need to access online databases without having a detailed knowledge of the schema or of query languages; even relatively simple query languages designed for non-experts are too complicated for them. We describe BANKS, a system which enables keyword-based search on relational databases, together with data and schema browsing. BANKS enables users to extract information in a simple manner without any knowledge of the schema or any need for writing complex queries. A user can get information by typing a few keywords, following hyperlinks, and interacting with controls on the displayed results. BANKS models tuples as nodes in a graph, connected by links induced by foreign key and other relationships. Answers to a query are modeled as rooted trees connecting tuples that match individual keywords in the query. Answers are ranked using a notion of proximity coupled with a notion of prestige of nodes based on inlinks, similar to techniques developed for Web search. We present an efficient heuristic algorithm for finding and ranking query results. Gaurav Bhalotia, Arvind Hulgeri, Charuta Nakhe, Soumen Chakrabarti, S. Sudarshan 0001 |
ICDE | 5 |
| 2002 | BANKS: Browsing and Keyword Searching in Relational Databases
B. Aditya, Gaurav Bhalotia, Soumen Chakrabarti, Arvind Hulgeri, Charuta Nakhe, Parag, S. Sudarshan 0001 |
VLDB | 7 |
| 2002 | Parametric Query Optimization for Linear and Piecewise Linear Cost Functions
Arvind Hulgeri, S. Sudarshan 0001 |
VLDB | 2 |
| 2001 | Query Scheduling in Multi Query OptimizationabstractComplex queries are becoming commonplace, with the growing use of decision support systems. Decision support queries often have a lot of common sub-expressions within each query, and queries are often run as a batch. Multi query optimization aims at exploiting common sub-expressions, to reduce the evaluation cost of queries, by computing them once and then caching them for future use, both within individual queries and across queries in a batch. In case cache space is limited, the total size of sub-expressions that are worth caching may exceed available cache space. Prior work in multi query optimization involves choosing a set of common sub-expressions that fit in available cache space, and once computed, retaining their results across the execution of all queries in a batch. Such optimization algorithms do not consider the possibility of dynamically changing the cache contents. This may lead to sub-expressions occupying cache space even if they are not used by subsequent queries. The available cache space can be best utilized by evaluating the queries in an appropriate order and changing the cache contents as queries are executed. We present several algorithms that consider these factors, in order to reduce the cost of query evaluation. S. Sudarshan 0001, S. Viswanathan 0004 |
IDEAS | 2 |
| 2001 | Pipelining in Multi-Query OptimizationabstractDatabase systems frequently have to execute a set of related queries, which share several common subexpressions. Multi-query optimization exploits this, by finding evaluation plans that share common results. Current approaches to multi-query optimization assume that common subexpressions are materialized. Significant performance benefits can be had if common subexpressions are pipelined to their uses, without being materialized. However, plans with pipelining may not always be realizable with limited buffer space, as we show. We present a general model for schedules with pipelining, and present a necessary and sufficient condition for determining validity of a schedule under our model. We show that finding a valid schedule with minimum cost is NP-hard. We present a greedy heuristic for finding good schedules. Finally, we present a performance study that shows the benefit of our algorithms on batches of queries from the TPCD benchmark. Nilesh N. Dalvi, Sumit K. Sanghai, Prasan Roy, S. Sudarshan 0001 |
PODS | 4 |
| 2001 | Materialized View Selection and Maintenance Using Multi-Query OptimizationabstractMaterialized views have been found to be very effective at speeding up queries, and are increasingly being supported by commercial databases and data warehouse systems. However, whereas the amount of data entering a warehouse and the number of materialized views are rapidly increasing, the time window available for maintaining materialized views is shrinking. These trends necessitate efficient techniques for the maintenance of materialized views. Hoshi Mistry, Prasan Roy, S. Sudarshan 0001, Krithi Ramamritham |
SIGMOD Conference | 3 |
| 2000 | On-line Reorganization in Object DatabasesabstractReorganization of objects in an object databases is an important component of several operations like compaction, clustering, and schema evolution. The high availability requirements (24 × 7 operation) of certain application domains requires reorganization to be performed on-line with minimal interference to concurrently executing transactions. Mohana Krishna Lakhamraju, Rajeev Rastogi, S. Seshadri, S. Sudarshan 0001 |
SIGMOD Conference | 4 |
| 2000 | Efficient and Extensible Algorithms for Multi Query OptimizationabstractComplex queries are becoming commonplace, with the growing use of decision support systems. These complex queries often have a lot of common sub-expressions, either within a single query, or across multiple such queries run as a batch. Multiquery optimization aims at exploiting common sub-expressions to reduce evaluation cost. Multi-query optimization has hither-to been viewed as impractical, since earlier algorithms were exhaustive, and explore a doubly exponential search space. Prasan Roy, S. Seshadri, S. Sudarshan 0001, Siddhesh Bhobe |
SIGMOD Conference | 3 |
| 2000 | Turbo-charging Vertical Mining of Large DatabasesabstractIn a vertical representation of a market-basket database, each item is associated with a column of values representing the transactions in which it is present. The association-rule mining algorithms that have been recently proposed for this representation show performance improvements over their classical horizontal counterparts, but are either efficient only for certain database sizes, or assume particular characteristics of the database contents, or are applicable only to specific kinds of database schemas. We present here a new vertical mining algorithm called VIPER, which is general-purpose, making no special requirements of the underlying database. VIPER stores data in compressed bit-vectors called “snakes” and integrates a number of novel optimizations for efficient snake generation, intersection, counting and storage. We analyze the performance of VIPER for a range of synthetic database workloads. Our experimental results indicate significant performance gains, especially for large databases, over previously proposed vertical and horizontal mining algorithms. In fact, there are even workload regions where VIPER outperforms an optimal, but practically infeasible, horizontal mining algorithm. Pradeep Shenoy, Jayant R. Haritsa, S. Sudarshan 0001, Gaurav Bhalotia, Mayank Bawa, Devavrat Shah |
SIGMOD Conference | 3 |
| 1999 | Using Codewords to Protect Database Data from a Class of Software ErrorsabstractIncreasingly, for extensibility and performance, special-purpose application code is being integrated with database system code. Such application code has direct access to database system buffers and, as a result, the danger of data being corrupted due to inadvertent application writes is increased. Previously proposed hardware techniques to protect data from corruption required system calls, and their performance depended on the details of the hardware architecture. We investigate an alternative approach which uses codewords associated with regions of data to detect corruption and to prevent corrupted data from being used by subsequent transactions. We develop several such techniques which vary in the level of protection, space overhead, performance and impact on concurrency. These techniques are implemented in the Dali/spl acute/ main-memory storage manager, and the performance impact of each on normal processing is evaluated. Novel techniques are developed to recover when a transaction has read corrupted data caused by a bad write, and then gone on to write other data in the database. These techniques use limited and relatively low-cost logging of transaction reads to trace the corruption, and may also prove useful when resolving problems caused by incorrect data entry and other logical errors. Philip Bohannon, Rajeev Rastogi, S. Seshadri, Avi Silberschatz, S. Sudarshan 0001 |
ICDE | 5 |
| 1999 | DataBlitz Storage Manager: Main Memory Database Performance for Critical ApplicationsabstractNo abstract available. Jerry Baulier, Philip Bohannon, S. Gogate, C. Gupta, Sibsankar Haldar, A. Khivesera, Henry F. Korth, Peter McIlroy, P. P. S. Narayan, M. Nemeth, Rajeev Rastogi, S. Seshadri, Avi Silberschatz, S. Sudarshan 0001, M. Wilder, C. Wei |
SIGMOD Conference | 16 |
| 1998 | DataBlitz: A High Performance Main-Memory Storage Manager
Jerry Baulier, Philip Bohannon, S. Gogate, C. Gupta, A. Khivesera, Henry F. Korth, Peter McIlroy, P. P. S. Narayan, M. Nemeth, Rajeev Rastogi, Avi Silberschatz, S. Sudarshan 0001 |
VLDB | 14 |
| 1998 | Distributed Multi-Level Recovery in Main-Memory Databases
Rajeev Rastogi, Philip Bohannon, James Parker, Avi Silberschatz, S. Seshadri, S. Sudarshan 0001 |
Distributed Parallel Databases | 6 |
| 1998 | Garbage Collection in Object-Oriented Databases Using Transactional Cyclic Reference Counting
Prasan Roy, S. Seshadri, Avi Silberschatz, S. Sudarshan 0001, Srinivas Ashwin |
VLDB J. | 4 |
| 1997 | Garbage Collection in Object Oriented Databases Using Transactional Cyclic Reference Counting
Srinivas Ashwin, Prasan Roy, S. Seshadri, Avi Silberschatz, S. Sudarshan 0001 |
VLDB | 5 |
| 1997 | Logical and Physical Versioning in Main Memory Databases
Rajeev Rastogi, S. Seshadri, Philip Bohannon, Dennis W. Leinbaugh, Avi Silberschatz, S. Sudarshan 0001 |
VLDB | 6 |
| 1997 | Incremental Organization for Data Recording and Warehousing
H. V. Jagadish, P. P. S. Narayan, S. Seshadri, S. Sudarshan 0001, Rama Kanneganti |
VLDB | 4 |
| 1996 | Materialized View Maintenance and Integrity Constraint Checking: Trading Space for TimeabstractWe investigate the problem of incremental maintenance of an SQL view in the face of database updates, and show that it is possible to reduce the total time cost of view maintenance by materializing (and maintaining) additional views. We formulate the problem of determining the optimal set of additional views to materialize as an optimization problem over the space of possible view sets (which includes the empty set). The optimization problem is harder than query optimization since it has to deal with multiple view sets, updates of multiple relations, and multiple ways of maintaining each view set for each updated relation.We develop a memoing solution for the problem; the solution can be implemented using the expression DAG representation used in rule-based optimizers such as Volcano. We demonstrate that global optimization cannot, in general, be achieved by locally optimizing each materialized subview, because common subexpressions between different materialized subviews can allow nonoptimal local plans to be combined into an optimal global plan. We identify conditions on materialized subviews in the expression DAG when local optimization is possible. Finally, we suggest heuristics that can be used to efficiently determine a useful set of additional views to materialize.Our results are particularly important for the efficient checking of assertions (complex integrity constraints) in the SQL-92 standard, since the incremental checking of such integrity constraints is known to be essentially equivalent to the view maintenance problem. Kenneth A. Ross, Divesh Srivastava, S. Sudarshan 0001 |
SIGMOD Conference | 3 |
| 1996 | Cost-Based Optimization for Magic: Algebra and ImplementationabstractMagic sets rewriting is a well-known optimization heuristic for complex decision-support queries. There can be many variants of this rewriting even for a single query, which differ greatly in execution performance. We propose cost-based techniques for selecting an efficient variant from the many choices.Our first contribution is a practical scheme that models magic sets rewriting as a special join method that can be added to any cost-based query optimizer. We derive cost formulas that allow an optimizer to choose the best variant of the rewriting and to decide whether it is beneficial. The order of complexity of the optimization process is preserved by limiting the search space in a reasonable manner. We have implemented this technique in IBM's DB2 C/S V2 database system. Our performance measurements demonstrate that the cost-based magic optimization technique performs well, and that without it, several poor decisions could be made.Our second contribution is a formal algebraic model of magic sets rewriting, based on an extension of the multiset relational algebra, which cleanly defines the search space and can be used in a rule-based optimizer. We introduce the multiset θ-semijoin operator, and derive equivalence rules involving this operator. We demonstrate that magic sets rewriting for non-recursive SQL queries can be modeled as a sequential composition of these equivalence rules. Praveen Seshadri, Joseph M. Hellerstein, Hamid Pirahesh, T. Y. Cliff Leung, Raghu Ramakrishnan 0001, Divesh Srivastava, Peter J. Stuckey, S. Sudarshan 0001 |
SIGMOD Conference | 8 |
| 1996 | Clustering Techniques for Minimizing External Path Length
Ajit A. Diwan, Sanjeeva Rane, S. Seshadri, S. Sudarshan 0001 |
VLDB | 4 |
| 1995 | Space Optimization in Deductive DatabasesabstractIn the bottom-up evaluation of logic programs and recursively defined views on databases, all generated facts are usually assumed to be stored until the end of the evaluation. Discarding facts during the evaluation, however, can considerably improve the efficiency of the evaluation: the space needed to evaluate the program, the I/O costs, the costs of maintaining and accessing indices, and the cost of eliminating duplicates may all be reduced. Given an evaluation method that is sound, complete, and does not repeat derivation steps, we consider how facts can be discarded during the evaluation without compromising these properties. We show that every such space optimization method has certain components, the first to ensure soundness and completeness, the second to avoid redundancy (i.e., repetition of derivations), and the third to reduce “fact lifetimes” (i.e., the time period for which each fact must be retained during evaluation). We present new techniques based on providing bounds on the number of derivations and uses of facts, and using monotonicity constraints for each of the first two components, and provide novel synchronization techniques for the third component of a space optimization method. We describe how techniques for each of the three components can be combined in practice to obtain a space optimization method for a program. Our results are also of importance in applications such as sequence querying, and in active databases where triggers are defined over multiple “events.” Divesh Srivastava, S. Sudarshan 0001, Raghu Ramakrishnan 0001, Jeffrey F. Naughton |
ACM Trans. Database Syst. | 2 |
| 1994 | Compiling Query ConstraintsabstractWe present a general technique to push query constraints (such as length≤1000) into database views and (constraint) logic programs. We introduce the notion of parametrized constraints, which help us push constraints with argument values that are known only at run time, and develop techniques for pushing parametrized constraints into predicate/view definitions. Our technique provides a way of compiling programs with constraint queries into programs with parametrized constraints compiled in, and which can be executed on systems, such as database query evaluation systems, that do not handle full constraint solving. Thereby our technique can push constraint selections that earlier constraint query rewriting techniques could not. Our technique is independent of the actual constraint domain, and we illustrate its use with equality constraints on structures (which are useful in object-oriented query languages) and linear arithmetic constraints. Peter J. Stuckey, S. Sudarshan 0001 |
PODS | 2 |
| 1994 | Dalí: A High Performance Main Memory Storage Manager
H. V. Jagadish, Daniel F. Lieuwen, Rajeev Rastogi, Avi Silberschatz, S. Sudarshan 0001 |
VLDB | 5 |
| 1994 | Rule Ordering in Bottom-Up Fixpoint Evaluation of Logic ProgramsabstractLogic programs can be evaluated bottom-up by repeatedly applying all rules, in "iterations", until the fixpoint is reached. However, it is often desirable-and, in some cases, e.g. programs with stratified negation, it is even necessary to guarantee the semantics-to apply the rules in some order. We present two algorithms that apply rules in a specified order without repeating inferences. One of them (GSN) is capable of dealing with a wide range of rule orderings, but with a little more overhead than the well-known seminaive algorithm (which we call BSN). The other (PSN) handles a smaller class of rule orderings, but with no overheads beyond those in BSN. We also demonstrate that by choosing a good ordering, we can reduce the number of rule applications (and thus the number of joins). We present a theoretical analysis of rule orderings and identify orderings that minimize the number of rule applications (for all possible instances of the base relations) with respect to a class of orderings called fair orderings. We also show that though nonfair orderings may do a little better on some data sets, they can do much worse on others. The analysis is supplemented by performance results.> Raghu Ramakrishnan 0001, Divesh Srivastava, S. Sudarshan 0001 |
IEEE Trans. Knowl. Data Eng. | 3 |
| 1994 | The CORAL Deductive System
Raghu Ramakrishnan 0001, Divesh Srivastava, S. Sudarshan 0001, Praveen Seshadri |
VLDB J. | 3 |
| 1993 | The CORAL Deductive Database System
Raghu Ramakrishnan 0001, William G. Roth, Praveen Seshadri, Divesh Srivastava, S. Sudarshan 0001 |
SIGMOD Conference | 5 |
| 1993 | Implementation of the CORAL Deductive Database SystemabstractCORAL is a deductive database system that provides a modular, declarative query language/programming language. CORAL is a deductive system that supports a rich declarative language, provides a wide range of evaluation methods, and allows a combination of declarative and imperative programming. The data can be persistent on disk or can reside in main-memory. We describe the architecture and implementation of CORAL. There were two important goals in the design of the CORAL architecture: (1) to integrate the different optimization techniques in a reasonable fashion, and (2) to allow users to influence the evaluation strategies used so as to exploit the full power of the CORAL implementation. A CORAL declarative program can be organized as a collection of interacting modules and this module structure is the key to satisfying both these goals. The high level module interface allows modules with different evaluation techniques to interact in a transparent fashion. Further, users can optionally tailor the execution of a program by selecting from among a wide range of control choices at the level of each module. CORAL also has an interface with C++, and users can program in a combination of declarative CORAL, and C++ extended with CORAL primitives. A high degree of extensibility is provided by allowing C++ programmers to use the class structure of C++ to enhance the CORAL implementation. Raghu Ramakrishnan 0001, Divesh Srivastava, S. Sudarshan 0001, Praveen Seshadri |
SIGMOD Conference | 3 |
| 1993 | Recovering from Main-Memory Lapses
H. V. Jagadish, Avi Silberschatz, S. Sudarshan 0001 |
VLDB | 3 |
| 1993 | Coral++: Adding Object-Orientation to a Logic Database Language
Divesh Srivastava, Raghu Ramakrishnan 0001, Praveen Seshadri, S. Sudarshan 0001 |
VLDB | 4 |
| 1992 | The Valid Model Semantics for Logic ProgramsabstractWe present the valid model semantics, a new approach to providing semantics for logic programs with negation, set-terms and grouping. The valid model semantics is a three-valued semantics, and is defined in terms of a ‘normal form’ computation. The valid model semantics also gives meaning to the generation and use of non-ground facts (i.e., facts with variables) in a computation. Catriel Beeri, Raghu Ramakrishnan 0001, Divesh Srivastava, S. Sudarshan 0001 |
PODS | 4 |
| 1992 | CORAL - Control, Relations and Logic
Raghu Ramakrishnan 0001, Divesh Srivastava, S. Sudarshan 0001 |
VLDB | 3 |
| 1991 | Space Optimization in the Bottom-Up Evaluation of Logic ProgramsabstractIn the bottom-up evaluation of a logic program, all generated facts are usually assumed to be stored until the end of the evaluation. Considerable gains can be achieved by instead discarding facts that are no longer required: the space needed to evaluate the program is reduced, I/O costs may be reduced, and the costs of maintaining and accessing indices, eliminating duplicates etc. are reduced. Thus, discarding facts early could achieve time as well as space improvements. Given an evaluation method that is sound, complete and does not repeat derivation steps, we consider how facts can be discarded during the evaluation without compromising these properties. Our first contribution is to show that such a space optimization technique has three distinct components. Informally, we must make all derivations that we can with each fact, detect all duplicate derivations of facts and try to order the computation so as to minimize the "lifespan " of each fact. This separation enables us to use di... S. Sudarshan 0001, Divesh Srivastava, Raghu Ramakrishnan 0001, Jeffrey F. Naughton |
SIGMOD Conference | 1 |
| 1991 | Aggregation and Relevance in Deductive Databases
S. Sudarshan 0001, Raghu Ramakrishnan 0001 |
VLDB | 1 |
| 1990 | Rule Ordering in Bottom-Up Fixpoint Evaluation of Logic Programs
Raghu Ramakrishnan 0001, Divesh Srivastava, S. Sudarshan 0001 |
VLDB | 3 |