Skip to content

The new BARC study is here

Download now

Database Architecture: Structure, Components, Types, and Diagrams Explained

Mathias Golombek
· · 13 mins read

Database architecture is the structure of a database system and the way its components handle data, queries, and storage, building on core database concepts.

It defines how a request moves through the system, from the moment a user or application sends a query to the moment the database returns a result.

An architecture is not a single unit. It consists of multiple components that each perform a specific task. The query processor interprets the request, the execution engine runs it, and the storage layer retrieves the data.

For example, when a user runs a SQL query, the database does not read data directly from disk. The query passes through the query processor, which parses and rewrites it. The execution engine then runs the query plan and requests data from the storage manager.

This structure is what defines the database architecture.

Key characteristics:

  • It defines how queries move through the system
  • It separates processing, execution, and storage
  • It controls how data is retrieved from storage
  • It defines how components coordinate during query execution

How Database Architecture Affects System Performance

Database architecture sets the limits of a system under load.

When multiple queries run at the same time, the system must decide how to allocate CPU, memory, and disk access. The architecture defines how these resources are shared and how competing queries are scheduled.

In a system without proper transaction control, concurrent queries can block each other. One query may hold a lock while others wait. This leads to delays and unstable performance. In a system with controlled concurrency, queries execute in parallel while maintaining data consistency.

Architecture also sets the boundaries for growth, meaning how the system scales as data and query volume increase. A single-node system depends on the resources of one machine. As data size and query volume increase, CPU, memory, and storage become bottlenecks.

A distributed architecture removes this constraint by splitting data and workload across multiple nodes. Each node processes part of the workload, which reduces contention on a single machine.

Failure scenarios follow the same pattern. In a single-node system, a hardware or process failure stops the database. In a distributed system, other nodes continue serving requests while the failed node is replaced or restarted.

Try Exasol Personal for Free

Run real workloads at full Exasol performance.

Key Impacts:

  • It defines how resources are shared between concurrent queries
  • It controls how transactions interact under load
  • It sets the limits of vertical and horizontal scaling
  • It determines how the system behaves during failures

Example: System Behavior Under Load

Consider two systems running the same workload.

In a single-node setup, all queries compete for the same CPU, memory, and disk. As load increases, response time increases because each query waits for resources.

In a distributed setup, the workload is divided across multiple nodes. Each node handles part of the execution. Queries spend less time waiting for resources, which leads to more stable performance under load.

Core Components of Database Architecture

A database system is built from multiple components that each handle a specific part of query execution and data management. These components operate together as part of a coordinated execution flow. Each query moves through them in a defined sequence.

Database architecture diagram showing query flow through core components, including the query processor, execution engine, storage manager, and transaction manager.

Query Processor

The query processor receives a query and prepares it for execution.

It parses the query, checks its syntax, and converts it into an internal representation. It then creates an execution plan that defines how the system will access and process the data.

For example, a SQL query is first parsed into a structured format. The processor then decides whether to scan a table, use an index, or combine multiple operations.

Execution Engine

The execution engine runs the query plan created by the query processor.

It performs operations such as filtering rows, joining tables, and aggregating results. Each step in the execution plan is carried out in sequence or in parallel, depending on the architecture.

The execution engine interacts directly with the storage layer to retrieve and process data.

Storage Manager

The storage manager handles how data is stored and retrieved from disk.

It manages:

  • data files
  • indexes
  • buffer memory

When the execution engine requests data, the storage manager locates it, loads it into memory if needed, and returns it for processing.

Transaction Manager

The transaction manager controls how multiple queries interact with the same data.

It ensures that transactions follow consistency rules and do not interfere with each other in a way that corrupts data.

For example, if two transactions try to update the same row, the transaction manager controls the order of execution or applies locking to prevent conflicts.

Metadata and Catalog

The metadata catalog stores information about the database structure.

It includes:

  • table definitions
  • schema information
  • index details

The query processor uses this information to understand how data is organized before creating an execution plan.

Example: How a SQL Query Moves Through the System

Consider the following query:

SELECT name

FROM customers

WHERE customer_id = 101;
  • The query processor parses the SQL statement
  • It checks the table and column metadata
  • It builds an execution plan
  • The execution engine runs the plan
  • The storage manager retrieves the required data
  • The result is returned to the user

A query flows through the components in sequence: parsing, planning, execution, data retrieval, and result delivery.

Types of Database Architecture

Database architecture is commonly classified based on how processing, application logic, and data storage are distributed across the system. These architectural patterns are closely related to underlying database models, which define how data is structured and how relationships between entities are represented.

