本文首先考察了 DB2 UDB for Linux®、UNIX® 和 Windows® 中的 IBM DB2® Universal Database™ 数据分区功能(Data Partitioning Feature,DPF)在性能和可伸缩性方面的优点。然后,完成在 SUSE Linux Enterprise Server 上安装和配置具有 DPF 功能的 DB2 的步骤。您还将学习到一些重要的概念和设计方面的考虑,这些将帮助您快速掌握 SUSE Linux Enterprise 环境中 DPF 的安装。
简介
当一个数据库由两个或更多数据库分区组成,并且每个数据库分区存储位于其中的每个表的一部分表数据时,就属于数据库分区的情况。不同分区可以在不同计算机上,也可以在相同的计算机上(即逻辑分区)。在这种类型的数据库中,数据被根据存储位置进行散列,以标识哪个数据库分区将存储数据。一个数据库分区由它自己的数据、索引、配置文件和事务逻辑组成。在更旧版本的 DB2 中,数据库分区被称作节点(node)或数据库节点。但是在本文中我们使用术语分区(partition)。逻辑分区共享它们所在的同一台计算机上的资源。
在分区数据库中,一个表可以分布在一个或多个数据库分区中。分区背后的思想就是将一个表的数据分布在多个分区中,将该表中的一部分行存储在一个分区中,而将其他行存储在其他分区中。数据库管理器(DBM)通过自动地将 SQL 请求分解成子请求,来处理数据的检索和更新。然后,这些子请求就在相应的数据库分区中并行地执行。将表划分到多个分区的这种行为对于用户来说是透明的,这意味着虽然数据在物理上是存储在多个数据库分区上的,但是访问起来就像是在一个地方一样。
图 1 展示了运行在一台机器上的单个分区,这类似于没有使用 DPF:
接下来的两个图展示了 DPF 真正起作用的情况。图 2 说明了 DPF 被用于三台机器上的情况,其中每台机器上有一个分区。
注意这里使用的高速通信互连,这可以是各机器之间使用的一个 TCPIP 网络。接下来的 图 3 展示了同一台机器上的三个分区。这里,分区间的通信是在内存中实现的,而不是通过一个网络(在所有 Linux 平台上,默认情况下 DB2 _FORCE_FCM_BP 是启用的)。
特别要注意,在前面几个图中,对称多处理器(SMP)也可以换成单处理器。但是,在 DPF 环境中 SMP 服务器更为常见。
分区键 由表中的一列或多列组成,用于使用户可以选择如何对他们的数据进行分区。用户可以通过使用数据库分区组和表空间,来确定将表数据分布到哪些数据库分区上。
用户交互通过一个数据库分区,即用于该用户的协调分区(coordinator partition)来进行。协调分区与应用程序运行在同一个数据库分区上,或者,对于远程应用程序,协调分区运行在应用程序所连接的那个数据库分区上。任何数据库分区都可以成为协调分区。
[1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页