Вы находитесь на странице: 1из 8

Oracle8i™ Enterprise Edition

Partitioning Option
Features Overview
February 1999

PRODUCT SUMMARY

The partitioning option is the perfect complement for enhanced data management capabilities
using the Oracle8i Enterprise Edition in online transaction processing, Internet computing, and
data warehouse environments. It is useful for databases of all sizes, from small systems to high-
end Oracle® Parallel Server cluster systems. It provides additional manageability, availability,
and performance to address the challenges of data management at all scales.

PARTITIONING FOR MANAGEABILITY, AVAILABILITY AND PERFORMANCE

Manageability, availability, and performance are all requirements demanded in ever-increasing


proportions. Successful applications exhibit a few common attributes: the amount of data
managed, the criticality of the application to the success of an endeavor, and the demand for new
uses of the application all tend to increase over time. These trends are often accelerated by new
business requirements, as well as improvements in the capacity and cost of technology. As the
data gets larger, and criticality and performance demands increase, the database serving the
application must continue to fulfill these three key requirements. Without them, a successful
application can quickly become an unsuccessful one.

The Partitioning Option for the Oracle8i Enterprise Edition can play a key role in enhancing the
data management environment for applications by adding key capabilities for manageability,
availability and performance for the underlying database tables and indexes.
PARTITIONING FOR MANAGEABILITY

Manageability is improved in many ways. The Partitioning Option allows tables and indexes to
be partitioned into more manageable units, providing administrators with tools that enable a
“divide and conquer” approach to data management, while preserving transparency to
applications.

Partitioning allows tables and indexes to be divided into smaller pieces, focusing operations on
particular portions of tables. It also allows tables and indexes to span tablespaces, and makes it
possible to perform a number of maintenance operations on a per-partition basis, thus dividing the
maintenance process into more manageable chunks.

Choice of Partitioning Method

Range, hash, and composite (range combined with hash) partitioning methods provide data-
dependent (or logical) control over the physical placement of data by defining a partitioning key,
composed of up to sixteen columns, whose value is used to route rows to particular partitions.
Range and composite methods are particularly useful for collecting related ranges of data together
and allowing those logically defined partitions to be managed as a unit of a larger table or index.
Using range or composite partitioning, these logically defined ranges can map directly to relevant
application units, e.g., business periods, regions, departments, companies, or customers. Hash
partitioning can be used to target specific partitioning key values to specific partitions, and also to
spread data evenly amongst partitions, helping provide many of the benefits of partitioning,
without having to establish partitioning ranges. With composite partitioning, both the control of
range partitioning for logically controlling data placement and the flexibility of hash partitioning
for spreading data among partitions are combined.

Flexible Indexing

Indexes on partitioned tables can optionally be partitioned, either with the table, or differently
from the table, or not at all.

Oracle8i Enterprise Edition Partitioning Option 2


February 1999
Flexible Maintenance

The Partitioning Option provides a full suite of maintenance operations that complete the feature
set for manageability. Partitions may be independently loaded, exported, imported, analyzed,
relocated, truncated, and renamed. Index partitions on partitioned tables can be maintained or
reorganized independently of other index partitions. Maintenance operations are provided for
adding partitions, dropping partitions, combining two partitions into one, or splitting one partition
into two. Most of these operations that involve moving data within or between partitions can
optionally use the parallel execution technology of Oracle8i to complete maintenance operations
quickly by fully utilizing available CPU and disk resources. Operations such as INSERT AS
SELECT and CREATE TABLE AS SELECT can also operate on partitioned tables using parallel
technology, creating unprecedented parallel data flows that facilitate database maintenance
operations within a database.

PARTITIONING FOR AVAILABILITY

Maintenance operations on partitioned tables focus on providing partition independence, which is


the ability to complete these operations without affecting application access to unaffected
partitions of a table. Depending on choice of index strategy, full independence for index and
table maintenance operations can also be maintained. With appropriate mapping of partitions to
tablespaces, individual partitions can be backed up and recovered independently from other
partitions of the same table or index. Allowing for load and index maintenance on a per-partition
basis enables operations like data uploads for new business periods or archiving of old periods,
for example, to proceed without affecting online application functionality.

