Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
2001-12-19
2004-09-14
Le, Uyen (Department: 2171)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000
Reexamination Certificate
active
06792429
ABSTRACT:
CROSS-REFERENCE TO RELATED APPLICATIONS
1. Field of the Invention
This invention is related generally to the restructuring of a database and more specifically to changing the storage format of a database table while maintaining database operability to service transaction requests.
2. Description of the Related Art
FIG. 1
is a diagram of a computer system
10
that includes a database management system (DBMS). The system is a distributed computer system having multiple computers
12
,
14
,
16
interconnected by local area and wide area network communication media
18
. The system
10
generally includes at least one database server
12
and many user workstation computers
14
,
16
.
The database server
12
includes a central processing unit
20
, a primary memory
22
, a communications interface
24
for communicating with user workstations
14
,
16
as well as other system resources (not shown). The secondary memory
26
-
1
,
26
-
2
, typically a magnetic disk storage system, in the database server
12
contains the tables
30
,
32
and other support information managed by the database management system
34
. The secondary memory
26
-
1
,
26
-
2
of the database server
12
also includes programs that manage the database tables and applications programs that users invoke to perform transactions on the database tables. A transaction manager
44
is typically included in the programs that manage the database tables. Not only does the transaction manager
44
coordinate the execution of transactions, it also creates audit entries for each transaction, which are durably stored in an audit trail file
48
in the secondary memory.
The end user workstations
14
,
16
typically include as central processing unit (CPU)
50
, primary memory
52
, a communications interface
54
for communicating with the database server
12
, and other system resources, a secondary memory
56
, and a user interface
58
. The user interface
58
typically includes a keyboard and display device, and may include additional resources such as a pointing device and printer. Secondary storage
56
is used for storing computer programs, such as communications software used to access the database server
12
. Some end user workstations
16
may not include secondary memory
56
, relying on software that is downloaded to their primary memory
52
from a server computer such as the database server
12
.
Database management systems (DBMS)
34
typically manage the storage of database information independently from any co-resident operating system
70
, in
FIG. 2
, in the computer system or systems
68
on which the DBMS
34
is installed. The DBMS
34
conventionally has several layers of software.
FIG. 2
shows the layers of the DBMS
34
and their relationship to the general computing system. The DBMS includes a User Interface
72
, an Application Programming Interface (API)
74
, a Catalog Manager
76
, a Relational Engine
78
, and a Data Access Manager
80
, which has access to a disk volume
82
.
Requests for DBMS functions originate from a user via the User Interface
72
or from a program via the API
74
. The request usually takes the form of a command expressed in the SQL language.
The Catalog Manager
76
accepts requests for the creation, deletion or modification to the definition of database objects such as tables. The metadata for these database objects is under the control of the Catalog Manager
76
and includes a catalog
92
(in
FIG. 3A
) and one or more file labels
96
a-c
(in FIG.
3
A); the catalog contains a set of tables
98
a-c
(in
FIG. 3A
) describing the various data tables, indexes and views of the database; and the file labels
96
a-c
are encoded forms of file and catalog information.
The Relational Engine
78
accepts requests from the API
74
for manipulation of the contents of the database objects and supports the concept of a logical table of database records.
The Data Access Manager
80
accepts requests from the Relational Engine
78
, and the Catalog Manager
76
. These requests cause the contents of portions of the tables to be inserted, deleted, or modified. In addition, requests from the Catalog Manager
76
allow the metadata contained in the file labels
96
a-c
to be modified.
FIG. 3A
is a diagram of the pertinent logical structures in the DBMS
34
. The DBMS contains a data dictionary
90
that includes a catalog
92
and a directory
94
. The data in the DBMS includes base tables
100
,
102
,
104
for storing user data, and index tables
106
,
108
,
110
which facilitate the access to the base tables
100
,
102
,
104
. Base tables
100
,
102
,
104
and index tables
106
,
108
,
110
are divided into partitions, p
1
, p
2
p
3
as shown, the division being based on the records (rows) that satisfy a certain constraint. In some cases, a table has only one partition, which means that the partition includes all of the records of the table. The catalog
92
includes one or more tables
98
a-c
for describing the data tables and index tables in the data portion
112
of the DBMS.
One of these tables is the PARTNS table
98
b
and another is the FILES table
98
a
. Referring to
FIG. 3B
, the PARTNS table
98
b
includes the following fields, FILENAME, PRIMARYPARTITION, PARTITIONNAME, CATALOGNAME, and FIRSTKEY. The FILENAME field contains the name of the file in which the partition is stored, the PRIMARY field contains a flag indicating whether the named partition is a single partition or the first in a set of partitions, the field PARTITIONNAME contains the name of the partition, the CATALOGNAME contains the name of the catalog in which the PARTNS catalog table is found, and the FIRSTKEY field defines the group of records of the table that are in the partition.
In the example shown in
FIG. 3B
, there are two partitions of the table, partition A and partition B. These partitions are each stored in a file having the same filename as the partition, file A for partition A and file B for partition B. The first and second records of the table pertain to partition A and the third and fourth records of the table pertain to partition B.
The FILES table
98
a
includes the following fields, among others that are not pertinent to the present invention, FILENAME, PRIMARYEXT, PRIMARYEXT
2
, SECONDARYEXT, SECONDARYEXT
2
, PARTITIONARRAY, and FILEFORMAT. The FILENAME contains the name of the file that holds a partition, the PRIMARYEXT contains a number telling the Data Access Manager
80
how to manage the initial allocation of physical space on the disk volume for a Format
1
file, the PRIMARYEXT
2
is similar to the previous field except allocation is for a Format
2
file, the SECONDARYEXT field contains a number telling the Data Access Manager how to manage subsequent allocations of physical space on the disk volume for a Format
1
file, SECONDARYEXT
2
is the same as the previous field except allocation is for a Format
2
file, PARTITIONARRAY indicates whether the partition array is Format
1
Enabled or Format
2
Enabled, and FILEFORMAT contains the format of the file named in the record. In the example shown, files A and B are both Format
2
Enabled but file A is stored in Format
1
, whereas file B is stored in Format
2
.
The directory part
94
of the data dictionary includes one or more file labels
96
a-c
which, as mentioned above, store encoded information about the tables, partitions thereof, and files that contain a table partition.
FIG. 4A
is a diagram showing a partition array
120
within the catalog. The partition array
120
is an ordered list of partition information that describes the criterion by which the records of a table are grouped together to create a partition. The criterion is based upon the primary key of the base table, the primary key being one or more of the fields of a database table record whose values uniquely identify the row of a table and determine the order in the table in which the records are stored. All partitions of a database table have the same partition array encoding, independent of the fact that a particular par
Hewlett--Packard Development Company, L.P.
Le Uyen
LandOfFree
Method for fault tolerant modification of data... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method for fault tolerant modification of data..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for fault tolerant modification of data... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3212538