The most widely used architectures are 1-tier, 2-tier, and 3-tier architectures. These architectural patterns represent one way to classify systems. Other types of databases group systems based on data models, workloads, and deployment approaches.

1-Tier Architecture

In a 1-tier architecture, all components run on a single system.

The user, application logic, and database are part of the same environment. Queries are executed directly on the database without a separate application layer.

This setup is used in:

  • local development environments
  • standalone applications

Because everything runs on one system, there is no network communication between layers. This simplifies execution but limits scalability.

2-Tier Architecture

In a 2-tier architecture, the application and database run on separate systems.

The application sends queries directly to the database. The database processes the request and returns the result to the application.

This model introduces:

  • client-server interaction
  • network-based communication

It is commonly used in:

  • desktop applications connected to a database server
  • internal business systems

The database handles most of the processing, which can create load on the server as the number of users increases.

3-Tier Architecture

In a 3-tier architecture, the system is divided into three layers:

  • presentation layer (user interface)
  • application layer (business logic)
  • database layer (data storage and processing)

The application layer sits between the user and the database. It handles logic, validation, and query generation before sending requests to the database.

This separation allows:

  • better control over data access
  • improved scalability
  • easier system maintenance

Most modern web applications use this architecture.

Comparison of 1-Tier, 2-Tier, and 3-Tier Architectures

ArchitectureStructureData AccessScalabilityTypical Use Case
1-TierAll components on one systemDirect accessLimitedLocal development, testing
2-TierApplication + databaseDirect client-server communicationModerateDesktop and internal systems
3-TierUI + application + databaseIndirect via application layerHighWeb and enterprise systems

How Architecture Type Affects System Behavior

The choice of architecture changes how queries are processed and how load is handled.

In a 1-tier system, all operations compete for the same resources. In a 2-tier system, the database handles most of the workload. In a 3-tier system, the application layer distributes processing before queries reach the database.

This difference affects scalability, performance, and how the system handles multiple users.

Try Exasol Personal for Free

Run real workloads at full Exasol performance.

Database Architecture vs Database Design

Simply put, they describe different parts of a database system.

Database architecture defines how the system operates.
Database design defines how data is structured inside that system. It follows established principles of database design that govern tables, relationships, and constraints.

The distinction between architecture and design becomes clearer when looking at how real database systems are implemented. Foundational work from the University of Berkeley provides a detailed view of how components like the query processor, storage manager, and transaction system operate within a complete DBMS.

Key Difference

The difference lies in what each one controls.

  • Architecture controls system behavior
  • Design controls data structure

Architecture deals with components such as the query processor, execution engine, and storage layer. It determines how queries are processed and how data is retrieved.

Design deals with tables, relationships, and schemas. It determines how data is organized and how different entities relate to each other.

Example

Consider a system that stores customer data.

  • Database design defines:
    • the customers table
    • columns such as customer_id and name
    • relationships with other tables
  • Database architecture defines:
    • how a query is processed
    • how the system retrieves data from storage
    • how multiple queries are handled at the same time

Both operate together, but they solve different problems.

Comparison of Architecture vs Design

AspectDatabase ArchitectureDatabase Design
FocusSystem operationData structure
ScopeComponents and execution flowTables, schemas, relationships
ConcernQuery processing and system behaviorData modeling and organization
ExampleQuery execution and storage interactionTable structure and relationships

How They Work Together

A database system requires both architecture and design.

The design defines how data is stored. The architecture defines how that data is accessed and processed.

A well-designed schema improves query efficiency, but the architecture determines how those queries are executed under load.

Modern Database Architectures

Modern systems extend traditional database architecture by distributing processing and storage across multiple environments.

Instead of running on a single server, database systems now operate across clusters, cloud platforms, and specialized data models.

Distributed Database Architecture

In a distributed architecture, data and query processing are spread across multiple nodes.

Each node stores part of the data and handles part of the workload. When a query runs, the system divides it into smaller tasks. These tasks execute on different nodes, and the results are combined before being returned.

This approach allows the system to:

  • handle large datasets
  • process queries in parallel
  • avoid single points of failure

However, it introduces challenges in:

  • data consistency
  • network coordination
  • transaction management across nodes

Cloud Database Architecture

In a cloud-based architecture, the database runs on managed infrastructure instead of a fixed server.

Resources such as compute and storage are provisioned dynamically. The system can scale up or down based on demand.

This changes how the architecture operates:

  • storage and compute can scale independently
  • replication and backups are managed automatically
  • infrastructure failures are handled by the platform

