You can enable data compression for new and existing columns of
Standard, Custom, or Hang-off tables. The data compression allows
a reduction in size for tables when being implemented.
- For newly added columns, you can enable data compression by adding
both CompressionSupported="true" and UseCompression="true" in
the entity XML.
- For existing columns in a standard table, you can enable data
compression by overriding the value of the UseCompression attribute.
Note: You may only enable data compression for existing columns
that have the CompressionSupported attribute set to True.
When adding support for data compression to the columns of standard
tables, keep the following considerations in mind:
- Data Compression should only be used for columns containing a
large amount of text data that is typically not queried directly,
such as audit records, error stack traces, and XML template data.
The nature of these records can consume a significant amount of space
within the database.
- Columns using CompressionSupported="true" do not support query
operations from list APIs. This can be overridden by setting the QueryAllowed
attribute to True in the entity XML.
- By default, columns using CompressionSupported="true" cannot
be used as part of an index or unique constraint. This can be overridden
by setting the AllowCompressedColumns attribute to True on the index
element in the entity XML.
- Primary Key columns cannot be marked as compressible columns.
- Data compression should be enabled only if the maximum size of
the column is >= 500 bytes. Any column marked for data compression
with less than 500 bytes results in warnings.
- By default, the data compression is done using the GZip algorithm.
You can override this default data compression logic by setting the
yfs.db.compression.class=class name property in
the customer_overrides.properties file. In the class name,
specify the name of your custom class which contains the data compression
logic.
Data compression logic
The data for compressible columns is compressed
using the GZip algorithm. You can override this default data compression
logic and provide your custom compression logic by implementing the
SCICustomDataCompressor interface.
You must enter the name of
the custom class that implements the SCICustomDataCompressor interface
in the yfs.db.compression.class=class name property
in the customer_overrides.properties file.