19.2.13 Memory size required for the execution of the rebalancing utility (pdrbal)

The following table shows the formulas for determining the memory size required for the execution of the rebalancing utility (pdrbal).

Organization of this subsection
(1) For a HiRDB/Single Server
(2) For a HiRDB/Parallel Server

(1) For a HiRDB/Single Server

Formula for determining memory size (KB)
8,756#3 + 536 + 0.02 x number of columns + 0.2 x number of target RDAREAs
+ 1.7 x number of source RDAREAs + 0.26 x number of target RDAREAs x number of indexes
+ (0.09 + [Figure] average index statement file length [Figure][Figure]1,024[Figure]) x number of index statements
+ (0.02 + [Figure] average directory length [Figure][Figure]1,024[Figure]) x (number of idxwork statements + number of sort statements)
+ [Figure] (length of control information file + length of execution results file) [Figure] 1,024[Figure]
+ 0.05 x number of columns + 0.05 x number of RDAREAs + 0.15 x number of indexes
+ 0.05 x number of index storage RDAREAs
+ 550 x 1,024 + size of work file for sorting#1
-n option specified:
+ page length of RDAREA#2 x number of batch input/output buffer sectors x y
Applicable table containing LOB columns:
+ 64 + 0.01 x number of LOB columns + 0.18 x number of target RDAREAs
+ 0.09 x number of source RDAREAs + 0.08 x number of LOB storage RDAREAs
When the target table contains BINARY columns:
+ 33 x (number of BINARY columns x number of target RDAREAs x number of source RDAREAs)
+ buffer length used for BINARY columns#5
Applicable table containing an abstract data type provided by plug-in:
+ 40 + (0.27 + 2 x length of abstract data type) x number of abstract data-type columns
+ 0.3 x number of unld_func statements
+ (128 + 0.11 x number of LOB attributes + 0.1 x number of functions specifying unld_func
+ 0.07 x number of abstract data type attributes) x number of abstract data-type columns
+ (33 x number of BINARY attributes x number of target RDAREAs x number of source RDAREAs) x 2
+ 0.01 x number of plug-in indexes + 0.19 x number of unld_func statements
+ ([Figure]average length of unld_func statements [Figure] 1,024[Figure] x number of unld_func statements)
+ ([Figure]average length of reld_func statements [Figure] 1,024[Figure] x number of reld_func statements)
+ number of abstract data-type columns x 1 + (number of LOB attributes x 0.05) x number of RDAREAs
+ number of data type plug-ins x 10 + number of plug-in indexes x 10
+ memory required for plug-ins
When the specified index creation method is the batch index creation mode or the index information output mode and the following condition is satisfied:
Number of table partitions x number of index definitions > maximum number of processes that can be open - 576 + 2,048
When there are compressed columns:
+ split compression size#4 x z + RDAREA's page length#2
y: Use one of the following values:
  • When the rebalancing facility is used with a FIX hash-partitioned table
    ([Figure]1,024 [Figure] number of storage RDAREAs for the entire table[Figure]) x number of table storage RDAREAs in the corresponding server
  • Other than the above
    1
z: Use one of the following values, as applicable:
  • Exclusive mode (-k exclusive): 2
  • Shared mode (-k share): 1
#1: Add this value during batch index creation (-ic specified or omitted).
#2: If the page length varies from one RDAREA to another for a row-partitioned table, use the longest page length for this calculation.
#3: For the 64-bit mode, the value is 14,272.
#4: Use the largest value among all compressed columns for the split compression size.
#5: Use one of the following values, as applicable, for the buffer length used for BINARY columns:
  • Exclusive mode
    0
  • Shared mode
    n
    [Figure](definition length i)
    i = 1
    n: Number of BINARY columns

(2) For a HiRDB/Parallel Server

