Containers or Hypervisors: Which Is Better for Database Consolidation?

Asraa Abdulrazak Ali Mardan, Kenji Kono · 2016

Database management systems (DBMS) is a common service in clouds. Cloud platforms use virtualization to consolidate servers for efficient resource utilization and to isolate collocated users' workloads. The underlying virtualization technologies have critical impact on the performance and isolation, especially in disk I/O, in DBMS. There are two major virtualization approaches: the hypervisor-based (virtual machines) and the operating-system-level virtualization (containers). Containers are widely believed to outperform virtual machines because of negligible virtualization overheads, while virtual machines are expected to provide stronger performance isolation. This paper argues against the above beliefs by investigating MySQL I/O performance and isolation in KVM and LXC. Contrary to the general belief, our results show that KVM outperforms LXC by up to 86% without compromising the isolation. Our analysis reveals that file system journaling has negative impact on both the performance and isolation in LXC. Since containers share a journaling mechanism unlike virtual machines, journaling activities are serialized and bundled with each other, resulting in inferior performance and isolation.

Read the paper · More papers on PaperTik