Relational Database Management System
关系型数据库管理系统(relational database management system,RDBMS) 是使用 关系模型 的 数据库管理系统,对应的数据库称为 关系型数据库(relational database,RDB),通常情况下两者混用。
架构
一个典型的 RDBMS 主要包含五个组件,它五个组件和包含的主要模块如下图所示 [1]:
- Client Communications Manager:负责和调用者建立连接、记录会话,并传输数据、控制信息
- Process Manager:负责分配计算资源(进程),同时回传数据和控制信息给 Client Communications Manager。Process Manager 还负责决定系统现在立马执行查询还是等待系统有足够资源后再开始执行
- Relational Query Processor:负责用户查询的执行,检查用户权限、将 SQL 文本编译为执行计划(query plan),然后通过计划执行模块执行
- Transactional Storage Manager:负责数据读写控制,包含一系列算法和数据结构去组织、访问磁盘上的数据,比如 表、列 等。同时还包含缓存管理模块控制数据在内存和磁盘之间交换
- Shared Components and Utilities:包含一系列通用工具,比如 catalog、内存管理模块等
A relational database (RDB) is a way of structuring information in tables, rows, and columns. An RDB has the ability to establish links—or relationships–between information by joining tables, which makes it easy to understand and gain insights about the relationship between various data points.[2]
At heart, a typical RDBMS has five main components:[1:1]
- Client Communications Manager: to establish and remember the connection state for the caller (be it a client or a middleware server), to respond to SQL commands from the caller, and to return both data and control messages (result codes, errors, etc.) as appropriate.
- Process Manager: whether the system should begin processing the query immediately, or defer execution until a time when enough system resources are available to devote to this query.
- Relational Query Processor: This set of modules checks that the user is authorized to run the query, and compiles the user’s SQL query text into an internal query plan. Once compiled, the resulting query plan is handled via the plan executor. The plan executor consists of a suite of “operators” (relational algorithm implementations) for executing any query.
- Transactional Storage Manager: manages all data access (read) and manipulation (create, update, delete) calls. The storage system includes algorithms and data structures for organizing and accessing data on disk (“access methods”), including basic structures like tables and indexes. It also includes a buffer management module that decides when and what data to transfer between disk and memory buffers.
- Shared Components and Utilities
Hellerstein, Joseph M., Michael Stonebraker, and James Hamilton. “Architecture of a Database System.” Foundations and Trends® in Databases 1, no. 2 (2007): 141–259. https://doi.org/10.1561/1900000002. ↩︎ ↩︎
https://cloud.google.com/learn/what-is-a-relational-database ↩︎