Stratis Viglas

dblp:v/SViglas · also Efstratios Viglas, Stratis D. Viglas · DBLP profile ↗
← Back
38ranked-venue papers
10as first author
0since 2021 · last 2020
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Databases, data management, data science and information retrieval · 33 · 10 first-authorSystems, architecture and hardware · 3Artificial intelligence and machine learning · 2Applied, interdisciplinary, general and emerging computing · 2Software engineering, systems software and programming languages · 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.

Computer architecture, parallel and distributed computing, and storage systems
16 papers
Memory systems · 49% Storage systems · 29% Performance modeling and evaluation · 14%
Databases, data mining, and information retrieval
21 papers
Query processing and optimization · 72% Database system architecture and tuning · 14% Data models and query languages · 7%
Software engineering, system software, and programming languages
5 papers
Compilers and program optimization · 36% Runtime systems and virtual machines · 35% Programming languages and type systems · 29%

Topics — the 30 heaviest of 68, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Memory systems
non-volatile memory
1.262018
DHTM: Durable Hardware Transactional Memory · ISCA 2018
ATOM: Atomic Durability in Non-volatile Memory through Hardware Logging · HPCA 2017
REWIND: Recovery Write-Ahead System for In-Memory Non-Volatile Data-Structures · Proc. VLDB Endow. 2015
Query processing and optimization
query compilation
0.842017
Processing Declarative Queries through Generating Imperative Code in Managed Runtimes · ICDE 2017
Code Generation for Efficient Query Processing in Managed Runtimes · Proc. VLDB Endow. 2014
Just-in-time compilation for SQL query processing · ICDE 2014
Memory systems
cache coherence
0.522018
DHTM: Durable Hardware Transactional Memory · ISCA 2018
Efficient persist barriers for multicores · MICRO 2015
Performance modeling and evaluation › benchmarking › database system benchmarking
query optimizer benchmarking
0.412020
DIAMetrics: Benchmarking Query Engines at Scale · Proc. VLDB Endow. 2020
Performance modeling and evaluation
workload characterization
0.412020
Comprehensive and Efficient Workload Compression · Proc. VLDB Endow. 2020
Memory systems › non-volatile memory
persistent memory
0.422018
DHTM: Durable Hardware Transactional Memory · ISCA 2018
Write-limited sorts and joins for persistent memory · Proc. VLDB Endow. 2014
Query processing and optimization › query compilation
just-in-time compilation
0.422014
Just-in-time compilation for SQL query processing · ICDE 2014
Just-in-time compilation for SQL query processing · Proc. VLDB Endow. 2013
Compilers and program optimization
code generation
0.332014
Just-in-time compilation for SQL query processing · ICDE 2014
Generating code for holistic query evaluation · ICDE 2010
Just-in-time compilation for SQL query processing · Proc. VLDB Endow. 2013
Runtime systems and virtual machines
managed runtime
0.322017
Processing Declarative Queries through Generating Imperative Code in Managed Runtimes · ICDE 2017
Code Generation for Efficient Query Processing in Managed Runtimes · Proc. VLDB Endow. 2014
Query processing and optimization › query compilation
code generation for query execution
0.322014
Code Generation for Efficient Query Processing in Managed Runtimes · Proc. VLDB Endow. 2014
Generating code for holistic query evaluation · ICDE 2010
Query processing and optimization
query execution
0.322014
A Comparative Study of Implementation Techniques for Query Processing in Multicore Systems · IEEE Trans. Knowl. Data Eng. 2014
Generating code for holistic query evaluation · ICDE 2010
Programming languages and type systems › domain-specific languages
language-integrated query
0.312017
Processing Declarative Queries through Generating Imperative Code in Managed Runtimes · ICDE 2017
Memory systems › non-volatile memory › persistent memory
atomic durability
0.312017
ATOM: Atomic Durability in Non-volatile Memory through Hardware Logging · HPCA 2017
Storage systems
logging
0.312017
ATOM: Atomic Durability in Non-volatile Memory through Hardware Logging · HPCA 2017
Storage systems
storage reliability
0.312017
ATOM: Atomic Durability in Non-volatile Memory through Hardware Logging · HPCA 2017
Distributed systems › fault tolerance
failure recovery
0.212015
REWIND: Recovery Write-Ahead System for In-Memory Non-Volatile Data-Structures · Proc. VLDB Endow. 2015
Memory systems
persist barriers
0.212015
Efficient persist barriers for multicores · MICRO 2015
Memory systems › non-volatile memory
persistent data structures
0.212015
REWIND: Recovery Write-Ahead System for In-Memory Non-Volatile Data-Structures · Proc. VLDB Endow. 2015
Memory systems › non-volatile memory
persistent memory consistency
0.212015
Efficient persist barriers for multicores · MICRO 2015
Storage systems › logging
write-ahead logging
0.212015
REWIND: Recovery Write-Ahead System for In-Memory Non-Volatile Data-Structures · Proc. VLDB Endow. 2015
Query processing and optimization › query execution
in-memory query processing
0.212014
Code Generation for Efficient Query Processing in Managed Runtimes · Proc. VLDB Endow. 2014
Data models and query languages › database programming language
language-integrated query
0.212014
Code Generation for Efficient Query Processing in Managed Runtimes · Proc. VLDB Endow. 2014
Query processing and optimization › result reuse
intermediate result reuse
0.212013
Recycling in pipelined query evaluation · ICDE 2013
Query processing and optimization
result reuse
0.212013
Recycling in pipelined query evaluation · ICDE 2013
Database system architecture and tuning › database performance management
performance monitoring
0.112020
DIAMetrics: Benchmarking Query Engines at Scale · Proc. VLDB Endow. 2020
Storage systems
flash and SSD
0.112011
System Co-Design and Data Management for Flash Devices · Proc. VLDB Endow. 2011
Storage systems › flash and SSD
flash memory
0.112011
Data management over flash memory · SIGMOD Conference 2011
Storage systems
crash consistency
0.112018
DHTM: Durable Hardware Transactional Memory · ISCA 2018
Distributed systems
fault tolerance
0.112018
DHTM: Durable Hardware Transactional Memory · ISCA 2018
Indexing and storage engines
XML storage
0.122005
Vectorizing and Querying Large XML Repositories · ICDE 2005
Storing and querying ordered XML using a relational database system · SIGMOD Conference 2002

