Diretrizes para incluir suporte para compactação de dados de colunas
É possível ativar a compactação de dados para colunas novas e existentes de tabelas Padrão, Customizadas ou Hang-off. A compactação de dados permite uma redução no tamanho para tabelas quando implementadas
Ativando a compactação de dados
É possível ativar a compactação de dados usando os métodos de customização ou de configuração
- Para colunas customizadas, é possível ativar a compactação de dados incluindo CompressionSupported="true" e UseCompression="true" no XML da entidade.
- Para colunas existentes em uma tabela padrão, é possível ativar a compactação de dados substituindo o valor do atributo
UseCompression.Nota: é possível ativar a compactação de dados apenas para colunas existentes que possuem o atributoCompressionSupportedconfigurado como True... Para visualizar a lista de colunas de tabelas padrão que estão disponíveis para compactação, consulte Tabela 1.
- A compactação pode ser ativada configurando as seguintes propriedades de compactação para que os dados da coluna possam ser compactados a qualquer momento sem a necessidade de personalizar, reconstruir e reimplantar Sterling™ Order Management System.
db.force.compression.tablesUsando propriedades de compactação forçada, é possível configurar colunas suportadas por compactação para compactar dados quando o tamanho atingir o limite. Configure esta propriedade para especificar os nomes de tabelas aos quais as colunas a serem compactados pertencem Para cada uma das tabelas especificadas na propriedade, construa outra propriedade como
db.force.compression.<table name>.columnspara configurar os nomes de colunas para ativar a compactaçãoNota: Somente as tabelas que suportam as colunas de compactação podem ser configuradas como uma tabela de compactação forçada Se as colunas a serem compactadas estiverem em várias tabelas, separe cada nome de tabela por vírguladb.force.compression.<table name>.columnsPara ativar a compactação de dados, para cada nome de tabela especificado em
db.force.compression.tables, use a propriedadedb.force.compression.<table name>.columnspara construir propriedades e configurar os nomes de colunas das respectivas tabelas.. Não especifique uma tabela para compactação, a menos que deseje compactar uma coluna nessa tabela. Se tabelas de compactação forçada forem especificadas na propriedade, para cada uma das tabelas, será obrigatório fornecer nomes de colunas, conforme mostrado no exemplo a seguir.Exemplo: Para compactar a coluna AUDIT_XML da tabela YFS_ORDER_AUDIT_DETAIL, configure as propriedades como:db.force.compression.tables=YFS_ORDER_AUDIT_DETAILdb.force.compression.YFS_ORDER_AUDIT_DETAIL.columns=AUDIT_XML
Quando várias colunas de uma tabela tiverem que ser compactadas, separe cada coluna por uma vírgula
- É possível configurar a propriedade
db.force.compression.history.recordscomo true para ativar a compactação dos dados em todas as colunas suportadas de compactação ao gravar dados em tabelas de históricos A propriedade assegura que os dados gravados em tabelas de históricos sejam compactadas mesmo se a compactação não estiver ativada para as colunas suportadas de compactação na tabela de transações. Por padrão, a propriedade é considerada comofalse
Considerações de compactação de dados
- A compactação de dados deve ser usada apenas para colunas que contêm uma grande quantidade de dados de texto que geralmente não são consultados diretamente, como registros de auditoria, rastreio de pilha de erros e dados de modelo XML. A natureza desses registros pode usar uma quantia significativa de espaço dentro do banco de dados
- As colunas que usam CompressionSupported="true" não são compatíveis com operações de consulta de APIs de lista. Isso pode ser substituído pela configuração do atributo QueryAllowed para True no XML da entidade.
- Por padrão, as colunas que usam CompressionSupported="true" não podem ser usadas como parte de um índice ou restrição exclusiva. Isso pode ser substituído pela configuração do atributo AllowCompressedColumns como True no elemento de índice no XML da entidade.
- Colunas de Chave Primária não podem ser marcadas como colunas compactáveis.
- A compactação de dados deve ser ativada apenas se o tamanho máximo da coluna for> = 500 bytes... Qualquer coluna marcada para compactação de dados com menos de 500 bytes resulta em avisos.
- Por padrão, a compactação de dados é feita usando o algoritmo GZip É possível substituir essa lógica de compactação de dados padrão configurando a propriedade yfs.db.compression.class= class name no arquivo customer_overrides.properties . No nome de classe, especifique o nome de sua classe customizada que contém a lógica de compactação de dados
Colunas disponíveis para compactação
| Nome da tabela | Nome da coluna |
|---|---|
| DESPACHO_DE_ERROS_INTEROP | MENSAGEM |
| PLT_CONFIGURAÇÃO_DE_ATIVIDADE | CONFIG_XML |
| PLT_ACTIVITY_CONFIG_METADATA | CONFIG_METADATA_XML |
| PLT_EOF_STATUS | MENSAGEM |
| Dados do arquivo PLT | OBJETO_DE_DADOS |
| YCS_MANIFESTO_UPS_DTL | XML DE ENTRADA |
| YFS_ASYNC_REQ | MENSAGEM |
| YFS_ASYNC_REQ_ERROR | MENSAGEM DE ERRO |
| Auditoria YFS | AUDIT_XML |
| YFS_BATCH | REQ_BATCH_COMPLETION_XML |
| YFS_CATÁLOGO_AUDITORIA_EM_MASSA | ALTERAR_XML |
| YFS_EXPORT | MENSAGEM |
| YFS_GRÁFICO_UI | GRÁFICO_XML |
| YFS_HM_LIMIARES | INFORMAÇÃO_ADICIONAL |
| YFS_IMPORT | MENSAGEM |
| YFS_INBOX | DADOS_ADICIONAIS_DA_CAIXA_DE_ENTRADA |
| YFS_CAIXA DE ENTRADA_NOTAS | OBS_TEXT |
| YFS_CAIXA DE ENTRADA_REFERÊNCIAS | VALOR |
| YFS_INSTRUCTION_DETAIL | TEXTO_DE_INSTRUÇÕES |
| YFS_INVENTORY_ALERTS | INFORMAÇÃO_DE_DISPONIBILIDADE |
| YFS_NOTAS | OBS_TEXT |
| YFS_ORDER_AUDIT_DETAIL | AUDIT_XML |
| YFS_PERSON_INFO | ERRO_TXT |
| YFS_RECURSO | ENTRADA |
| YFS_RECURSO | MODELO |
| ERRO DE REPROCESSAMENTO DE YFS | REFERÊNCIA_DE_ERRO |
| ERRO DE REPROCESSAMENTO DE YFS | ErrorString |
| ERRO DE REPROCESSAMENTO DE YFS | errormessage |
| ERRO DE REPROCESSAMENTO DE YFS | MENSAGEM |
| YFS_SAVED_SEARCH | DADOS DE PESQUISA |
| YFS_SUB_FLOW | CONFIG_XML |
| Auditoria em massa do YPM | CRITÉRIOS_DE_PESQUISA_XML |
Colunas compactadas por padrão
| Nome da tabela | Nome da coluna |
|---|---|
| YFS_ORDER_AUDIT_DETAIL | AUDIT_XML |
| Auditoria YFS | AUDIT_XML |
| YFS_EXPORT | MENSAGEM |
| YFS_IMPORT | MENSAGEM |
| ERRO DE REPROCESSAMENTO DE YFS | MENSAGEM |
| DESPACHO_DE_ERROS_INTEROP | MENSAGEM |
| YFS_INBOX | DADOS_ADICIONAIS_DA_CAIXA_DE_ENTRADA |
Lógica de compactação de dados
Os dados para colunas compactáveis são compactados usando o algoritmo GZip.. É possível substituir essa lógica de compactação de dados padrão e fornecer a sua lógica de compactação customizada implementando a interface SCICustomDataCompressor.
Você deve inserir o nome da classe personalizada que implementa a interface SCICustomDataCompressor na propriedade yfs.db.compression.class name no arquivo customer_overrides.properties.