This chapter explains the overall system architecture and components that comprise the Ingres Distributed Database Option.
Ingres Star lets you access data from multiple databases, linking the information together so that it seems to be in a single database. This single database is referred to in the rest of this guide as the distributed database.
A distributed database does not reside physically on a disk. The actual data is contained in the multiple databases accessed by Ingres Star. These databases are referred to in the rest of this guide as local databases.
A DBMS Server must be running on each computer that has a database you are accessing.
Setting up a distributed database requires you to:
To create a distributed database, use the Ingres createdb command described in Createdb Command. This command creates an empty distributed database.
After you create a distributed database, you must decide which tables will make up the distributed database. These tables can be entire local databases or a selection of tables from local databases. They are incorporated into the distributed database by registering them.
Tip: Registration simply describes the logical connection (link) between an object in the distributed database and an object in a local database. A registration is not an object in the same way that a table, view, or index is an object.
When you issue a query to Ingres Star, it generates sub-queries to the local databases, mapping table and column names occurring in the query into their corresponding local table and column names. Ingres Star cannot recognize local table or column names unless they have been registered in the distributed database.
You can populate the distributed database with tables in three ways:
For discussions of the register and create commands, see the chapter "Maintaining a Distributed Database with StarView."
When you create a distributed database, Ingres Star creates catalogs to coordinate access to all the data. The catalogs are a collection of tables that store information about the distributed database. They describe every local database that is a component of the distributed database, as well as the distributed database's objects. For a complete description of the catalogs, see the chapter "Ingres Star Catalogs" and the appendix "Standard Catalog Interface."
Although a distributed database connects to data stored in local databases, it contains its own set of objects. These objects have the same types as those of a local database:
The above description for registering tables includes the registration of views. You can also register database procedures. Indexes are registered automatically when you register the tables they belong to.
In Ingres Star, a distributed database is defined by the following components:
A coordinator database contains the catalogs that the Star Server uses to keep track of distributed objects. When a user requires information, the Star Server accesses the coordinator database and associated local databases through the local DBMS Server to get the information. (Although the coordinator database is an Ingres database and can be accessed just like any other database, it is intended to be used solely by the Star Server, so it is advisable to access the coordinator database through Ingres Star only.)
These entries contain information that define each distributed database and coordinator database in the installation, and show which coordinator database is associated with which distributed database. They also contain configuration information that allows Ingres Star to efficiently process queries.
Optional links to other data are generated by the Register as Link Statement. When you register existing data to a distributed database, information on the location of the data is added to the Ingres Star-specific catalogs in the coordinator database.
You can register tables and views that are not owned by you. However, even though you may have registered a table or view in your distributed database, you still must have the necessary permissions to access those tables and views before you can access them through your distributed database.