Modern analytic workloads increasingly require handling multiple data models simultaneously. In particular, machine learning and scientific workloads frequently involve processing array data alongside structured and semi-structured data. However, proc...
Modern analytic workloads increasingly require handling multiple data models simultaneously. In particular, machine learning and scientific workloads frequently involve processing array data alongside structured and semi-structured data. However, processing these workloads presents two primary challenges. First, existing approaches for multi-model workloads such as polyglot persistence and single-engine multi-model database systems exhibit performance degradation. Polyglot persistence incurs high communication costs due to the physical separation of systems, while single-engine architectures suffer from inefficient query processing due to their reliance on a single storage engine. Second, there is a lack of array storage engines optimized for disk I/O, which is critical for handling the array-centric components of multi-model analytic workloads. Current array processing solutions are typically designed for distributed environments or provide only limited support for out-of-core computation.
To address these limitations, this dissertation proposes two systems: M2 and PreVision. M2 addresses the first challenge by integrating multiple storage engines into a single system. It further optimizes multi-model query processing by employing the multi-stage hash join algorithm and unified buffer management. PreVision addresses the second challenge by mitigating disk I/O overhead through the optimal buffer replacement algorithm and query execution strategy. Extensive experiments evaluate the efficacy of the proposed systems, demonstrating that both M2 and PreVision achieve superior performance across their respective analytic workloads.