(Downloads - 0)
For more info about our services contact : help@bestpfe.com
Table of contents
1 Introduction
1.1 Contributions
1.2 Thesis outline
2 Preliminaries
2.1 System Model
2.1.1 Data storage tier
2.1.1.1 System model
2.1.1.2 Data model
2.1.1.3 Data storage tier API
2.1.2 Query processing tier
2.1.3 Query language
2.1.4 Derived state
2.2 Query processing system performance evaluation
2.2.1 Evaluating Eciency
2.2.1.1 Response time
2.2.2 Evaluating Eectiveness
2.2.2.1 Recall and precision
2.2.2.2 Freshness
2.2.3 Other aspects of query processing system design
2.2.3.1 Availability
2.2.3.2 Operational Cost
2.3 Conclusion
3 Background
3.1 Query Processing in Relational Database Systems
3.1.1 Materialized Views
3.1.1.1 View maintenance
3.1.1.2 Query Optimization and Materialized Views
3.1.1.3 Materialized View Selection
3.1.2 Distributed Query Processing
3.1.3 Caching
3.2 Query Processing in Non-Relational Database Systems
3.2.1 Non-relational Database Data models
3.2.2 Partitioning
3.2.3 Replication
3.2.4 Query Processing
3.2.4.1 Secondary indexes
3.2.4.2 Partitioning and Secondary Indexes
3.2.4.3 Query Planning and Execution
3.3 Conclusion
4 The design space of geo-distributed query processing
4.1 The use of derived state in query processing
4.2 Design decisions and trade-os in derive state based query processing systems
4.2.1 Derived state maintenance schemes
4.2.2 Derived state partitioning
4.2.3 Derived state placement
4.2.3.1 Geo-replication
4.2.3.2 Geo-partitioning
4.2.3.3 Multi-cloud and Query federation
4.3 Conclusion
5 A design pattern for exible query processing architectures
5.1 Overview and design rationale
5.2 The query processing unit: a building block for composable query processing architectures .
5.2.1 The Query Processing Unit component model
5.2.1.1 Query, input stream, and domain interfaces
5.2.1.2 Conguration
5.2.1.3 Local graph view
5.2.1.4 Query Processing State
5.2.1.5 Initialization, query processing, and input stream processor methods
5.2.2 Query Processing Unit component model specication
5.2.2.1 Query interface
5.2.2.2 Query processing state
5.2.2.3 Initialization method
5.2.2.4 Query processing method
5.2.2.5 Input stream processor method
5.2.3 Stream semantics
5.2.4 QPU classes
5.2.4.1 QPU class case studies
5.3 QPU-based query processing systems
5.3.1 Query processing system architecture
5.3.1.1 QPU-graph topology rules
5.3.2 Query execution
5.3.3 Query execution data structures
5.3.3.1 Query parse tree
5.3.3.2 Domain tree
5.4 Discussion
5.4.1 QPU-based query processing systems and ad-hoc queries
5.4.2 Query processing unit consistency semantics
5.5 Conclusion
6 Case studies
6.1 Flexible secondary index partitioning
6.1.1 Write path
6.1.1.1 Graph topology and placement
6.1.1.2 Index partition conguration and graph initialization
6.1.2 Read path
6.2 Federated secondary attribute search for multi-cloud object storage
6.2.1 Predicate-based indexing
6.3 Materialized view middleware
6.3.1 Partial materialization
6.3.2 Placing materialized views at the edge
7 Proteus: Towards application-specic query processing systems
7.1 Query processing domain dissemination
7.1.1 Domain interface
7.1.2 Query processing domain discovery mechanism
7.2 Query processing unit service
7.2.1 QPU service architecture
7.3 Architecture specication language
7.4 Query processing system deployment
7.5 Implementation
8 Evaluation
8.1 Placing materialized views at the edge
8.1.1 Experimental scenario
8.1.2 Experimental Setup
8.1.3 Query processing performance
8.1.4 Freshness
8.1.4.1 Freshness vs Throughput
8.1.4.2 Freshness vs round-trip latency
8.1.5 Data transfer between sites
8.1.6 Conclusion
8.2 Federated metadata search for multi-cloud object storage
8.2.1 Experimental scenario
8.2.2 Methodology
8.2.3 Experimental Setup
8.2.4 Query processing performance
8.2.5 Freshness
8.2.6 Data transfer between storage locations
8.2.7 Conclusion
8.3 Conclusions
9 Related work
9.1 Secondary indexing in distributed data stores
9.1.1 Consistency between corpus and index
9.2 Materialized views
9.3 Result caching
9.4 Geo-distributed query processing
9.5 Modular & Composable architectures
9.6 State and computation placement
9.6.1 Computation placement
9.6.2 State placement
9.7 Distributed computation models
9.7.1 MapReduce
9.7.2 Data ow engines
10 Future Work and Discussion
10.1 Future Work
10.1.1 Placement policies
10.1.2 Dynamic query engine architectures
10.1.3 Consistent distributed queries
10.2 Discussion
10.2.1 Scope
10.2.2 Fault Tolerance
10.2.3 Data storage tier APIs
10.2.4 Derived state in geo-replicated databases
11 Conclusion