PARTITIONING FOR PERFORMANCE

The Partitioning Option provides a number of performance benefits both by limiting the amount
of data to be examined or operated on, and in parallel execution.

Partition-Aware Optimization

The amount of data operated on by queries or DML on partitioned tables is intelligently reduced by
combining information about how the underlying tables and indexes are partitioned with information

Oracle8i Enterprise Edition Partitioning Option 3


February 1999
from the WHERE clause of a SQL statement. Complex AND and OR conditions that involve
elements of the partitioning key in the WHERE clause are intelligently used to eliminate whole
subsets of partitions from having to be considered. Partition-aware optimization can also dynamically
adjust the set of partitions that need to be considered in the case of repeat executions of the same
SQL statement with varying bind variable values on the partitioning key elements.

Parallel-Aware Query Optimization


The cost-based optimizer factors in parallel execution considerations for execution plans. The
optimizer chooses intelligent heuristic defaults for parallelism based on the number of available
processors. Access path choices (for example, table scan versus index access) take into account
the available parallelism. Index partitions can be scanned in parallel as well.

Parallelism Not Tied To Partitioning


Parallel queries are not linked to partitioning. Both parallel query and partitioning can increase
the parallelism. Multiple scanner processes can be used on single partitions or entire partitioned
tables. Concerns related to skew, or creating balanced parallel execution plans on partitioned data
sets of different sizes, are addressed by a unique ability to provide both inter-partition and intra-
partition parallel query execution.

Improved Join Performance


Partitioning can also improve the performance of multitable joins by using a technique known as
partition-wise join, which offers benefits both for normal and parallel execution. Partition-wise
join works by breaking a large join into smaller joins between each pair of related partitions from
the joined tables, completing the overall join in less time. In the case of parallel execution, each
small join can be processed in parallel by a separate query server which minimizes the data
exchange. There are two variants: full partition-wise table join, which requires that both tables
are partitioned the same on the join keys, and the very flexible partial partition-wise join, which
requires only one table to be partitioned on its join keys.

Parallel Execution of All DML


The Partitioning Option also enables DML operations such as UPDATE, DELETE and INSERT AS
SELECT to be executed in parallel on tables on a partition-wise basis.

Oracle8i Enterprise Edition Partitioning Option 4


February 1999
Enhancements for Oracle Parallel Server

When using multiple nodes in an Oracle Parallel Server configuration to perform parallel queries
and parallel DML, processing is designed to minimized data flows between nodes. When
combined with routing of requests or data at the application level, partitioning can also be used to
map logical partitioned data sets to particular nodes to improve scalability, yet the mapping is
dynamic, not static, in that any node can still access any partition, which is a key requirement for
providing high availability.

Very Large Database Support

Oracle8i partitioning lets extremely large tables be defined, loaded, and accessed. Oracle allows
up to 64K partitions to be defined per table, and each partition can reside in any tablespace, with
the size of each partition limited only by available space.

Oracle8i Enterprise Edition Partitioning Option 5


February 1999
KEY PARTITIONING OPTION FEATURES • Join and sort operations on equi-partitioned
tables (two or more tables partitioned
identically on the same keys) are
automatically transformed into partition-
Functionality wise operations by the cost-based
optimizer, improving performance for both
• Both tables and indexes can be partitioned serial and parallel execution
using a choice of key range, hash, or
composite (key range partitioning • The partitioning option also support serial
combined with hash sub-partitioning) and parallel execution of index range scans
methods across partitioned indexes
• Indexes can be partitioned with
corresponding table data (LOCAL INDEX),
Manageability
or partitioned independently of table data
(GLOBAL INDEX), or even not partitioned
• Storage parameters for each partition can be
at all
individually specified, allowing tables and
• Indexes can be created and maintained on indexes to span tablespaces and to have
any set of columns, and need not include distinct space policies
the partitioning key
• If not specified, space management policy
• Support for object-relational and LOB for individual partitions can be defaulted
column types, including partitioning of either from the table or index definition, or
LOB column storage from the defaults set for the tablespace in
which a table or index partition resides
• Support for range-partitioned, index-
organized tables • A full suite of partition maintenance
operations are provided including:
• The partitioning option also enables parallel
execution of DML operations such as − ADD PARTITION
UPDATE, DELETE, INSERT AS
SELECT, and CREATE TABLE AS − DROP PARTITION
SELECT
− MOVE PARTITION

