PGB
- PBR
In IBM DB2 for z/OS, partitioning is a technique used to
divide a table into smaller, more manageable pieces called partitions. There
are two main types of partitioning methods: partition by growth and partition
by range.
Partition by growth (also known as "system-period
temporal" or "SPT") is a type of partitioning that automatically
creates new partitions as the data in the table grows. This method is typically
used for large tables that are subject to high levels of insert activity and
are expected to grow over time. With partition by growth, new partitions are
created based on predefined thresholds, such as a maximum size or number of
rows.
Partition by range (also known as "partitioned
tables") is a type of partitioning that divides a table based on a
specific column or set of columns. This method is typically used for large
tables that need to be queried or searched based on a specific value or range
of values. With partition by range, the table is divided into smaller
partitions based on the values in the partitioning column(s), and each
partition is assigned a range of values.
Partition by growth is used for tables that are subject to
high levels of insert activity and are expected to grow over time, while
partition by range is used for tables that need to be queried or searched based
on specific values or ranges of values. Both methods offer benefits such as
improved query performance, increased data manageability, and better
availability.
Partition by growth is useful when you want to store historical
data and you want to keep the current and historical data separate, for example
keeping the last year data separate from the data older than a year. This way
you can easily retrieve the current data, archive the historical data and
delete it if it's not needed.
Partition by range is useful when you want to access the
data based on a specific range, for example if you have a table that contains
sales data and you want to retrieve the sales data for a specific quarter, you
can use partition by range on the date column of the sales table. This way you
can easily access the data for a specific range of dates without having to scan
the whole table.
Both partition by growth and partition by range have their
own advantages and disadvantages, and the choice between them depends on the
specific use case and the requirements of the application. In general,
partition by growth is more suitable for tables that are subject to high levels
of insert activity and are expected to grow over time, while partition by range
is more suitable for tables that need to be queried or searched based on
specific values or ranges of values.
When implementing partition by growth on DB2 z/OS, it's
important to consider the following:
- The partitioning column or columns, which determine how the table will be partitioned.
- The partitioning scheme, which determines the number and size of the partitions.
- The partitioning granularity, which determines the frequency at which new partitions are created.
- The partitioning history, which determines the number of historical partitions that will be retained.
On the other hand, when implementing partition by range on
DB2 z/OS, it's important to consider the following:
- The partitioning column or columns, which determine how the table will be partitioned.
- The partitioning scheme, which determines the number and size of the partitions.
- The partitioning range, which determines the range of values for each partition.
- The partitioning key, which determines the order of the partitions.
It's important to note that both partition by growth and
partition by range require a good understanding of the data, the access
patterns and the growth patterns of the table. It's also important to consider
the impact of partitioning on the overall performance of the database and the
cost of maintaining the partitions.
Additionally, it is important to test the different
partitioning methods and to monitor the performance of the table after
partitioning to ensure that it meets the desired performance and scalability
requirements.
In summary, partition by growth and partition by range are
both powerful techniques that can help improve the performance, scalability,
and manageability of large DB2 z/OS tables. The choice between the two methods
depends on the specific use case and the requirements of the application. Both
methods require a good understanding of the data and the access patterns, and
both require monitoring and testing to ensure that the desired performance is
achieved.
No comments:
Post a Comment