The database architecture must integrate with cloud services such as distributed storage, load balancing, and monitoring.

Specialized Database Architectures

Some systems use architectures designed for specific data models or workloads.

Examples include:

  • Graph database architecture
    Designed for relationships between entities. Queries traverse connections instead of scanning tables.
  • Columnar database architecture
    Stores data by columns instead of rows. This improves performance for analytical queries.
  • In-memory database architecture
    Stores data in memory instead of disk. This reduces data access time for high-performance workloads.

Each of these architectures changes how data is stored, accessed, and processed.

How Modern Architectures Differ from Traditional Models

Traditional architectures focus on a single system or a small number of layers.

Modern architectures:

  • distribute data and processing across multiple systems
  • separate storage from compute
  • optimize for specific workloads

These changes allow systems to scale beyond the limits of a single machine.

Real-World Example: Database as an Analytical Processing Layer

S-Communication Services is part of the Sparkassen-Finanzgruppe and operates digital platforms for Germany’s savings banks. The company processes large volumes of financial and marketing data to support reporting and analytics across its network.

To handle this workload, the company built a data platform that separates data storage from query execution.

Architecture

Data is stored in Google BigQuery, which acts as the central storage system. Instead of querying BigQuery directly, the platform routes queries through Exasol. Power BI sits on top of this layer and is used for reporting and analysis, while Apache Airflow and Python manage data pipelines and orchestration.

This creates a layered architecture where storage, processing, and visualization are clearly separated.

Role of the Database

Exasol is used as an analytical database engine within the execution layer.

It does not serve as the primary data store. Instead, it executes queries in memory and processes frequently accessed data before results are returned to the BI layer.

This reduces the need to repeatedly query the underlying storage system.

System Behavior

In this setup, queries are executed in Exasol rather than directly on BigQuery. Frequently accessed data is processed in memory, which reduces latency and avoids repeated scans of large datasets.

The system behaves differently from a traditional setup where every query goes to the storage layer. Here, the database acts as a processing layer that absorbs query load and stabilizes performance.

What This Example Shows

This architecture introduces a pattern where the database is not only responsible for storing data, but also for controlling how queries are executed between systems.

It combines:

  • distributed storage
  • in-memory processing
  • separation of compute and storage

The result is a system that handles large query volumes while keeping response times predictable.

Try Exasol Personal for Free

Run real workloads at full Exasol performance.

Frequently Asked Questions

Database architecture is the structure of a database system and the way its components handle data, queries, and storage. It defines how a query is processed, how data is retrieved, and how different parts of the system interact during execution.

The four commonly referenced types are:

  • 1-tier architecture: all components run on a single system
  • 2-tier architecture: application and database run on separate systems
  • 3-tier architecture: presentation, application, and database layers are separated
  • Distributed architecture: data and processing are spread across multiple nodes

Each type differs in how processing and data access are organized.

A database architecture diagram is a visual representation of how a database system is structured.

It shows:

  • core components (query processor, execution engine, storage)
  • system layers
  • how a query moves through the system

The diagram helps explain how data flows between components during execution.

The architecture of a database defines how the system is organized and how it operates.

It includes:

  • components that process queries
  • storage systems that manage data
  • mechanisms that control transactions and concurrency

It determines how data is accessed, processed, and returned to the user.

The four core pillars are:

  • Data storage: how data is stored and organized
  • Data integration: how data is collected and combined from different sources
  • Data processing: how data is transformed and queried
  • Data access: how users and systems retrieve data

These pillars define how data moves and is used across a system.

Five foundational concepts are:

  • Tables: structures that store data
  • Rows and columns: individual records and attributes
  • Primary keys: unique identifiers for records
  • Indexes: structures that improve query performance
  • Relationships: connections between tables

These concepts define how data is structured and accessed.

The main phases include:

  1. Requirement analysis
  2. Conceptual design
  3. Logical design
  4. Physical design
  5. Implementation
  6. Testing
  7. Maintenance

These phases define how a database is planned, built, and managed over time.

Mathias Golombek
Mathias Golombek

Mathias Golombek is the Chief Technology Officer (CTO) of Exasol. He joined the company as a software developer in 2004 after studying computer science with a heavy focus on databases, distributed systems, software development processes, and genetic algorithms. By 2005, he was responsible for the Database Optimizer team and in 2007 he became Head of Research & Development. In 2014, Mathias was appointed CTO. In this role, he is responsible for product development, product management, operations, support, and technical consulting.