[DB Seminar] Spring 2018: Ajit Mylavarapu [Oracle]
Analytic workloads in data management systems are dominated by joins, aggregations, scan and filtering costs. In-Memory columnar databases have significantly optimized scans using compressed data formats and SIMD vectorization techniques, but have made little impact to the rest of the query execution plan. The Oracle Database In-Memory (DBIM) Option introduced new SQL execution operators that accelerate a wide range of analytic queries by optimizing aggregation over joins for star and similar schemas. Group-by expressions are pushed down into the scans of dimension tables, creating a unique key per distinct group called a Dense Grouping Key (DGK). A structure called a Key Vector is allocated that maps join keys to DGKs, which is used to filter non-matching rows during the fact table scan. Passing rows are then aggregated directly on compressed codes into DGK-indexed result buffers using SIMD and other novel aggregation techniques. Our solution replaces traditional join and group-by processing (bloom filters, hash table build and probe, serial aggregation) with blazing fast inlined scan operators. Our technique can drastically reduce query elapsed time by more than 10x, making real-time analytics truly achievable.
Ajit Mylavarapu is a Senior Development Manager in the Data Engine group at Oracle. The data engine group is responsible for data storage, access structures and data processing for the entire Oracle database. Ajit is primarily responsible for driving and delivering core performance critical and highly visible features of the Oracle data engine. His team is responsible for accelerating complex in-memory OLAP queries using novel techniques, in-memory join acceleration, Oracle table compression technologies and optimized columnar data access solutions in general. His team is currently also exploring novel techniques for the use of non-volatile RAM in the data engine. He holds 10 issued and pending patents in the fields of columnar databases, database information lifecycle management, database compression techniques and microprocessor data cache design. Ajit graduated with an MSEE from Stanford University.