Distributed database - basically a database that is not limited to one system, it is spread over different sites.
Homogenous database - all different sites store database identically.
Heterogenous database - different sites can use different schema and software that can lead to problems in query processing and transactions.
Replication - the systems store copies of data on different sites.
Fragmentation - the relations are fragmented (i.e., they’re divided into smaller parts) and each of the fragments is stored in different sites where they’re required.
Horizontal fragmentation Splitting by rows – The relation is fragmented into groups of tuples so that each tuple is assigned to at least one fragment.
Vertical fragmentation Splitting by columns - The schema of the relation is divided into smaller schemas.
Client-server architecture - In this architecture, clients connect to a central server, which manages the distributed database system.
Peer-to-peer architecture - each site in the distributed database system is connected to all other sites.
Federated architecture - each site in the distributed database system maintains its own independent database.
Query Processing - includes translations on high level Queries into low level expression
Parser – the database performs the following checks- Syntax check, Semantic check and Shared pool check, after converting the query into relational algebra.
Syntax check – concludes SQL syntactic validity.
Semantic check – determines whether the statement is meaningful or not.
Optimizer - database must perform a hard parse atleast for one unique DML statement and perform optimization during this parse.
Row Source Generation – is a software that receives a optimal execution plan from the optimizer and produces an iterative execution plan that is usable by the rest of the database
Execution Engine - Finally runs the query and display the required result.