# Database Architecture

The database architecture depends on the kind of system on which the database is running. There are different kinds of database architectures:

* **Centralized** Both the data and the client accessing the data are at the site of the database system
* **Client-Server (two-tier/three-tier)** One server machine executes the work on behalf of multiple client machines
* **Parallel** The database system runs on multi-node and multi-core systems
* **Distributed** This consists of multiple communicating database systems located at different geographical locations

The client-server architecture is most commonly used today, wherein clients remotely connect to the database system that runs on the server.

There are two kinds of client-server architecture:

![](https://474493875-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M5-0RGXrGEYT2sPemdS%2F-M5-0Rgnjb23s9oFr3lT%2F-M5-0_Ci5sTlkaUbP1fv%2FClient-Server%20Architecture.JPG?generation=1586990834311851\&alt=media)In the **two-tier** architecture, client programs communicate with the database over a network, using ODBC/JDBC/Embedded SQL.

In the **three-tier** architecture, client programs first communicate with an application server, which in-turn communicates with the database system. This is commonly used for web-based applications.
