データベースシステム論文のアーキテクチャ - 第1章:概要

2019年12月1日

午前9時50分06秒

 

 

 乗客リスト、特定の飛行のすべてのクエリ:私たちは、単純なのアプリケーションが、空港で、このようなAデータベースの典型的な例を考えてみましょう。この操作は、次のようにクエリ要求は、実質的に処理される原因

 1、PC(クライアント)の空港搭乗ゲートは、ネットワーク接続を確立するためのAPIとDBMSクライアント通信マネージャ(クライアントCommunications Managerの)を呼び出します。いくつかのケースでは、このクライアントは、データベース・サーバーとのODBCやJDBC接続プロトコル経由で直接接続を確立します。このアプローチは、「レイヤー」またはと呼ばれる「クライアント - 。サーバー」場合によっては、クライアントと「中間層サーバー」などのWebサーバー、トランザクション処理システムなどの接続を確立するためにはありますが、彼らは「3と呼ばれ、クライアントとデータベース・サーバ・プロトコルエージェント間の直接接続を確立していました層「モード。一部のネットワークアプリケーションではなく、複数のアプリケーションサーバと「4層」モードと呼ばれるDBMSサーバネットワーク間に敷設。非常に多くの環境に適用するために、DBMSは、多くの異なるクライアントと中間システムと互換性のある複数の接続プロトコルを必要とします。しかし、実際には、DBMSは基本的に同じプロトコルマネージャの様々な責任がある:呼び出し側(クライアントまたはミドルウェア)が、接続を確立し、クライアントに応答するSQL文の接続アドレスを記録し、適切にしますデータおよび制御情報を返すとき。例えば本明細書に記載において、通信マネージャは、クライアントのセキュリティ証明書を確立する、空間SQLコマンド、要求クライアントに割り当てられた新たなクライアントの詳細および接続処理下位レベルのDBMSに送信されます。

2、在收到客户端的第一个请求之后,DBMS 必须为之分配一个计算线程。系统必须确 保该线程的数据以及控制输出是通过通信管理器与客户端连接的。这些工作交由 DBMS 的 进程管理器(Process Manager)来管理(图 1-1 左)。在这一部分中,DBMS 所做的主要 工作是准入控制,即系统是否应该立即处理该查询,或是等待系统有足够资源时再处理该查 询。我们将在第二章详细介绍进程管理器。

3、在分配控制进程之后,登机口的查询便可以被处理了。处理工作借助于关系查询处 理器(Relational Query Processor,图 1-1 中间部分)中的代码来实现。这些模块检查用 户是否有权进行该查询,然后将用户的 sql 查询语句编译为中间查询计划。在编译之后,结 果查询计划被交给查询执行器。查询执行器包含一系列处理查询的操作(关系型算法实现)。 典型的处理查询任务的操作包括:连接、选择、投影、聚集、排序等等,当然也包括从底层 读取需要的数据。在我们的例子中,包括优化查询的操作在内,调用了一个操作集合来解决 用户的查询问题。在第四章我们将讨论查询处理问题。

(这部分应该是在查询处理器里面)

 

 4、在登机口代理的查询计划的底层,由若干操作从数据库请求数据。这些操作通过调 用(call)来从 DBMS 的存储管理器(transactional storage manager,图 1-1 底部)中收集数 据;存储管理器负责所有的数据接口(读)和操作调用(建立、更新、删除)。存储系统包 括用于管理磁盘数据的基本算法和数据结构,比如基本的表和索引。它还包括一个缓冲管理 器,用来控制内存缓冲区和磁盘之间的数据传输。回到我们的例子中,在获取数据的过程中, 登机口客户端的查询必须调用事务管理代码来保证“ACID”性质(将在第 5.1 节讨论)。在 获取数据之前,需要通过锁管理器来确保并发情况下运行的正确性。如果登机口客户端的查 询包含对数据库的更新操作,那么,它需要与日志系统进行交互,来确保更新操作的持久性 以及撤销操作的完整性。在第 5 章,我们会讨论存储与缓冲管理的更多细节,弟 6 章介绍业务一致性结构

5、在查询的这一时期,查询操作已经开始获取数据并准备好用它们来为客户端计算结 果。这一步通过展开我们之前提到的所有操作的堆栈来完成。访问方法把控制权交给查询处 理器,查询处理器将数据库的数据组织成结果元组;结果元组生成后被放入客户通信管理器 的缓冲区中,然后该通信管理器将结果发送给调用者。对于较大的结果集合,客户端会发送 更多的请求来获取更多的数据,这也导致了通信管理器、查询处理器和存储管理器的循环操 作。在我们的例子中,在查询操作的最后,事务结束,连接关闭;事务管理器中的结果被清 空,进程管理器释放无用的数据结构,通信管理器将连接状态清空

我们通过这个查询的例子讨论了 RDBMS 的许多关键组件,但还有一些没有涉及到。图 1-1 右边一侧有许多共享组件和工具,它们对于一个功能完整的 DBMS 而言,同样是十分 重要的。目录和存储管理器在传输数据时被作为工具来调用,在我们的例子中也是这样。在 认证、分解以及查询优化过程中,查询处理器都会用到目录。同样,存储管理器也广泛应用 于整个 DBMS 运行过程中动态分配和释放内存的场合。在图 1-1 中最右边列出的其余组件, 独立运行于任何查询,它们使数据库保持稳定性和整体性。我们将在第 7 章讨论这些共享 的组件和工具。


 

我们开篇谈到了数据库系统的整体架构。在所有服务器架构中第一个问题便是服务器整 个的进程架构,我们会介绍各种切实可行的方案,首先是单处理机,然后是多种并行处理架 构。关于核心服务器系统架构的讨论,是适合于许多其他系统的,但是,在很大程度上是在 DBMS 设计中最早得到应用的。随后,我们探讨 DBMS 的专有组件。我们从一个简单查询 的角度开始,重点关注关系数据库查询处理器。在这之后,我们研究存储架构和事务存储管 理设计。最终,我们介绍一些大部分 DBMS 都会有的共享组件和工具,这一点在教材中很 少被提及。

 

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/JasonPeng1/p/11965178.html