# CHAPTER 9: Shared Memory

## 9.1 Shared Memory and the Distributed Server

Two main topics that govern the performance of the database are:

- locking

- (Input/Output) I/O requests

If locking contention is reduced, performance will increase. If the number of I/O requests is reduced and the majority of data is manipulated in memory, then it will also improve performance.

The main idea behind database performance is to avoid doing I/O. One way of reducing I/O is using shared memory. Shared memory is memory that is shared by one or more processes. The reduction of I/O comes when multiple processes try to access the same thing. Instead of doing disk I/O for each request, the information is obtained from shared memory.

The resolution of locks can be hastened by placing the respective lock manager into shared memory.

One advantage of using the Distributed Server is that the server can use shared memory for Lock Managers, Global Buffers or Mapped Files. However, for this to happen, shared memory partitions must be created on the Distributed Server machine before any database access can occur using shared memory.

Figure 9-1: Client/Server Architecture