  Demand for enterprise data warehouse solutions to support real-time Online
Transaction Processing (OLTP) queries as well as long-running Online Analytical
Processing (OLAP) workloads is growing. Greenplum database is traditionally
known as an OLAP data warehouse system with limited ability to process OLTP
workloads. In this paper, we augment Greenplum into a hybrid system to serve
both OLTP and OLAP workloads. The challenge we address here is to achieve this
goal while maintaining the ACID properties with minimal performance overhead.
In this effort, we identify the engineering and performance bottlenecks such as
the under-performing restrictive locking and the two-phase commit protocol.
Next we solve the resource contention issues between transactional and
analytical queries. We propose a global deadlock detector to increase the
concurrency of query processing. When transactions that update data are
guaranteed to reside on exactly one segment we introduce one-phase commit to
speed up query processing. Our resource group model introduces the capability
to separate OLAP and OLTP workloads into more suitable query processing mode.
Our experimental evaluation on the TPC-B and CH-benCHmark benchmarks
demonstrates the effectiveness of our approach in boosting the OLTP performance
without sacrificing the OLAP performance.
