Database Partitioning Feature (DPF)

The Database Partitioning Feature (DPF) is an optionally licensed component of DB2 UDB v8.2 Enterprise Server Edition (ESE) for Linux, UNIX, and Windows. The DPF provides the ability to partition a database within a single server or across a cluster of servers providing scalability that can support very large databases, complex workloads, and parallelism for database administration tasks.

The basic idea behind the Database Partitioning Feature (DPF) implementation is to take a database that is simply to large to manage by a single database server process and divide it into smaller more manageable parts called partitions. A single database can be partitioned into multiple physical partitions (MPP) across a cluster of servers and/or multiple logical partitions (MLP) within a single server. Each database partition is managed by a process called a partitioned database server. The partitioned database resides within a partitioned DB2 instance consisting of one or more partitioned database servers.

The Database Partitioning Feature (DPF) is an implementation of what is generally referred to as a shared -nothing architecture. Many years ago before the availability of systems with multiple processors, gigabytes of memory, and storage area networks it was easy to identify a shared-nothing architecture because the hardware that supported the DPF was not shared. However with servers now available in symmetrical multi processing (SMP) configuration of 8, 16, 32, and 64 processors with terabytes of memory it is more common to find the DPF running multiple logical partitions (MLP) configurations. None-the-less the DPF still implements a shared-nothing architecture simply because each partitioned database server, logical or physical, manages one and only one partition of the database.

db2_udb_dpf_architectures

The shared nothing architecture of the Database Partitioning Feature (DPF) reduces contention for system resources and provides near linear scalability by dividing very large databases into smaller part (partitions) that are individually managed by each partitioned database server. For example, instead of one database server backing up a   terabyte database a cluster of two partitioned database servers can perform the backup in approximately half the time. Consequently a cluster of four partitioned database servers can perform the backup in approximately a quarter of the time simply because each partitioned database server is only responsible for managing a specific portion of the entire database. When a database query is executed on a partitioned database server, the query is sent from the coordinating node to all other partitioned database server in the cluster. Each partitioned database server executes the query and returns a subset of data to the coordinating node which in turn merges and provides the final query result set back to the client.

db2_udb_dpf

The Database Partitioning Feature (DPF) provides a great deal of flexibility in terms of how databases can be partitioned. For example on a single large server with 32 processors and 32 GB of memory, the DPF can scale-up with eight multiple logical partitions (MLP) to take advantage of both the large number of processors as well as the large memory. On the other hand, in a blade server environment the DPF can scale-out with multiple physical partitions (MPP) on an 8 node cluster of 4-way blades. And in a commodity server environment the DPF can both scale-up with two MLP per 8-way server and scale-out on a cluster of four 8 -way commodity servers. In all three scenarios described above each partitioned database server will run on the same amount of system resources (4 processors and 4 GB of memory).

The Database Partitioned Feature provides for near linear scalability not only for supporting complex work loads but for almost all aspects of database administration as well. For example, loading data into a non -partitioned database although performed with some degree of parallelism will eventually bottle neck on the available system resources. Once the database is partitioned onto two, three, four, or more servers the workload on each individual server is effectively reduced by fifty percent or more depending on the number of servers in the cluster.

Note: Prior to DB2 UDB v8.1 for Linux, UNIX, and Windows the Database Partitioning Feature (DPF) was not simply a convenient optional licensed feature. Instead the functionality of the DPF in prior versions was included in a separate edition of the product called Enterprise Extended Edition (EEE) which required a licensed upgrade from Enterprise Edition (EE) and a complete re-install of the product to obtain the functionality now provided by the DPF. Now customers only need to purchase and register the optional DPF license to use this functionality.

 

Notices

Copyright © 1998 - 2017 Ten Digit Consulting, LLC | All rights Reserved