A Distributed Database System (DDBS) is a collection of multiple
databases spread across different physical locations, connected via a
network. Unlike a centralized system, where all data is stored in one place,
a distributed system manages data across various sites while making it
appear as a single database to users. It improves data availability,
reliability, and performance by enabling local access, parallel processing,
and fault tolerance.
1. Homogeneous Database:
In a homogeneous database, all different sites store database identically.
The operating system, database management system, and the data
structures used all are the same at all sites. Hence, they're easy to
manage.
Features:
Unified query language and interface.
Low integration complexity.
Efficient synchronization.
Example: A bank with branches in different cities uses Oracle DB at every
location. All databases have the same structure and are synchronized
regularly.
2. Heterogeneous Database
In a heterogeneous distributed database, different sites may use different
DBMSs, schemas, or data models, making query processing and
transactions difficult. Some sites may not even be aware of others, so
translation mechanisms are needed for communication.
Features:
Supports interoperability between diverse systems.
Complex query optimization and transaction management.
Useful in mergers or collaborations between organizations.
Example: A logistics company uses MySQL for inventory, MongoDB for
vehicle tracking, and PostgreSQL for billing. Integration middleware allows
unified querying across these platforms.
Key Characteristics:
Data is partitioned or replicated across multiple servers.
Improved scalability, fault tolerance, and performance (since
requests can be handled in parallel).
More complex to manage due to consistency, synchronization, and
network latency challenges.
Resilient to single-point failures (if one node goes down, others can
still serve data).
Example: A NoSQL database like MongoDB deployed across multiple
servers in different regions, where user data is sharded (split) by region
for faster access.
Key Takeaway
Choose centralized for simpler setups needing strict consistency and easy
management, like small business accounting. Opt for distributed when
high availability, scalability, and performance for geographically diverse
users are critical, such as large e-commerce platforms or global social
networks.
Core Roles & Responsibilities of DBA:
Installation & Configuration: Setting up the DBMS, installing
software, and configuring hardware/infrastructure.
Security & Access Control: Authorizing user access, managing
permissions, and protecting data from unauthorized access
.
Performance Monitoring & Tuning: Optimizing database
performance, tuning queries, and ensuring efficient data retrieval.
Backup & Recovery: Creating backup plans, performing regular
backups, and developing disaster recovery strategies.
Data Integrity & Standards: Ensuring data quality, consistency,
and adherence to organizational rules.
Design & Development Support: Collaborating with developers
on database design, schema, and table structures.
Troubleshooting: Diagnosing and resolving database issues,
errors, and performance bottlenecks.
Maintenance: Performing routine tasks, patching, updating, and
ensuring overall system health.