Browse Prior Art Database

Main Memory Database Computer Architecture

IP.com Disclosure Number: IPCOM000121205D
Original Publication Date: 1991-Aug-01
Included in the Prior Art Database: 2005-Apr-03
Document File: 7 page(s) / 257K

Publishing Venue

IBM

Related People

Chappell, BA: AUTHOR [+4]

Abstract

Described is a main memory database computer architecture that provides efficient storage and fast retrievals of both tuples and attributes of relations. The concept is designed to improve the performance of database computer systems.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 30% of the total text.

Main Memory Database Computer Architecture

      Described is a main memory database computer architecture
that provides efficient storage and fast retrievals of both tuples
and attributes of relations.  The concept is designed to improve the
performance of database computer systems.

      The concept described herein is designed to reduce the
unnecessary page-in and page-out activities between the main memory
database, processor and associated local memory.  The concept is
implemented with a directory-look-up (DLU) which allows equal access
of both attributes (columns) of a relation (table) and tuples (rows)
of a relation. Typically, conventional computer systems store records
sequentially [1] within a segment.

      Fig. 1 shows the concept using four relations in a database
represented as:  suppliers (S), parts (P), projects (J), and
correlation SPJ.  The following request algorithm is sent to the
system.
       SELECT S#,STATUS FROM S WHERE CITY = "PARIS". (A)

      In conventional systems, since records are stored sequentially,
all tuples of relation S have to be fetched and projected for
comparison of the CITY attribute, otherwise some sort of indices must
be created.  For other operations, such as join and project, similar
situations occur due to the same sequential storing constrains.  This
occurs because the intrinsic two-dimensional tables are stored one-
dimensionally.  If the CITY attribute (columns) of the relation
(table) can be fetched directly, the effectiveness is improved by
orders of magnitude.  The following outlines a DLU using a
transposable memory architecture [2] (TMA) main memory which provides
equally fast access to both rows and columns of a table.

      Fig. 2 shows the main memory database implementation. It is
assumed that the main memory is large enough to contain most of the
database.  Data transfer between main memory and disks (not shown)
may still be required, but this is not considered in this article.
The processor directly accesses its local memory through the local
memory controller which also issues fetch and store instructions for
the processor to the main memory.  The main memory is constructed
with the TMA memory and is managed by the directory manager using the
DLU.  The directories contain information concerning how relations
are stored in the database and is part of the main memory.  The
directory manager handles processor requests, searches the directory
and fetches the desired physical data.

      The transfer of data between the local memory and the main
memory database is on a "page" basis.  Conventionally, a page is just
an X number of sequentially stored bytes. Here, a page can be a "row"
page formed from rows of different pages or a "column" page formed
from columns of different pages.  This capability is provided by the
DLU and the underlying TMA memory modules.

      The directory manager is similar to a cache controller. When
instruc...