Directrices para añadir soporte para la compresión de datos de columnas
Puede habilitar la compresión de datos para las columnas nuevas y existentes de las tablas estándar, personalizadas y descolgadas. La compresión de datos permite una reducción del tamaño de las tablas cuando se implementa.
Habilitación de la compresión de datos
Puede habilitar la compresión de datos utilizando métodos de personalización o de configuración.
- Para las columnas personalizadas, puede habilitar la compresión de datos añadiendo CompressionSupported="true" y UseCompression="true" en el XML de entidad.
- Para las columnas existentes en una tabla estándar, puede habilitar la compresión de datos alterando temporalmente el valor del atributo
UseCompression.Nota: Puede habilitar la compresión de datos sólo para las columnas existentes que tienen el atributoCompressionSupportedestablecido en True. Para ver la lista de columnas de tablas estándar que están disponibles para la compresión, consulte Tabla 1.
- La compresión se puede activar configurando las siguientes propiedades de compresión para que los datos de columna se puedan comprimir en cualquier momento sin tener que personalizar, reconstruir y volver a implementar Sterling™ Order Management System.
db.force.compression.tablesUtilizando las propiedades de compresión forzada, puede configurar columnas soportadas por compresión para comprimir datos cuando el tamaño alcanza el límite de umbral. Establezca esta propiedad para especificar los nombres de tabla a los que pertenecen las columnas que se van a comprimir. Para cada una de las tablas especificadas en la propiedad, construya otra propiedad como
db.force.compression.<table name>.columnspara establecer los nombres de columna para habilitar la compresión.Nota: Sólo las tablas que dan soporte a las columnas de compresión se pueden establecer como una tabla de compresión forzada. Si las columnas que se van a comprimir están en varias tablas, separe cada nombre de tabla con una coma.db.force.compression.<table name>.columnsPara habilitar la compresión de datos, para cada uno de los nombres de tabla especificados en
db.force.compression.tables, utilice la propiedaddb.force.compression.<table name>.columnspara construir propiedades y establecer los nombres de columna de las tablas respectivas. No especifique una tabla para la compresión a menos que desee comprimir una columna en esa tabla. Si se especifican tablas de compresión forzada en la propiedad, para cada una de las tablas, es obligatorio proporcionar nombres de columna tal como se muestra en el ejemplo siguiente.Ejemplo: Para comprimir la columna AUDIT_XML de la tabla YFS_ORDER_AUDIT_DETAIL, establezca las propiedades como:db.force.compression.tables=YFS_ORDER_AUDIT_DETAILdb.force.compression.YFS_ORDER_AUDIT_DETAIL.columns=AUDIT_XML
Cuando se vayan a comprimir varias columnas de una tabla, separe cada columna con una coma.
- Puede establecer la propiedad
db.force.compression.history.recordsen true para habilitar la compresión de datos en todas las columnas soportadas de compresión al grabar datos en tablas de historial. La propiedad garantiza que los datos que se graban en las tablas de historial se comprimen incluso si la compresión no está habilitada para las columnas soportadas de compresión en la tabla de transacciones. De forma predeterminada, la propiedad se considera comofalse.
Consideraciones sobre la compresión de datos
- La compresión de datos sólo se debe utilizar para columnas que contienen una gran cantidad de datos de texto que normalmente no se consultan directamente, como registros de auditoría, rastreos de pila de errores y datos de plantilla XML. La naturaleza de estos registros puede utilizar una cantidad significativa de espacio dentro de la base de datos.
- Las columnas que utilizan CompressionSupported="true" no admiten operaciones de consulta de API de listas. Esto se puede sustituir estableciendo el atributo QueryAllowed en True en el XML de entidad.
- Por defecto, las columnas que utilizan CompressionSupported="true" no pueden utilizarse como parte de un índice o restricción única. Esto se puede anular estableciendo el atributo AllowCompressedColumns en True en el elemento index del XML de la entidad.
- No se puede marcar como columnas comprimibles las columnas de clave primaria.
- La compresión de datos sólo debe estar habilitada si el tamaño máximo de la columna es > = 500 bytes. Cualquier columna marcada para la compresión de datos con menos de 500 bytes da como resultado avisos.
- De forma predeterminada, la compresión de datos se realiza utilizando el algoritmo GZip. Puede alterar temporalmente esta lógica de compresión de datos predeterminada estableciendo la propiedad yfs.db.compression.class= class name en el archivo customer_overrides.properties . En el nombre de clase, especifique el nombre de la clase personalizada que contiene la lógica de compresión de datos.
Columnas disponibles para compresión
| Nombre de tabla | Nombre de columna |
|---|---|
| ENVIAR_ERROR_INTEROP | Mensaje |
| CONFIGURACIÓN_ACTIVIDAD_PLT | CONFIG_XML |
| METADATOS de PLT_ACTIVITY_CONFIG_METADATA | CONFIG_METADATOS_XML |
| PLT_EOF_STATUS | Mensaje |
| PT_FILE_DATA | OBJETO_FECHA |
| YCS_MANIFIESTO_UPS_DTL | ENTRADA_XML |
| YFS_ASYNC_REQ | Mensaje |
| YFS_ASYNC_REQ_ERROR | MENSAJE_ERROR |
| YFS_AUDITORÍA | XML AUDIT_ |
| YFS_BATCH | REQ_BATCH_COMPLETION_XML |
| YFS_CATÁLOGO_AUDITORÍA_MASIVA | CAMBIO_XML |
| YFS_EXPORT | Mensaje |
| YFS_GRÁFICO_INTERFAZ_USUARIO | XML |
| YFS_HM_UMBRALES | INFORMACIÓN_ADICIONAL |
| YFS_IMPORT | Mensaje |
| YFS_INBOX | INBOX_ADDNL_DATA |
| YFS_INBOX_NOTES | NOTE_TEXT |
| YFS_INBOX_REFERENCES | VALOR |
| YFS_INSTRUCTION_DETAIL | TEXTO_INSTRUCCIÓN |
| YFS_INVENTORY_ALERTS | INFORMACIÓN_DISPONIBILIDAD |
| YFS_NOTES | NOTE_TEXT |
| YFS_ORDER_AUDIT_DETAIL | XML AUDIT_ |
| YFS_PERSON_INFO | ERROR_TXT |
| RECURSOS_YF | ENTRADA |
| RECURSOS_YF | PLANTILLA |
| YFS_REPROCESAR_ERROR | REFERENCIA_ERROR |
| YFS_REPROCESAR_ERROR | CADENA DE ERRORES |
| YFS_REPROCESAR_ERROR | errorMessage |
| YFS_REPROCESAR_ERROR | Mensaje |
| YFS_BÚSQUEDA_GUARDADA | DATOS DE ARCHIVO |
| YFS_SUB_FLUJO | CONFIG_XML |
| YPM_AUDITORÍA MASIVA | CRITERIO_BÚSQUEDA_XML |
Columnas comprimidas de forma predeterminada
| Nombre de tabla | Nombre de columna |
|---|---|
| YFS_ORDER_AUDIT_DETAIL | XML AUDIT_ |
| YFS_AUDITORÍA | XML AUDIT_ |
| YFS_EXPORT | Mensaje |
| YFS_IMPORT | Mensaje |
| YFS_REPROCESAR_ERROR | Mensaje |
| ENVIAR_ERROR_INTEROP | Mensaje |
| YFS_INBOX | INBOX_ADDNL_DATA |
Lógica de compresión de datos
Los datos para columnas comprimibles se comprimen utilizando el algoritmo GZip. Puede sustituir la lógica predeterminada de compresión de datos y proporcionar una lógica de compresión personalizada mediante la implementación de la interfaz SCICustomDataCompressor.
Debe introducir el nombre de la clase personalizada que implementa la interfaz SCICustomDataCompressor en la propiedad yfs.db.compression.class name del archivo customer_overrides.properties.