Determining the optimal database approach can present an incredible challenge to system builders. In some cases it may require an whole new "thinking shift" regarding traditional database structuring to take place. Some of the important database considerations are listed below:
In order to implement a distributed database, each database location must be an independent DBMS which is able to stand alone in its support of the localized business users. It must, however, be intelligent enough to know when it must access a DBMS at another site to satisfy a query. This location and retrieval of requested information should be totally transparent to the business clients. In addition, it should be able to support the same queries from other sites in the same fashion.
Network access of other DBMS "sites"
The implication here is that network architectures as well as network performance will become increasingly significant as distributed databases become a reality. Logical queries which require data to be assembled from multiple sites, can only be practical if the technical platforms are in place which will effectively manage the process. Since this technology is still so new, exercise care when designing applications which will require this functionality.
Another pressing issue is centered around where the DBMS data dictionary or catalog should be located within a distributed database environment. Several alternatives have been proposed to address these concerns:
One central data catalog is maintained which all queries must reference in order to be satisfied. This means that every query must travel through the network to the central catalog to determine the location of the data item which it is seeking.
This means that subsets of the catalog are stored at the various database sites in order to more greatly optimize the network. The downside is that a query which is not satisfied locally, must now travel to all of the other sites in search of the requested data.
Using this approach, on a periodic basis, a complete copy of the current data catalog is sent to each of the sites. The risk here is that a query could search for an item of information which does currently exist, but the local catalog does not yet reflect this fact, and the information is not found.