ConditionFormula for determining memory size (KB)
MGR1,498#3 + 2 + 0.05 x number of columns + 0.05 x number of RDAREAs + 0.15 x number of indexes
+ 0.05 x number of index storage RDAREAs
+ (0.09 + [Figure]average index statement file length [Figure] 1,024[Figure]) x number of index statements)
+ (0.02 + [Figure]average directory length [Figure] 1,024[Figure]) x (number of idxwork statements + number of sort statements)
+ [Figure] (length of control information file + length of execution results file) [Figure] 1,024[Figure]
Applicable table containing LOB columns:
+ 0.08 x number of LOB storage RDAREAs
Applicable table containing an abstract data type provided by plug-in:
+ 0.19 x number of unld_func statements
+ ([Figure]average length of unld_func statement [Figure] 1,024[Figure] x number of unld_func statements)
+ ([Figure]average length of reld_func statement [Figure] 1,024[Figure] x number of reld_func statements)
DS1,455#4 + 32 + 0.33 x number of target BESs + 0.3 x number of source BESs
+ 0.2 x number of target RDAREAs + 0.22 x number of source RDAREAs + 0.34 x number of FESs
+ (0.09 + [Figure]average index statement file length [Figure] 1,024[Figure]) x number of index statements
+ (0.02 + [Figure]average directory length [Figure] 1,024[Figure]) x (number of idxwork statements + number of sort statements) + 0.05 x number of columns + 0.05 x number of RDAREAs + 0.15 x number of indexes
+ 0.05 x number of index storage RDAREAs
Applicable table containing LOB columns:
+ 0.08 x number of LOB storage RDAREAs
When the target table contain BINARY columns:
+ 33 x (number of BINARY columns x number of target RDAREAs x number of source RDAREAs)
Applicable table containing an abstract data type provided by plug-in:
+ 0.01 x number of target BESs + 0.19 x number of unld_func statements
+ ([Figure]average length of unld_func statements [Figure][Figure]1,024[Figure] x number of unld_func statements)
+ ([Figure]average length of reld_func statements [Figure][Figure]1,024[Figure] x number of reld_func statements)
+ number of abstract data type columns x 1 + (number of LOB attributes x 0.05) x number of RDAREAs
+ number of data type plug-ins x 10 + number of plug-in indexes x 10
BES6,601#5 + 50 + (517 + 0.01 x number of columns) x number of target BESs
+ (33 + 0.01 x number of columns) x number of source BESs + 0.2 x number of target RDAREAs
+ 1.7 x number of source RDAREAs + 0.01 x number of columns
+ 0.26 x number of target RDAREAs x number of indexes
+ (0.09 + [Figure]average index statement file length [Figure] 1,024[Figure]) x number of index statements
+ (0.02 + [Figure]average directory length [Figure] 1,024[Figure]) x (number of idxwork statements + number of sort statements)
+ 0.05 x number of columns + 0.05 x number of RDAREAs + 0.15 x number of indexes
+ 0.05 x number of index storage RDAREAs
+ 550 x 1,024 + size of work file for sorting#1
-n option specified:
+ page length of RDAREA#2 x number of batch input/output buffer sectors x y
Applicable table containing LOB columns:
+ 32 + 0.01 x number of LOB columns + (32 + 0.01 x number of LOB columns) x number of target BESs
+ 0.18 x number of target RDAREAs + 0.1 x number of source RDAREAs
+ 0.08 x number of LOB storage RDAREAs
When the target table contain BINARY columns:
+ 33 x (number of BINARY columns x number of target RDAREAs x number of source RDAREAs)
+ buffer length used for BINARY columns#7
When the target table contains abstract data types provided by plug-ins:
+ 40 + (0.27 + 2 x length of abstract data type) x number of abstract data-type columns
+ 0.3 x number of unld_func statements
+ {(64 + 0.05 x number of LOB attributes) x number of abstract data-type columns} x number or target BESs
+ {(64 + 0.01 x number of functions specifying unld_func + 0.07 x number of abstract data type attributes
+ 0.05 x number of LOB attributes) x number of abstract data-type columns} x number of source BESs
+ (33 x number of BINARY attributes x number of target RDAREAs x number of source RDAREAs) x 2
+ 0.01 x number of plug-in indexes + 0.19 x number of unld_func statements
+ ([Figure]average length of unld_func statements [Figure] 1,024[Figure] x number of unld_func statements)
+ ([Figure]average length of reld_func statements [Figure] 1,024[Figure] x number of reld_func statements)
+ number of abstract data-type columns x 1 + (number of LOB attributes x 0.05) x number of RDAREAs
+ number of data type plug-ins x 10 + number of plug-in indexes x 10
+ memory required for plug-ins
When the specified index creation method is the batch index creation mode or the index information output mode and the following condition is satisfied:
Number of table partitions x number of index definitions > maximum number of processes that can be open - 576 + 2,048
When there are compressed columns:
+ split compression size#6 x z + RDAREA's page length#2
y: Use one of the following values:
  • When the rebalancing facility is used for FIX hash partitioning tables
    ([Figure]1,024 [Figure] number of storage RDAREAs for the entire table[Figure]) x number of table storage RDAREAs in the corresponding server
  • Other than the above
z: Use one of the following values, as applicable:
  • Exclusive mode (-k exclusive): 2
  • Shared mode (-k share): 1
#1: Add this value during batch index creation (-ic specified or omitted).
#2: If the page length varies from one RDAREA to another for a row-partitioned table, use the longest page length for this calculation.
#3: For the 64-bit mode, the value is 4,660.
#4: For the 64-bit mode, the value is 15,830.
#5: For the 64-bit mode, the value is 11,804.
#6: Use the largest value among all compressed columns for the split compression size.
#7: Use one of the following values, as applicable, for the buffer length used for BINARY columns:
  • Exclusive mode
    m
    ([Figure](definition length i)
    i = 1
    n
    + [Figure](definition length i x 9)) x number of target BESs
    i = 1
    m: Number of BINARY columns for which the compression specification is not specified
    n: Number of BINARY columns for which the compression specification is specified
  • Shared mode
    n
    [Figure](definition length i) x number of target BESs
    i = 1
    n: Number of BINARY columns