Skip to main content

2022 | Book

Main Memory Management on Relational Database Systems


About this book

This book provides basic knowledge about main memory management in relational databases as it is needed to support large-scale applications processed completely in memory. In business operations, real-time predictability and high speed is a must. Hence every opportunity must be exploited to improve performance, including reducing dependency on the hard disk, adding more memory to make more data resident in the memory, and even deploying an in-memory system where all data can be kept in memory.

The book provides one chapter for each of the main related topics, i.e. the memory system, memory management, virtual memory, and databases and their memory systems, and it is complemented by a short survey of six commercial systems: TimesTen, MySQL, VoltDB, Hekaton, HyPer/ScyPer, and SAP HANA.

Table of Contents

Chapter 1. The Memory System
This chapter contains some concepts and techniques used for efficient in-memory data management, including memory hierarchy, non-uniform memory access (NUMA), and non-volatile random access memory (NVRAM). These are the basics on which the performance of in-memory data management systems heavily rely.
Pedro Mejia Alvarez, Marcelo Leon Ayala, Susana Ortega Cisneros
Chapter 2. Memory Management
Memory management is part of the operating system responsible for the administration of memory. In this chapter we discuss several techniques to manage memory. These techniques vary from a primitive bare-machine approach to paging and segmentation techniques. Each approach has its own advantages and disadvantages. The selection of the most appropriate technique for memory management depends on many factors, especially on the hardware design of the system. As we shall discuss, many techniques require hardware support, although recent designs have closely integrated the hardware and operating system.
Pedro Mejia Alvarez, Marcelo Leon Ayala, Susana Ortega Cisneros
Chapter 3. Virtual Memory
Virtual memory is a technique that allows the execution of the processes that may not be completely in memory. One major advantage of this scheme is that processes can be larger than the available physical memory. This technique abstracts main memory into a very large, uniform array of storage, separating logical memory as viewed by the user from physical memory. It frees programmers from taking care of main memory limitations. Virtual memory also allows processes to share files and address spaces. Virtual memory is not easy to implement, however, and may substantially decrease performance if it is used carelessly.
Pedro Mejia Alvarez, Marcelo Leon Ayala, Susana Ortega Cisneros
Chapter 4. Databases and the Memory System
Traditional database management systems (DBMSs) move data from disk to memory in a cache or buffer pool when it is accessed. Moving the data to memory makes re-accessing the data more efficient, but the constant need to move data can cause performance issues. Because data in an in-memory DBMSs already resides in memory and doesn’t have to be moved, application and query performance can be significantly improved. In this chapter, we will discuss database storage techniques used mainly in relational in-memory and file DBMSs.
Pedro Mejia Alvarez, Marcelo Leon Ayala, Susana Ortega Cisneros
Chapter 5. Database Systems: Real Examples
In this chapter we discuss some commercial in-memory relational databases systems such as TimesTen, MySQL, H-Store/VoltDB, Hekaton, HyPer/ScyPer, and SAP Hana.
Pedro Mejia Alvarez, Marcelo Leon Ayala, Susana Ortega Cisneros
Main Memory Management on Relational Database Systems
Pedro Mejia Alvarez
Marcelo Leon Ayala
Susana Ortega Cisneros
Copyright Year
Electronic ISBN
Print ISBN

Premium Partner