Methods — techniques the papers use, named apart from their topics

workload summarization · 0.9sampling · 0.9regression identification · 0.9greedy algorithm · 0.9clustering · 0.9just-in-time adaptation · 0.6code generation · 0.6query compilation · 0.4language-integrated query · 0.4just-in-time compilation · 0.4redo logging · 0.3hardware transactional memory · 0.3undo logging · 0.3hardware logging · 0.3lightweight logging · 0.2template-based code generation · 0.1dynamic compilation · 0.1hierarchical structure exploitation · 0.1
YearPublicationVenuePosition
2020 Comprehensive and Efficient Workload Compression
abstract
This work studies the problem of constructing a representative workload from a given input analytical query workload where the former serves as an approximation with guarantees of the latter. We discuss our work in the context of workload analysis and monitoring. As an example, evolving system usage patterns in a database system can cause load imbalance and performance regressions which can be controlled by monitoring system usage patterns, i.e., a representative workload, over time. To construct such a workload in a principled manner, we formalize the notions of workload representativity and coverage. These metrics capture the intuition that the distribution of features in a compressed workload should match a target distribution, increasing representativity, and include common queries as well as outliers, increasing coverage. We show that solving this problem optimally is computationally hard and present a novel greedy algorithm that provides approximation guarantees. We compare our techniques to established algorithms in this problem space such as sampling and clustering, and demonstrate advantages and key trade-offs.
Shaleen Deep, Anja Gruenheid, Paraschos Koutris, Jeffrey F. Naughton, Stratis Viglas
Proc. VLDB Endow.5
2020 DIAMetrics: Benchmarking Query Engines at Scale
abstract
This paper introduces DIAMetrics: a novel framework for end-to-end benchmarking and performance monitoring of query engines. DIAMetrics consists of a number of components supporting tasks such as automated workload summarization, data anonymization, benchmark execution, monitoring, regression identification, and alerting. The architecture of DIAMetrics is highly modular and supports multiple systems by abstracting their implementation details and relying on common canonical formats and pluggable software drivers. The end result is a powerful unified framework that is capable of supporting every aspect of benchmarking production systems and workloads. DIAMetrics has been developed in Google and is being used to benchmark a number of internal query engines. In this paper, we give an overview of DIAMetrics and discuss its design and implementation. Furthermore, we provide details about its deployment and example use cases. Given the variety of supported systems and use cases within Google, we argue that its core concepts can be used more widely to enable comparative end-to-end benchmarking in other industrial environments.
Anja Gruenheid, Shaleen Deep, Kruthi Nagaraj, Hiro Naito, Jeffrey F. Naughton, Stratis Viglas
Proc. VLDB Endow.6
2018 DHTM: Durable Hardware Transactional Memory
abstract
The emergence of byte-addressable persistent (non-volatile) memory provides a low latency and high bandwidth path to durability. However, programmers need guarantees on what will remain in persistent memory in the event of a system crash. A widely accepted model for crash consistent programming is ACID transactions, in which updates within a transaction are made visible as well as durable in an atomic manner. However, existing software based proposals suffer from significant performance overheads. In this paper, we support both atomic visibility and durability in hardware. We propose DHTM (durable hardware transactional memory) that leverages a commercial HTM to provide atomic visibility and extends it with hardware support for redo logging to provide atomic durability. Furthermore, we leverage the same logging infrastructure to extend the supported transaction size (from being L1-limited to LLC-limited) with only minor changes to the coherence protocol. Our evaluation shows that DHTM outperforms the state-of-the-art by an average of 21% to 25% on TATP, TPC-C and a set of microbenchmarks. We believe DHTM is the first complete and practical hardware based solution for ACID transactions that has the potential to significantly ease the burden of crash consistent programming.
Arpit Joshi, Vijay Nagarajan, Marcelo Cintra, Stratis Viglas
ISCA4
2017 Self-managed collections: Off-heap memory management for scalable query-dominated collections
abstract
Explosive growth in DRAM capacities and the emergence of language-integrated query enable a new class of managed applications that perform complex query processing on huge volumes of data stored as collections of objects in the memory space of the application. While more flexible in terms of schema design and application development, this approach typically experiences sub-par query execution performance when compared to specialized systems like DBMS. To address this issue, we propose self-managed collections, which utilize off-heap memory management and dynamic query compilation to improve the performance of querying managed data through language-integrated query. We evaluate self-managed collections using both microbenchmarks and enumeration-heavy queries from the TPC-H business intelligence benchmark. Our results show that self-managed collections outperform ordinary managed collections in both query processing and memory management by up to an order of magnitude and even outperform an optimized in memory columnar database system for the vast majority of queries.
Fabian Nagel, Gavin M. Bierman, Aleksandar Dragojevic, Stratis Viglas
EDBT4
2017 ATOM: Atomic Durability in Non-volatile Memory through Hardware Logging
abstract
Non-volatile memory (NVM) is emerging as a fast byte-addressable alternative for storing persistent data. Ensuring atomic durability in NVM requires logging. Existing techniques have proposed software logging either by using streaming stores for an undo log; or, by relying on the combination of clflush and mfence for a redo log. These techniques are suboptimal because they waste precious execution cycles to implement logging, which is fundamentally a data movement operation. We propose ATOM, a hardware log manager based on undo logging that performs the logging operation out of the critical path. We present the design principles behind ATOM and two techniques to optimize its performance. Our results show that ATOM achieves an improvement of 27% to 33% for micro-benchmarks and 60% for TPC-C over a baseline undo log design.
Arpit Joshi, Vijay Nagarajan, Stratis Viglas, Marcelo Cintra
HPCA3
2017 Processing Declarative Queries through Generating Imperative Code in Managed Runtimes
abstract
We present the results of our work on integrating database and programming language runtimes through code generation and extensive just-in-time adaptation. Our techniques deliver significant performance improvements over non-integrated solutions. Our work makes important first steps towards a future where data processing applications will commonly run on machines that can store their datasets entirely in persistent memory, and will be written in a single programming language employing higher-level APIs and language-integrated query.
Stratis Viglas
ICDE1
2016 A query language for multi-version data web archives
abstract
Abstract The Data Web refers to the vast and rapidly increasing quantity of scientific, corporate, government and crowd‐sourced data published in the form of Linked Open Data, which encourages the uniform representation of heterogeneous data items on the web and the creation of links between them. The growing availability of open linked datasets has brought forth significant new challenges regarding their proper preservation and the management of evolving information within them. In this paper, we focus on the evolution and preservation challenges related to publishing and preserving evolving linked data across time. We discuss the main problems regarding their proper modelling and querying and provide a conceptual model and a query language for modelling and retrieving evolving data along with changes affecting them. We present in details the syntax of the query language and demonstrate its functionality over a real‐world use case of evolving linked dataset from the biological domain.
Marios Meimaris, George Papastefanatos, Stratis Viglas, Yannis Stavrakas, Christos Pateritsas, Ioannis Anagnostopoulos
Expert Syst. J. Knowl. Eng.3
2015 Efficient persist barriers for multicores
abstract
Emerging non-volatile memory technologies enable fast, fine-grained persistence compared to slow block-based devices. In order to ensure consistency of persistent state, dirty cache lines need to be periodically flushed from caches and made persistent in an order specified by the persistency model. A persist barrier is one mechanism for enforcing this ordering.
Arpit Joshi, Vijay Nagarajan, Marcelo Cintra, Stratis Viglas
MICRO4
2015 Data Management in Non-Volatile Memory
abstract
Non-volatile memory promises to bridge the gap between main memory and secondary storage by offering a universal storage device. Its performance profile is unique in that its latency is close to main memory and it is byte addressable, but it exhibits asymmetric I/O in that writes are more expensive than reads. These properties imply that it cannot act as a drop-in replacement for either main-memory or disk. Therefore, we must revisit the salient aspects of data management in light of this new technology. In what follows we present the current work in the area with a view towards identifying the open problems and exposing the research opportunities. In particular, we address issues like: (a) incorporating non-volatile memory into the data management stack, (b) supporting transactions and ensuring persistence and recovery, and (c) query processing.
Stratis Viglas
SIGMOD Conference1
2015 REWIND: Recovery Write-Ahead System for In-Memory Non-Volatile Data-Structures
abstract
Recent non-volatile memory (NVM) technologies, such as PCM, STT-MRAM and ReRAM, can act as both main memory and storage. This has led to research into NVM programming models, where persistent data structures remain in memory and are accessed directly through CPU loads and stores. Existing mechanisms for transactional updates are not appropriate in such a setting as they are optimized for block-based storage. We present REWIND, a user-mode library approach to managing transactional updates directly from user code written in an imperative general-purpose language. REWIND relies on a custom persistent in-memory data structure for the log that supports recoverable operations on itself. The scheme also employs a combination of non-temporal updates, persistent memory fences, and lightweight logging. Experimental results on synthetic transactional workloads and TPC-C show the overhead of REWIND compared to its non-recoverable equivalent to be within a factor of only 1.5 and 1.39 respectively. Moreover, REWIND outperforms state-of-the-art approaches for data structure recoverability as well as general purpose and NVM-aware DBMS-based recovery schemes by up to two orders of magnitude.
Andreas Chatzistergiou, Marcelo Cintra, Stratis Viglas
Proc. VLDB Endow.3
2014 Fast Heuristics for Near-Optimal Task Allocation in Data Stream Processing over Clusters
abstract
We study provisioning and job reconfiguration techniques for adapting to execution environment changes when processing data streams on cluster-based deployments. By monitoring the performance of an executing job, we identify computation and communication bottlenecks. In such cases we reconfigure the job by reallocating its tasks to minimize the communication cost. Our work targets data-intensive applications where the inter-node transfer latency is significant. We aim to minimize the transfer latency while keeping the nodes below some computational load threshold. We propose a scalable centralized scheme that employs fast allocation heuristics. Our techniques are based on a general group-based job representation that is commonly found in many distributed data stream processing frameworks. Using this representation we devise linear-time task allocation algorithms that improve existing quadratic-time solutions in practical cases. We have implemented and evaluated our proposals using both synthetic and real-world scenarios. Our results show that our algorithms: (a) exhibit significant allocation throughput while producing near-optimal allocations, and (b) significantly improve existing task-level approaches.
Andreas Chatzistergiou, Stratis Viglas
CIKM2
2014 Just-in-time compilation for SQL query processing
abstract
Just-in-time compilation of SQL queries into native code has recently emerged as a viable technique for query processing and an alternative to the dominant interpretation-based approach. We present the salient results of research in this fresh area, addressing all aspects of the query processing stack: from traditional query compilation techniques, to compilation in managed environments, to state-of-the-art approaches on intermediate and native code emission. Throughout the discussion we refer and draw analogies to the general code generation techniques used in contemporary compiler technology. At the same time we describe the open research problems of the area.
Stratis Viglas
ICDE1
2014 Code Generation for Efficient Query Processing in Managed Runtimes
abstract
In this paper we examine opportunities arising from the convergence of two trends in data management: in-memory database systems (imdbs), which have received renewed attention following the availability of affordable, very large main memory systems; and language-integrated query, which transparently integrates database queries with programming languages (thus addressing the famous 'impedance mismatch' problem). Language-integrated query not only gives application developers a more convenient way to query external data sources like imdbs, but also to use the same querying language to query an application's in-memory collections. The latter offers further transparency to developers as the query language and all data is represented in the data model of the host programming language. However, compared to imdbs, this additional freedom comes at a higher cost for query evaluation. Our vision is to improve in-memory query processing of application objects by introducing database technologies to managed runtimes. We focus on querying and we leverage query compilation to improve query processing on application objects. We explore different query compilation strategies and study how they improve the performance of query processing over application data. We take C# as the host programming language as it supports language-integrated query through the linq framework. Our techniques deliver significant performance improvements over the default linq implementation. Our work makes important first steps towards a future where data processing applications will commonly run on machines that can store their entire datasets in-memory, and will be written in a single programming language employing language-integrated query and imdb-inspired runtimes to provide transparent and highly efficient querying.
Fabian Nagel, Gavin M. Bierman, Stratis Viglas
Proc. VLDB Endow.3
2014 Write-limited sorts and joins for persistent memory
abstract
To mitigate the impact of the widening gap between the memory needs of CPUs and what standard memory technology can deliver, system architects have introduced a new class of memory technology termed persistent memory. Persistent memory is byte-addressable, but exhibits asymmetric I/O: writes are typically one order of magnitude more expensive than reads. Byte addressability combined with I/O asymmetry render the performance profile of persistent memory unique. Thus, it becomes imperative to find new ways to seamlessly incorporate it into database systems. We do so in the context of query processing. We focus on the fundamental operations of sort and join processing. We introduce the notion of write-limited algorithms that effectively minimize the I/O cost. We give a high-level API that enables the system to dynamically optimize the workflow of the algorithms; or, alternatively, allows the developer to tune the write profile of the algorithms. We present four different techniques to incorporate persistent memory into the database processing stack in light of this API. We have implemented and extensively evaluated all our proposals. Our results show that the algorithms deliver on their promise of I/O-minimality and tunable performance. We showcase the merits and deficiencies of each implementation technique, thus taking a solid first step towards incorporating persistent memory into query processing.
Stratis Viglas
Proc. VLDB Endow.1
2014 A Comparative Study of Implementation Techniques for Query Processing in Multicore Systems
abstract
Multicore systems and multithreaded processing are now the de facto standards of enterprise and personal computing. If used in an uninformed way, however, multithreaded processing might actually degrade performance. We present the facets of the memory access bottleneck as they manifest in multithreaded processing and show their impact on query evaluation. We present a system design based on partition parallelism, memory pooling, and data structures conducive to multithreaded processing. Based on this design, we present alternative implementations of the most common query processing algorithms, which we experimentally evaluate using multiple scenarios and hardware platforms. Our results show that the design and algorithms are indeed scalable across platforms, but the choice of optimal algorithm largely depends on the problem parameters and underlying hardware. However, our proposals are a good first step toward generic multithreaded parallelism.
Stratis Viglas
IEEE Trans. Knowl. Data Eng.1
2013 Recycling in pipelined query evaluation
abstract
Database systems typically execute queries in isolation. Sharing recurring intermediate and final results between successive query invocations is ignored or only exploited by caching final query results. The DBA is kept in the loop to make explicit sharing decisions by identifying and/or defining materialized views. Thus decisions are made only after a long time and sharing opportunities may be missed. Recycling intermediate results has been proposed as a method to make database query engines profit from opportunities to reuse fine-grained partial query results, that is fully autonomous and is able to continuously adapt to changes in the workload. The technique was recently revisited in the context of MonetDB, a system that by default materializes all intermediate results. Materializing intermediate results can consume significant system resources, therefore most other database systems avoid this where possible, following a pipelined query architecture instead. The novelty of this paper is to show how recycling can successfully be applied in pipelined query executors, by tracking the benefit of materializing possible intermediate results and then choosing the ones making best use of a limited intermediate result cache. We present ways to maximize the potential of recycling by leveraging subsumption and proactive query rewriting. We have implemented our approach in the Vectorwise database engine and have experimentally evaluated its potential using both synthetic and real-world datasets. Our results show that intermediate result recycling significantly improves performance.
Fabian Nagel, Peter Boncz, Stratis Viglas
ICDE3
2013 Front Matter
Peer Kröger, Stratis Viglas
Proc. VLDB Endow.2
2013 Front Matter
Peer Kröger, Stratis Viglas
Proc. VLDB Endow.2
2013 Just-in-time compilation for SQL query processing
abstract
Just-in-time compilation of SQL queries into native code has recently emerged as a viable alternative to interpretation-based query processing. We present the salient results of research in this fresh area, addressing all aspects of the query processing stack. Throughout the discussion we draw analogies to the general code generation techniques used in contemporary compiler technology. At the same time we describe the open research problems of the area.
Stratis Viglas
Proc. VLDB Endow.1
2012 Adapting the B + -tree for Asymmetric I/O
Stratis Viglas
ADBIS1
2011 Designing a Flash-Aware Two-Level Cache
Ioannis Koltsidas, Stratis Viglas
ADBIS2
2011 Data management over flash memory
abstract
Flash SSDs are quickly becoming mainstream and emerge as alternatives to magnetic disks. It is therefore imperative to incorporate them seamlessly into the enterprise. We present the salient results of research in the area, touching all aspects of the data management stack: from the fundamentals of flash technology, through storage for database systems and the manipulation of SSD-resident data, to query processing.
Ioannis Koltsidas, Stratis Viglas
SIGMOD Conference2
2011 Spatial Data Management over Flash Memory
Ioannis Koltsidas, Stratis Viglas
SSTD2
2011 System Co-Design and Data Management for Flash Devices
Philippe Bonnet, Luc Bouganim, Ioannis Koltsidas, Stratis Viglas
Proc. VLDB Endow.4
2010 Generating code for holistic query evaluation
abstract
We present the application of customized code generation to database query evaluation. The idea is to use a collection of highly efficient code templates and dynamically instantiate them to create query- and hardware-specific source code. The source code is compiled and dynamically linked to the database server for processing. Code generation diminishes the bloat of higher-level programming abstractions necessary for implementing generic, interpreted, SQL query engines. At the same time, the generated code is customized for the hardware it will run on. We term this approach holistic query evaluation. We present the design and development of a prototype system called HIQUE, the Holistic Integrated Query Engine, which incorporates our proposals. We undertake a detailed experimental study of the system's performance. The results show that HIQUE satisfies its design objectives, while its efficiency surpasses that of both well-established and currently-emerging query processing techniques.
Konstantinos Krikellas, Stratis Viglas, Marcelo Cintra
ICDE2
2008 Updating Recursive XML Views of Relations
Byron Choi, Gao Cong, Wenfei Fan, Stratis Viglas
J. Comput. Sci. Technol.4
2008 Sorting hierarchical data in external memory for archiving
abstract
Sorting hierarchical data in external memory is necessary for a wide variety of applications including archiving scientific data and dealing with large XML datasets. The topic of sorting hierarchical data, however, has received little attention from the research community so far. In this paper we focus on sorting arbitrary hierarchical data that far exceed the size of physical memory. We propose HErMeS, an algorithm that generalizes the most widely-used techniques for sorting flat data in external memory. HErMeS efficiently exploits the hierarchical structure to minimize the number of disk accesses and optimize the use of available memory. We extract the theoretical bounds of the algorithm with respect to the structure of the hierarchical dataset. We then show how the algorithm can be used to support efficient archiving. We have conducted an experimental study using several workloads and comparing HErMeS to the state-of-the-art approaches. Our results show that our algorithm ( a ) meets its theoretical expectations, ( b ) allows for scalable database archiving, and ( c ) outperforms the competition by a significant factor. These results, we believe, prove our technique to be a viable and scalable solution to the problem of sorting hierarchical data in external memory.
Ioannis Koltsidas, Heiko Müller 0001, Stratis Viglas
Proc. VLDB Endow.3
2008 Flashing up the storage layer
abstract
In the near future, commodity hardware is expected to incorporate both flash and magnetic disks. In this paper we study how the storage layer of a database system can benefit from the presence of both kinds of disk. We propose using the flash and the magnetic disk at the same level of the memory hierarchy and placing a data page to only one of these disks according to the workload of the page. Pages with a read-intensive workload are placed on the flash disk, while pages with a write-intensive workload are placed on the magnetic disk. We present a family of on-line algorithms to decide the optimal placement of a page and study their theoretical properties. Our system is self-tuning, i.e. , our algorithms adapt page placement to changing workloads. We also present a buffer replacement policy that takes advantage of the asymmetric I/O properties of the two types of storage media to reduce the total I/O cost. Our experimental evaluation shows remarkable I/O performance improvement over both flash-only and magnetic-only systems. These results, we believe, exhibit both the potential and necessity of such algorithms in future database systems.
Ioannis Koltsidas, Stratis Viglas
Proc. VLDB Endow.2
2007 Updating Recursive XML Views of Relations
abstract
This paper investigates the view update problem for XML views published from relational data. We consider (possibly) recursively defined XML views, compressed into DAGs and stored in relations. We provide new techniques to efficiently support XML view updates specified in terms of XFath expressions with recursion and complex filters. The interaction between XFath recursion and DAG compression of XML views makes the analysis of XML view updates intriguing. Furthermore, many issues are still open even for relational view updates, and need to be explored. In response to these, we revise the update semantics to accommodate XML side effects based on the semantics of XML views, and present efficient algorithms to translate XML updates to relational view updates. Moreover, we propose a mild condition on SPJ views, and show that under this condition the analysis of deletions on relational views becomes PTIME while the insertion analysis is NF-complete. Finally, we present an experimental study to verify the effectiveness of our techniques.
Byron Choi, Gao Cong, Wenfei Fan, Stratis Viglas
ICDE4
2007 Distributed File Structures in a Peer-to-Peer Environment
abstract
As computing becomes increasingly distributed, the need for accessing and manipulating distributed data becomes prominent. The focus so far has been on developing fault-tolerant, load-balanced and scalable techniques for distributing data across the network without placing much importance on the semantics of the applications built on top of them - much in the way a centralized file system simply serves disk pages without handling their semantics. In this paper, we continue this "black-box" approach and extend it to the next level. We take standard file structures and distribute them across a peer-to-peer network and test their performance. We then identify performance bottlenecks and propose ways of overcoming them. These results, we believe, exhibit the potential of seamlessly extending computing applications assuming standard (centralized) file I/O capabilities to work in distributed environments.
Stratis Viglas
ICDE1
2006 Conversational querying
Yannis E. Ioannidis, Stratis Viglas
Inf. Syst.2
2005 Vectorizing and Querying Large XML Repositories
abstract
Vertical partitioning is a well-known technique for optimizing query performance in relational databases. An extreme form of this technique, which we call vectorization, is to store each column separately. We use a generalization of vectorization as the basis for a native XML store. The idea is to decompose an XML document into a set of vectors that contain the data values and a compressed skeleton that describes the structure. In order to query this representation and produce results in the same vectorized format, we consider a practical fragment of XQuery and introduce the notion of query graphs and a novel graph reduction algorithm that allows us to leverage relational optimization techniques as well as to reduce the unnecessary loading of data vectors and decompression of skeletons. A preliminary experimental study based on some scientific and synthetic XML data repositories in the order of gigabytes supports the claim that these techniques are scalable and have the potential to provide performance comparable with established relational database technology.
Peter Buneman, Byron Choi, Wenfei Fan, Robert Hutchison, Stratis Viglas
ICDE6
2005 Stream Operators for Querying Data Streams
Lisha Ma, Stratis Viglas
WAIM2
2003 Evaluating Window Joins over Unbounded Streams
abstract
We investigate algorithms for evaluating sliding window joins over pairs of unbounded streams. We introduce a unit-time-basis cost model to analyze the expected performance of these algorithms. Using this cost model, we propose strategies for maximizing the efficiency of processing joins in three scenarios. First, we consider the case where one stream is much faster than the other. We show that asymmetric combinations of join algorithms, (e.g., hash join on one input, nested-loops join on the other) can outperform symmetric join algorithm implementations. Second, we investigate the case where system resources are insufficient to keep up with the input streams. We show that we can maximize the number of join result tuples produced in this case by properly allocating computing resources across the two input streams. Finally, we investigate strategies for maximizing the number of result tuples produced when memory is limited, and show that proper memory allocation across the two input streams can result in significantly lower resource usage and/or more result tuples produced.
Jaewoo Kang, Jeffrey F. Naughton, Stratis Viglas
ICDE3
2003 Mixed Mode XML Query Processing
Alan Halverson, Josef Burger, Leonidas Galanis, Ameet Kini, Rajasekar Krishnamurthy, Ajith Nagaraja Rao, Stratis Viglas, Jeffrey F. Naughton, David J. DeWitt
VLDB8
2003 Maximizing the Output Rate of Multi-Way Join Queries over Streaming Information Sources
Stratis Viglas, Jeffrey F. Naughton, Josef Burger
VLDB1
2002 Storing and querying ordered XML using a relational database system
abstract
XML is quickly becoming the de facto standard for data exchange over the Internet. This is creating a new set of data management requirements involving XML, such as the need to store and query XML documents. Researchers have proposed using relational database systems to satisfy these requirements by devising ways to "shred" XML documents into relations, and translate XML queries into SQL queries over these relations. However, a key issue with such an approach, which has largely been ignored in the research literature, is how (and whether) the ordered XML data model can be efficiently supported by the unordered relational data model. This paper shows that XML's ordered data model can indeed be efficiently supported by a relational database system. This is accomplished by encoding order as a data value. We propose three order encoding methods that can be used to represent XML order in the relational data model, and also propose algorithms for translating ordered XPath expressions into SQL using these encoding methods. Finally, we report the results of an experimental study that investigates the performance of the proposed order encoding methods on a workload of ordered XML queries and updates.
Igor Tatarinov, Stratis Viglas, Kevin S. Beyer, Jayavel Shanmugasundaram, Eugene J. Shekita
SIGMOD Conference2
2002 Rate-based query optimization for streaming information sources
abstract
Relational query optimizers have traditionally relied upon table cardinalities when estimating the cost of the query plans they consider. While this approach has been and continues to be successful, the advent of the Intemet and the need to execute queries over streaming sources requires a different approach, since for streaming inputs the cardinality may not be known or may not even be knowable (as is the case for an unbounded stream.) In view of this, we propose shifting from a cardinality-based approach to a rate-based approach, and give an optimization framework that aims at maximizing the output rate of query evaluation plans. This approach can be applied to cases where the cardinality-based approach cannot be used. It may also be useful for cases where cardinalities are known, because by focusing on rates we are able not only to optimize the time at which the last result tuple appears, but also to optimize for the number of answers computed at any specified time after the query evaluation commences. We present a prelirninary validation of our ratebased optimization framework on a prototype XML query engine, though it is generic enough to be used in other database contexts. The results show that rate-based optimization is feasible and can indeed yield correct decisions.
Stratis Viglas, Jeffrey F. Naughton
SIGMOD Conference1