Adaptive and Big Data Scale Parallel Execution in Oracle

  title={Adaptive and Big Data Scale Parallel Execution in Oracle},
  author={Srikanth Bellamkonda and Hua-Gang Li and Unmesh Jagtap and Yali Zhu and Vince Liang and Thierry Cruanes},
  journal={Proc. VLDB Endow.},
This paper showcases some of the newly introduced parallel execution methods in Oracle RDBMS. These methods provide highly scalable and adaptive evaluation for the most commonly used SQL operations - joins, group-by, rollup/cube, grouping sets, and window functions. The novelty of these techniques is their use of multi-stage parallelization models, accommodation of optimizer mistakes, and the runtime parallelization and data distribution decisions. These parallel plans adapt based on the… 
Adaptive query parallelization in multi-core column stores
Adaptively parallelized plans show optimal multi-core utilization and up to five times improvement compared to heuristically paral- lelized plans on the workload under evaluation.
Efficient Data Redistribution to Speedup Big Data Analytics in Large Systems
  • Long Cheng, Tao Li
  • Computer Science
    2016 IEEE 23rd International Conference on High Performance Computing (HiPC)
  • 2016
This paper proposes near-join, a network-aware redistribution approach targeting to efficiently reduce both network traffic and communication time of join executions, which is lightweight and adaptable to processing large datasets over large systems.
Efficient and Self-Balanced ROLLUP Aggregates for Large-Scale Data Summarization
The design of a new ROLLUP operator for high-level languages is progressed, which is self-optimizing, which means that it automatically performs load-balancing and determines a suitable operating point to achieve the highest performance.
Multi-core parallelism in a column-store
The research reported in this thesis addresses several challenges of improving the efficiency and effectiveness of parallel processing of analytical database queries on modern multi- and many-core
Performance Analysis of Array Database Systems in Non-Uniform Memory Architecture
This paper analyzes the performance impact of the NUMA architecture in the SAVIME and SciDB array databases running five different well-known static thread pinning strategies and finds that these static strategies only yield 48% from the potential speedup (and 26% of the energy reduction), opening a new research topic.
Efficient Large Outer Joins over MapReduce
This paper proposes a new algorithm, called POPI Partial Outer join & Partial Inner join, which targets for efficient processing large outer joins, and most important, is lightweight and adapted to the processing model of MapReduce.
On the design space of MapReduce ROLLUP aggregates
The results indicate that ecient ROLLUP aggregates require striking the good balance between parallelism and communication for both one-round and chained algorithms.
Morsel-driven parallelism: a NUMA-aware query evaluation framework for the many-core age
The morsel-driven query execution framework is presented, where scheduling becomes a fine-grained run-time task that is NUMA-aware and the degree of parallelism is not baked into the plan but can elastically change during query execution, so the dispatcher can react to execution speed of different morsels but also adjust resources dynamically in response to newly arriving queries in the workload.
Efficient Processing of Window Functions in Analytical SQL Queries
This work presents an efficient and general algorithm for the window operator that is optimized for high-performance main-memory database systems and has excellent performance on modern multi-core CPUs.


Handling data skew in parallel joins in shared-nothing systems
This work proposes a new join geography called PRPD (Partial Redistribution & Partial Duplication) to improve the performance and scalability of parallel joins in the presence of data skew in a shared-nothing system.
Enhanced Subquery Optimizations in Oracle
Enhanced subquery optimizations in Oracle relational database system are described, including a new variant of antijoin for optimizing subqueries involved in the universal quantifier with columns that may have nulls.
Scalable aggregation on multicore processors
This paper aims to provide a solution to performing in-memory parallel aggregation on the Intel Nehalem architecture, and considers several previously proposed techniques, including a hybrid independent/shared method and a method that clones data items automatically when contention is detected.
Optimization of Analytic Window Functions
This paper proposes several efficient techniques, and identifies optimization opportunities that allow us to optimize the evaluation of a set of window functions, and integrates the scheme into PostgreSQL.
Sort vs. Hash Revisited: Fast Join Implementation on Modern Multi-Core CPUs
This paper re-examines two popular join algorithms to determine if the latest computer architecture trends shift the tide that has favored hash join for many years and offers multicore implementations of hash join and sort-merge join which consistently outperform all previously reported results.
WinMagic: subquery elimination using window aggregation
This work proposes a new technique to handle some typical correlated queries that makes use of extended window aggregation capabilities, and eliminates redundant access to common tables referenced in the outer query block and the subquery.
On the Computation of Multidimensional Aggregates
This paper presents fast algorithms for computing a collection of group bys using sort-based and hashbased grouping methods with several .optimizations, like combining common operations across multiple groupbys, caching, and using pre-computed group-by8 for computing other groupbys.
Implementing data cubes efficiently
This paper investigates the issue of which cells (views) to materialize when it is too expensive to materialized all views, and presents greedy algorithms that work off this lattice and determine a good set of views to materializing.
Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals
This paper explains the cube and roll-up operators, shows how they fit in SQL, explains how users can define new aggregatefunctions for cubes, and discusses efficient techniques to compute the cube.
Cost-based query transformation in Oracle
Cost-based query transformation in Oracle relational database system is described, which is a novel phase in query optimization, and a practical technique to combine cost-based transformations with a traditional physical optimizer is described.