Performance − RENAME PARTITION

• The cost-based optimizer is both fully − SPLIT PARTITION


partition-aware and capable of producing
optimal parallel execution plans for queries − MERGE PARTITIONS
and DML on partitioned tables
• Using range and composite partitioning in − COALESCE PARTITION
combination with predicates in WHERE
clauses, a key performance optimization, − TRUNCATE PARTITION
partition elimination, can provide
remarkable performance improvements by − ANALYZE PARTITION
intelligently removing from consideration
whole subsets of partitions that need not be
examined by queries or DML operations.
Equality predicates on hash partitioned
tables also yield the performance benefits
of partition elimination

Oracle8i Enterprise Edition Partitioning Option 6


February 1999
• All partition maintenance operations that KEY ORACLE8i ENHANCEMENTS
involve moving data include the ability to
parallelize the operations to minimize
maintenance windows, and to allow online
access to partitions not affected by FUNCTIONALITY
the operations
• New partitioning methods: hash and
• Many of the maintenance operations, such composite (key range + hash)
as MOVE, SPLIT, MERGE, etc., can have
the beneficial side effect of physically • Support for partitioned tables with LOB
reorganizing individual partitions, thus columns, including automated
allowing administrators to perform database partitioning of LOB and LOB index
management one partition at a time storage
• Using the EXCHANGE operation, a table
and its indexes can be converted in a • Support for object-relational types in
partition of a partitioned table, and vice- partitioned tables
versa, with no copying of data. The
EXHANGE operation can optionally verify • Index-organized tables can now be
that partitioning constraints are met for data partitioned using key-range partitioning
exchanged into a partitioned table.
• Individual partitions can reside in read-only
tablespaces (including tablespaces stored on PERFORMANCE
jukebox or other WORM/HSM media)
while other partitions reside in read/write • Partition-wise parallel join and sort
tablespaces, reducing backup/recovery load performance optimizations for equi-
and ensuring integrity of and low-cost for partitioned tables using any partitioning
archived data. method

• Export and Import include support for • WHERE clause predicates that include
handling individual partitions. disjunction (OR) can intelligently
®
• SQL*Loader can load individual partitions improve partition elimination, in
or entire partitioned tables in both combination with conjunctive (AND)
conventional and direct-path. Individual predicates
partitions can be loaded in parallel, and
multiple partitions can be parallel loaded
concurrently. MANAGEABILITY
• Individual partitions can be independently
recovered in combination with ability to • Updates that cause a row to move from
recover individual tablespaces. one partition to another can be
selectively allowed or disallowed on a
per-table basis

• A new partition merge operation now


complements the partition split
operation, allowing two partitions to be
combined into one, optionally using
parallel technology for fastest data
movement

Oracle8i Enterprise Edition Partitioning Option 7


February 1999
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.

Worldwide Inquiries:
+1.650.506.7000
Fax +1.650.506.7200
http://www.oracle.com/

Copyright © Oracle Corporation 1999


All Rights Reserved

This document is provided for informational purposes only, and


the information herein is subject to change without notice.
Please report any errors herein to Oracle Corporation. Oracle
Corporation does not provide any warranties covering and
specifically disclaims any liability in connection with this
document.

Oracle and SQL*Loader are registered and Oracle8i are


trademarks of Oracle Corporation.

All other company and product names mentioned are used for
identification purposes only and may be trademarks of their
respective owners.

Вам также может понравиться