1. Autonomy in DDB Systems: Autonomy refers to the degree of independence each database site has in
terms of control over its own data, transaction management, and query execution.
Types of Autonomy:
i. Design Autonomy: Each site can define its schema and constraints independently.
ii. Execution Autonomy: Each site can decide how to execute queries and transactions.
iii. Communication Autonomy: Sites may or may not communicate with other sites based on their local
policies.
Influence on System Design:
Higher autonomy results in loosely coupled systems, improving fault tolerance but increasing complexity
in global query execution.
Lower autonomy allows for more centralized control, making coordination easier but reducing site
independence.
Example: A federated database system (FDBS) consists of multiple autonomous databases that share a
common interface while retaining their own control over data.
2. Distribution in DDB Systems: Distribution refers to how data is physically stored and accessed across
multiple sites in a network.
Approaches to Distribution:
i. Fully Distributed: All data is distributed across multiple sites.
ii. Partially Distributed: Some data is centralized, while the rest is distributed.
iii. Replication-Based: Data is copied across multiple locations for fault tolerance.
Influence on System Design:
i. Improves data locality and reduces network latency by allowing users to access nearby data.
ii. Enhances fault tolerance and availability by distributing copies of data across multiple nodes.
iii. Introduces consistency challenges, requiring mechanisms like two-phase commit (2PC) or quorum-based
consistency.
Example: In a banking system, customer account data is distributed across different branches to ensure
local availability and reduce access time.
3. Heterogeneity in DDB Systems: Heterogeneity refers to differences in hardware, operating systems,
database management systems (DBMS), and data models across different sites.
Types of Heterogeneity:
i. Hardware Heterogeneity: Different machines and processors.
ii. Software Heterogeneity: Different database management systems (e.g., MySQL, PostgreSQL, Oracle).
iii. Data Model Heterogeneity: Different data formats (relational, NoSQL, hierarchical).
Influence on System Design:
i. Requires middleware to integrate different DBMSs and resolve format inconsistencies.
ii. Introduces query translation mechanisms to handle differences in query syntax across different
databases.
iii. Demands standardization techniques, such as using XML or JSON for data exchange.
Example: An international airline reservation system might integrate Oracle-based databases for flight
data and MongoDB for customer preferences, requiring middleware to ensure seamless operation.
Hence, autonomy, distribution, and heterogeneity are key factors in designing distributed database systems, influencing control, data storage, and integration. Balancing these aspects ensures efficiency, fault tolerance, and seamless data access across different sites.