Vous êtes sur la page 1sur 3

C. J.

Date Rules
The following set of rules developed by C. J. Date has become a measure
for evaluating distributed databases. No product conforms to all of these
requirements.

ℜ• Local Autonomy

Each database located on a server must provide full database


functionality, i.e., features like security and recovery. Most
databases provide strong support for these features.

ℜ• No Reliance on a Central Site

This requirement is related to Local Autonomy in that to be fully


autonomous there should be no reliance on another site. It also
relates to the need to have little vulnerability to a single point of
failure if that point of failure would impact the entire system. The
most common shortcoming of database products in this area is the
reliance on a single data dictionary. The dictionary site becomes
the "hot spot" in the distribution.

ℜ• Continuous Operation

This requirement states the need to be able to adjust the database


without bringing the database down. Most databases allow update
of local schema and backup of data while the database is live.

ℜ• Data Location Independence

Most databases support this through tables that map location of


data transparent to the user.

ℜ• Data Fragmentation Independence

Databases generally provide support for horizontal fragmentation


(that is, splitting table rows among various servers) but they
provide less support, if any, for vertical fragmentation (that is,
splitting columns of a table among servers).

ℜ• Data Replication Independence

Replication of data addresses issues that arise in performance when


queries must be processed across networks. Local replication
improves the performance since access to data does not involve the
network. If the replica is writable, then there are issues in the
update of replicas. Essentially, replicas can be updated
synchronously (conceptually, a two phase commit of the update
across all replicas), or asynchronously, when it does not matter that
the update is immediately reflected in all replicas. Databases
support replication to various degrees. For example, some support
only asynchronous update and some require the application to have
triggers to update the replicas.

ℜ• Distributed Query Processing

Generally, distributed query requests are broken down into


component transactions to be executed at the distributed sites.
These component requests are optimized by the database. The
algorithms take network speed into account. The major distinction
among databases is whether the query is optimized at the host
database or at the distributed locations.

ℜ• Distributed Transaction Management

This requirement is critical to database integrity. It states that


transactions must be committed or rolled back in their entirety. In
general, this is supported with the database's two phase commit.

ℜ• Hardware Independence

Most databases support operations on a variety of platforms.

ℜ• Operating System Independence

Many databases operate under a variety of operating systems.

ℜ• Network Independence

Databases have network gateway products to allow access to


different networks and different database products.

ℜ• Database Independence

This requirement is often addressed through compliance to access


standards such as Distributed Relational Database Architecture
(DRDA) or SQL Access Group (SAG).

These requirements are not limited to RDBMSs although some are stated
in RDBMS terms (e.g., fragmentation). While perhaps not directly
relevant to ODBMS (particularly vertical fragmentation) understanding
the database in terms of these requirements helps the Database Designer
make better design decisions.

Vous aimerez peut-être aussi