The Optim solutions meter all archive and extract requests
and record the amount of data processed. These metering records are
produced automatically and stored with the source file.
The byte count of the internal, uncompressed representation
of the data is accumulated. Metering details for specific data types
follow:
String Data Types
| Data Type |
Metering Description |
Sample |
Length Descriptor |
Accumulated Byte Count and Explanation |
| Fixed Length Character |
length of the defined column is accumulated |
CHAR(24) |
N/A |
24 - length of defined fixed length column |
| Variable Length Character |
length of data as provided in the length descriptor, plus
max size of the field required to store the length descriptor is accumulated |
VARCHAR(10) |
6 |
7 - value of length descriptor plus 1 byte for field required
to store the length descriptor (assuming a max value for the length
descriptor of 255) |
| Fixed Length National Character |
length (total bytes, not characters) of the defined column
is accumulated |
NCHAR(24) |
N/A |
48 - assuming a default length of 2 bytes per character in
this example, a total length of 48 for the defined fixed column is
accumulated |
| Variable Length National Character |
length of data (total bytes, not characters) as provided
in the length descriptor, plus max size of the field required to store
the length descriptor is accumulated. |
NVARCHAR(10) |
6 |
13 - assuming a default length of 2 bytes per character in
this example, the value of the length descriptor (in bytes) multiplied
by 2 plus 1 byte for the field required to store the length descriptor
(assuming a max value for the length descriptor of 4000) is accumulated |
Numeric data types
The length of the internal
representation of data is accumulated (System/390 format and IEEE
floating-point format).
| Data Type |
Metering Description |
Sample |
Length Descriptor |
Accumulated Byte Count and Explanation |
| Small Integer |
2 bytes - length of the internal representation |
SMALLINT |
N/A |
2 - internal representation is 2 bytes |
| Integer |
4 bytes - length of the internal representation |
INTEGER |
N/A |
4 - internal representation is 4 bytes |
| Big Integer |
8 bytes - length of the internal representation |
BIGINT |
N/A |
8 - internal representation is 8 bytes |
| Single Precision Floating-point or REAL |
4 bytes - length of the internal representation |
FLOAT(21) |
N/A |
4 - internal representation of floating-point of precision
21 is 4 bytes |
| Double Precision Floating-point |
8 bytes - length of the internal representation |
FLOAT(53) |
N/A |
8 - internal representation of floating-point of precision
53 is 8 bytes |
| Decimal or Numeric |
INTEGER(p/2) +1, where p is
the precision |
DECIMAL(31,0) |
N/A |
16 - internal representation of decimal with 31 digits of
precision is 16 bytes (31/2) + 1 = 16 |
| Decimal Floating-point |
Internal representation of decimal floating point with 16
digits of precision is 8 bytes. Internal representation of decimal
floating point with 34 digits of precision is 16 bytes. |
DECFLOAT(16) |
N/A |
8 - internal representation of decimal floating point with
16 digits of precision is 8 bytes |
Date, Time, Timestamp data types
| Data Type |
Metering Description |
Sample |
Length Descriptor |
Accumulated Byte Count and Explanation |
| Date |
4 bytes - length of the internal representation |
DATE |
N/A |
4 - internal representation is 4 bytes |
| Time |
3 bytes - length of the internal representation |
TIME |
N/A |
3 - internal representation is 3 bytes |
| Timestamp |
INTEGER( (p+1) /2) + 7 where p is
the precision |
TIMESTAMP(6) |
N/A |
10 - ((6+1)/2)+7 = 10 |
| Timestamp with Time Zone |
INTEGER( (p+1) /2) + 10 where p is
the precision |
TIMESTAMP(6) WITH TIME ZONE |
N/A |
13 - ((6+1)/2)+10 = 13 |
XML Data Type
| Data Type |
Metering Description |
Sample |
Length Descriptor |
Accumulated Byte Count and Explanation |
| XML data |
length of the internal representation of XML data is accumulated |
XML |
2000 |
2000 - internal representation of XML data |
Large object data types
| Data Type |
Metering Description |
Sample |
Length Descriptor |
Accumulated Byte Count and Explanation |
| Character Large Objects |
length of data as provided in the length descriptor, plus
4 bytes to store the length descriptor is accumulated |
CLOB(1000000) |
500000 |
500004 - value of length descriptor plus 4 bytes for size
of length descriptor |
| Binary Large Objects |
length of data as provided in the length descriptor, plus
4 bytes to store the length descriptor is accumulated |
BLOB(1000000) |
500000 |
500004 - value of length descriptor plus 4 bytes for size
of length descriptor |
DB2 Data Types
For MIXED data, all Shift-Out/Shift-In
characters are included in byte accumulation. Highlighted in this
table are unique data types for DB2 or common data types that are
accumulated differently for DB2 due to a different representation
of data as provided to Optim.
| Data Type |
Metering Description |
Sample |
Length Descriptor |
Accumulated Byte Count and Explanation |
| Fixed Length Graphic Strings |
total number of bytes for the defined column is accumulated |
GRAPHIC(4) |
N/A |
8 - GRAPHIC(4) indicates 4 double-byte characters, therefore
a total of 8 bytes is accumulated |
| Variable Length Graphic Strings |
length of data as provided in the length descriptor multiplied
by 2, plus 1 byte for the length descriptor is accumulated |
VARGRAPHIC(10) |
6 |
13 - value of length descriptor (number of double-byte characters)
multiplied by 2 plus 1 byte for size of length descriptor |
| Double-byte Character Large Objects |
length of data as provided in the length descriptor multiplied
by 2, plus 4 bytes to store the length descriptor is accumulated |
DBCLOB(1000000) |
500000 |
1000004 - value of length descriptor (number of double-byte
characters) multiplied by 2 plus 4 bytes for size of length descriptor |
| ROWID |
17 bytes - length of the internal representation |
ROWID |
N/A |
The number of bytes being processed for a ROWID value, plus 1 for the length of the length
descriptor. |
IMS, VSAM, Sequential Table Data
For VSAM,
Sequential, and IMS tables, bytes per column are accumulated according
to the LENGTH value defined in the legacy table. If the field is
defined with an Occurs clause, the LENGTH value multiplied by the
number of Occurs is accumulated. Highlighted in this table are unique
data types for legacy tables or common data types that are accumulated
differently for VSAM, Sequential, and IMS data due to a different
representation of data as provided to Optim.
| Data Type |
Metering Description |
Sample |
Length Descriptor |
Accumulated Byte Count and Explanation |
| Fixed Length Graphic Strings |
total number of bytes for the defined column is accumulated |
TYPE GRAPH LENGTH 4 |
N/A |
8 - TYPE GRAPH LENGTH 4 indicates 4 double-byte characters,
therefore a total of 8 bytes is accumulated |
| Variable Length Graphic Strings |
length of data as provided in the length descriptor multiplied
by 2, plus 2 bytes for the length descriptor is accumulated |
TYPE VARGRAPH LENGTH 10 |
6 |
14 - value of length descriptor (number of double-byte characters)
multiplied by 2 plus 2 bytes for size of length descriptor |
| Variable Length Character |
length of data as provided in the length descriptor, plus
2 bytes for the length descriptor is accumulated |
TYPE VCH LENGTH 8 |
2 |
4 - value of length descriptor plus 2 bytes for the size
of length descriptor |
IMS, VSAM, Sequential - Numeric Data
| Data Type |
Metering Description |
Sample |
Length Descriptor |
Accumulated Byte Count and Explanation |
| Binary |
total number of bytes specified in the LENGTH field of the
legacy table definition |
TYPE SHORT LENGTH 2 |
N/A |
2 - a legacy table definition with TYPE BIN accumulates a
length of 2 |
| Other Numeric |
total number of bytes specified in the LENGTH field of the
legacy table definition |
TYPE LTTYPE_NUM LENGTH 10 |
N/A |
10 - value in the length field is accumulated |
IMS, VSAM, Sequential - Date, Time, Timestamp Data
| Data Type |
Metering Description |
Sample |
Length Descriptor |
Accumulated Byte Count and Explanation |
| Date |
10 bytes - length of the character representation of DATE
as provided to Optim |
TYPE DATE LENGTH 10 |
N/A |
10 - character representation of DATE data type as provided
in legacy table is 10 bytes |
| Time |
8 bytes - length of the character representation of TIME
as provided to Optim |
TYPE TIME LENGTH 8 |
N/A |
8 - character representation of TIME data type as provided
in legacy table is 8 bytes |
| Timestamp |
19 - 32 bytes - length of the character representation of
TIMESTAMP as provided to Optim |
TYPE TIMESTAMP PRECISION 26 LENGTH 26 |
N/A |
26 - character representation of this TIMESTAMP data type
as provided in legacy table is 26 bytes |
| Timestamp with Time Zone |
25 - 38 bytes - length of the character representation of
TIMESTAMP_Z as provided |
TYPE TIMESTAMP_Z PRECISION 30 LENGTH 30 |
N/A |
30 - character representation of this TIMESTAMP with TIME
ZONE data type as provided in legacy table is 30 bytes |
IMS, VSAM, Sequential - Miscellaneous Data Types
| Data Type |
Metering Description |
Sample |
Length Descriptor |
Accumulated Byte Count and Explanation |
| Other PL/I field types |
total number of bytes specified in the LENGTH field of the
legacy table definition |
TYPE LTTYPE_OTHER LENGTH 10 OCCURSFROM 3 OCCURSTO 3 |
N/A |
30 - value of the length field multiplied by the OCCURS value
is accumulated |
| Group fields |
no additional bytes are accumulated for group fields |
LTTYPE_GROUP LENGTH 20 |
N/A |
0 - no additional bytes are accumulated for group fields,
as Optim will accumulate each of the elements individually |
Sample Report
The following archive process
report includes metering information. A portion of the report is
shown. The amount of data processed by this request is displayed
as 1,000,000,383,836 bytes, followed by gigabyte and terabyte values
enclosed in parentheses.
