A homogenous database is one that uses the same DBMS at each node. Either each node can work independently or a central DBMS may coordinate database activities. A heterogeneous database is one that may have a different DBMS at each node. It may support some or all of the functionality of one logical database. It may support full Distributed DBMS functionality or partial Distributed DBMS functionality.
Homogeneous Databases: The homogeneous database means that the database technology is the same at each of the locations (or sites) and that the data at various locations are also compatible. In a homogeneous system, all nodes use the same hardware and software for the database system. The homogeneous system is much easier to design and manage. The following conditions must be satisfied for homogeneous database. * The operating system used, at each location must be same or compatible. * The data structures used at each location must be same or compatible. * The database application (or DBMS) used at each location must be same or compatible. Heterogeneous Databases:
The heterogeneous database systems are opposite to homogeneous database systems. In a heterogeneous system, different nodes may have different hardware & software and data structures at various nodes or locations are also incompatible. Different computers and operating systems, database applications or data models may be used at each of the locations. For example, one location may have the latest relational database management technology, while another location may store data using conventional files or old version of database management system. Similarly, one location may have the Windows NT operating system, while another may have the UNIX.
Heterogeneous systems are usually used when individual sites use their own hardware and software. On heterogeneous system, translations are required to allow communication between different sites (or DBMS). In this system, the users must be able to make requests in a database language at their local sites. Usually the SQL database language is used for this purpose. If the hardware is different, then the translation is straightforward, in which computer codes and word-length is changed. The heterogeneous system is often not technically or economically feasible. In this system, a user at one location may be able to read but not update the data at another location.