|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface LUWPartitionKey
A representation of the model object 'Partition Key'. Data partitioning across multiple partitions DB2 allows great flexibility in spreading data across multiple partitions (nodes) of a partitioned database. Users can choose how to partition their data by declaring partitioning keys, and can determine which and how many partitions their table data can be spread across by selecting the database partition group and table space in which the data should be stored. In addition, a partitioning map (which is updatable) specifies the mapping of partitioning key values to partitions. This makes it possible for flexible workload parallelization across a partitioned database for large tables, while allowing smaller tables to be stored on one or a small number of partitions if the application designer so chooses. Each local partition may have local indexes on the data it stores to provide high performance local data access. A partitioned database supports a partitioned storage model, in which the partitioning key is used to partition table data across a set of database partitions. Index data is also partitioned with its corresponding tables, and stored locally at each partition. Before partitions can be used to store database data, they must be defined to the database manager. Partitions are defined in a file called db2nodes.cfg. The partitioning key for a table in a table space on a partitioned database partition group is specified in the CREATE TABLE statement or the ALTER TABLE statement. If not specified, a partitioning key for a table is created by default from the first column of the primary key. If no primary key is defined, the default partitioning key is the first column defined in that table that has a data type other than a long or a LOB data type. Partitioned tables must have at least one column that is neither a long nor a LOB data type. A table in a table space that is in a single partition database partition group will have a partitioning key only if it is explicitly specified. Hash partitioning is used to place a row in a partition as follows: 1. A hashing algorithm (partitioning function) is applied to all of the columns of the partitioning key, which results in the generation of a partitioning map index value. 2. The partition number at that index value in the partitioning map identifies the partition in which the row is to be stored. DB2 supports partial declustering, which means that a table can be partitioned across a subset of partitions in the system (that is, a database partition group). Tables do not have to be partitioned across all of the partitions in the system. DB2 has the capability of recognizing when data being accessed for a join or a subquery is located at the same partition in the same database partition group. This is known as table collocation. Rows in collocated tables with the same partitioning key values are located on the same partition. DB2 can choose to perform join or subquery processing at the partition in which the data is stored. This can have significant performance advantages. Collocated tables must: - Be in the same database partition group, one that is not being redistributed. (During redistribution, tables in the database partition group may be using different partitioning maps - they are not collocated.) - Have partitioning keys with the same number of columns. - Have the corresponding columns of the partitioning key be partition compatible. - Be in a single partition database partition group defined on the same partition.
The following features are supported:
LUWPackage.getLUWPartitionKey()
Method Summary | |
---|---|
org.eclipse.emf.common.util.EList |
getColumns()
Returns the value of the 'Columns' reference list. |
PartitionMethod |
getPartitionMethod()
Returns the value of the 'Partition Method' attribute. |
LUWStorageTable |
getTable()
Returns the value of the 'Table' container reference. |
void |
setPartitionMethod(PartitionMethod value)
Sets the value of the ' Partition Method ' attribute. |
void |
setTable(LUWStorageTable value)
Sets the value of the ' Table ' container reference. |
Methods inherited from interface org.eclipse.wst.rdb.internal.models.sql.schema.SQLObject |
---|
addEAnnotation, addEAnnotationDetail, getComments, getDependencies, getDescription, getEAnnotation, getEAnnotationDetail, getLabel, getPrivileges, removeEAnnotationDetail, setAnnotationDetail, setDescription, setLabel |
Methods inherited from interface org.eclipse.emf.ecore.sdo.EDataObject |
---|
getInstanceProperties |
Methods inherited from interface commonj.sdo.DataObject |
---|
createDataObject, createDataObject, createDataObject, createDataObject, createDataObject, createDataObject, delete, get, get, get, getBigDecimal, getBigDecimal, getBigDecimal, getBigInteger, getBigInteger, getBigInteger, getBoolean, getBoolean, getBoolean, getByte, getByte, getByte, getBytes, getBytes, getBytes, getChar, getChar, getChar, getContainer, getContainmentProperty, getDataGraph, getDataObject, getDataObject, getDataObject, getDate, getDate, getDate, getDouble, getDouble, getDouble, getFloat, getFloat, getFloat, getInt, getInt, getInt, getList, getList, getList, getLong, getLong, getLong, getSequence, getSequence, getSequence, getShort, getShort, getShort, getString, getString, getString, getType, isSet, isSet, isSet, set, set, set, setBigDecimal, setBigDecimal, setBigDecimal, setBigInteger, setBigInteger, setBigInteger, setBoolean, setBoolean, setBoolean, setByte, setByte, setByte, setBytes, setBytes, setBytes, setChar, setChar, setChar, setDataObject, setDataObject, setDataObject, setDate, setDate, setDate, setDouble, setDouble, setDouble, setFloat, setFloat, setFloat, setInt, setInt, setInt, setList, setList, setList, setLong, setLong, setLong, setShort, setShort, setShort, setString, setString, setString, unset, unset, unset |
Methods inherited from interface org.eclipse.emf.ecore.ENamedElement |
---|
getName, setName |
Methods inherited from interface org.eclipse.emf.ecore.EModelElement |
---|
getEAnnotations |
Method Detail |
---|
PartitionMethod getPartitionMethod()
PartitionMethod
.
If the meaning of the 'Partition Method' attribute isn't clear, there really should be more of a description here...
PartitionMethod
,
setPartitionMethod(PartitionMethod)
,
LUWPackage.getLUWPartitionKey_PartitionMethod()
void setPartitionMethod(PartitionMethod value)
Partition Method
' attribute.
value
- the new value of the 'Partition Method' attribute.PartitionMethod
,
getPartitionMethod()
LUWStorageTable getTable()
Partition Key
'.
If the meaning of the 'Table' container reference isn't clear, there really should be more of a description here...
setTable(LUWStorageTable)
,
LUWPackage.getLUWPartitionKey_Table()
,
LUWStorageTable.getPartitionKey()
void setTable(LUWStorageTable value)
Table
' container reference.
value
- the new value of the 'Table' container reference.getTable()
org.eclipse.emf.common.util.EList getColumns()
Column
.
If the meaning of the 'Columns' reference list isn't clear, there really should be more of a description here...
LUWPackage.getLUWPartitionKey_Columns()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |