Progress In The Raw

Engine Crew Monograph No. 10
Last updated August 8, 1997

Gus Bjorklund, Progress Software Corporation

Introduction

In addition to the ability to store multi-volume database extents in files, Version 8.2A of Progress adds the capability for storing database extents on raw devices on Unix systems. A database can be stored in a mix of raw devices and files. Although raw devices afford some advantages, they also have some disadvantages. This monigraph discusse pros and cons of raw devices.

Raw Devices and Partitions

In Unix systems, a disk can be configured to contain a single contiguous chunk of space, or it can be configured to contain multiple separate chunks of space. Each chunk of space is called a partition or section. Typically a partition would be formatted to contain a filesystem, allowing a hierchical structure of directories and files to be created. A partition that does not contain a filesystem is called a raw partition.. A database extent stored on a raw partition is called a raw extent.

Advantages

The primary advantage to using raw extents is the possibility of increased performance compared to extents stored in Unix files. The performance benefits occur because:

Disadvantages

Although the hold forth the possibility of increased performance, raw extents have several serious disadvantages. You should not take the decision to use them lightly. Among the disadvantages are:

Usage

When you use raw extents, you have to tune the database differently than when it is stored in files. In particular:

Consult your system's documentation for instructions on how to create partitions. Partitions typically have names of the form /dev/rdsk/cNd0snn where:

Use prostrct create to create a new multi-volume database structure. Then use procopy to copy a database from disk into the new structure or restore a backup.

Always create a variable length data extent on a filesystem. This allows for expandsion in case you run out of room in the raw partitions.

Always create a variable length bi log extent on a filesystem. This allows for expansion in case you run out of room in the raw partitions.

Make all raw partitions the same size if possible. This will simplify management and backup.

Backing up databases on raw partitions can be done in the following ways:

Use the progress backup utility. It will make backups of databases on raw partitions or a mix of raw partitions and files in exacly the same way it makes backups of databases stored completely in files. This is the most convenient method because the Progress backup utility will ensure that all extents in the database are included, even if you add new ones after the database has been created.

Copy the raw partition to a tape using dd. The dd command will not handle multiple tapes, so you may have to use multiple dd commands to copy the partition.

Copy the raw partition to a file and use an operating system backup utility to copy it to tape.

When you are using raw partitions, keep detailed notes describing what you have stored where. Do not store this information on disk. Keep paper copies somewhere safe and easily accessible.

Keep detailed instructions for making backups and also for restoring backups easily accessible. You should always do this, even if you are not using raw partitions.

Go to monograph index

Copyright 1997, Progress Software Corp., All Rights Reserved