Database System Architecture
Database System Architecture
Centralized DBMS
– The application
program + user
interface + control of
DBMS (data server)
in a single machine
– Access through the
single machine – very
slow computations,
lack of concurrency
Two tier architecture
– Client-server architecture
– Client – machine used by end-user.
– Server – high end machine holds
software and hardware
– The application programs run on the
client side
– Client will send Query / request
transaction through ODBC /
JDBC
Three tier architecture
– Transaction Management
– Query Processor
Database Users and Administrator
• Naive users are unsophisticated users
• who interact with the system by invoking
• one of the application programs
• Application programmers are computer
• Professionals who write application programs
• Sophisticated users interact with the system
• using tools such as data analysis software
• Database Administrator(DBA) - Schema
definition, modification, Grant/revoke access,
Maintenance.
Storage Manager
• Storage requires huge amount of data (largest database)
• Interface between internal Disk and application program and queries submitted
to the system
• Responsible for storing, retrieving and updating data in the database
• Authorization and integrity manager – checks integrity constraints and checks
the authority of users to access data.
• Transaction manager - ensures that the database remains in a
consistent(correctness) all the times.
• File manager - manages the allocation of space on disk storage and the data
structures used to represent information stored on disk.
• Memory(Buffer) manager - which is responsible for fetching data from disk
storage into main memory, and deciding what data to cache in main memory.
Disk Storage
• Storage manager interacts with several data structures at physical level (Disk
storage)
– Data files, which store the database itself.
DDL interpreter - which interprets DDL statements and records the definitions in
the data dictionary.