Linee guida per aggiungere il supporto per la compressione dei dati delle colonne
È possibile abilitare la compressione dei dati per le colonne nuove ed esistenti delle tabelle standard, personalizzate o contrarie. La compressione dei dati consente una riduzione della dimensione delle tabelle quando implementata.
Abilitazione della compressione dati
È possibile abilitare la compressione dei dati utilizzando i metodi di personalizzazione o di configurazione.
- Per le colonne personalizzate, è possibile abilitare la compressione dei dati aggiungendo sia CompressionSupported="true" che UseCompression="true" nell'XML di entità.
- Per le colonne esistenti in una tabella standard, è possibile abilitare la compressione dati sovrascrivendo il valore dell'attributo
UseCompression.Nota: è possibile abilitare la compressione dati solo per le colonne esistenti che hanno l'attributoCompressionSupportedimpostato su True. Per visualizzare l'elenco di colonne delle tabelle standard disponibili per la compressione, consultare Tabella 1.
- La compressione può essere attivata configurando le seguenti proprietà di compressione, in modo che i dati delle colonne possano essere compressi in qualsiasi momento senza dover personalizzare, ricostruire e reimpiegare Sterling™ Order Management System.
db.force.compression.tablesUtilizzando le proprietà di forzatura della compressione, è possibile configurare le colonne supportate dalla compressione per comprimere i dati quando la dimensione raggiunge il limite di soglia. Impostare questa proprietà per specificare i nomi tabella a cui appartengono le colonne da comprimere. Per ciascuna delle tabelle specificata nella proprietà, creare un'altra proprietà come
db.force.compression.<table name>.columnsper impostare i nomi colonna per abilitare la compressione.Nota: solo le tabelle che supportano le colonne di compressione possono essere impostate come tabella di compressione forzata. Se le colonne da comprimere si trovano in più tabelle, separare ciascun nome di tabella con una virgola.db.force.compression.<table name>.columnsPer consentire la compressione dei dati, per ciascuno dei nomi tabella specificati in
db.force.compression.tables, utilizzare la proprietàdb.force.compression.<table name>.columnsper costruire proprietà e impostare i nomi colonna delle rispettive tabelle. Non specificare una tabella per la compressione a meno che non si desideri comprimere una colonna in tale tabella. Se le tabelle di compressione forzata sono specificate nella proprietà, per ciascuna delle tabelle è obbligatorio fornire i nomi delle colonne come mostrato nel seguente esempio.Esempio: per comprimere la colonna AUDIT_XML della tabella YFS_ORDER_AUDIT_DETAIL, impostare le proprietà come:db.force.compression.tables=YFS_ORDER_AUDIT_DETAILdb.force.compression.YFS_ORDER_AUDIT_DETAIL.columns=AUDIT_XML
Quando è necessario comprimere più colonne di una tabella, separare ciascuna colonna con una virgola.
- È possibile impostare la proprietà
db.force.compression.history.recordssu true per abilitare la compressione dei dati su tutte le colonne supportate dalla compressione durante la scrittura dei dati nelle tabelle di cronologia. La proprietà garantisce che i dati scritti nelle tabelle della cronologia vengano compressi anche se la compressione non è abilitata per le colonne supportate dalla compressione nella tabella della transazione. Per impostazione predefinita, la proprietà viene considerata comefalse.
Considerazioni sulla compressione dei dati
- La compressione dati deve essere utilizzata solo per le colonne che contengono una grande quantità di dati di testo generalmente non sottoposti a query direttamente, come i record di controllo, le tracce di stack degli errori e i dati del template XML. La natura di questi record può utilizzare una quantità significativa di spazio all'interno del database.
- Le colonne che utilizzano CompressionSupported="true" non supportano le operazioni di interrogazione delle API degli elenchi. È possibile sovrascriverlo impostando l'attributo QueryAllowed su True nell'XML dell'entità.
- Per impostazione predefinita, le colonne che utilizzano CompressionSupported="true" non possono essere utilizzate come parte di un indice o di un vincolo univoco. Questo può essere sovrascritto impostando l'attributo AllowCompressedColumns a True sull'elemento index nell'XML dell'entità.
- Le colonne della chiave primaria non possono essere contrassegnate come colonne comprimibili.
- La compressione dei dati deve essere abilitata solo se la dimensione massima della colonna è> = 500 byte. Qualsiasi colonna contrassegnata per la compressione dei dati con meno di 500 byte genera avvertenze.
- Per impostazione predefinita, la compressione dei dati viene effettuata utilizzando l'algoritmo GZip. È possibile sovrascrivere questa logica di compressione dati predefinita impostando la proprietà yfs.db.compression.class= class name nel file customer_overrides.properties . Nel campo nome classe, specificare il nome della propria classe personalizzata che contiene la logica di compressione dati.
Colonne disponibili per la compressione
| Nome tabella | Nome colonna |
|---|---|
| INVIO_ERRORE_INTEROP | MESSAGGIO |
| CONFERMA_ATTIVITÀ_PL | CONFERMA_XML |
| METATI_CONFIG_ATTIVITÀ_PLT | CONFIG_METADATI_XML |
| STATO_EO_NON_ATTIVO | MESSAGGIO |
| DATI_FILE_FILE | OGGETTO_DATI |
| YCS_MANIFEST_UPS_DTL | INPUT_XML |
| YFS_ASYNC_REQ | MESSAGGIO |
| YFS_ASYNC_REQ_ERROR | messaggio_errore |
| AMODI_FS_Y | INDIRIZZO_XML |
| YF_BATCH | REQ_BATCH_COMPLETION_XML |
| YFS_CATALOG_MASS_AUDIT | MODIFICA_XML |
| ESPORTA YFS | MESSAGGIO |
| IU YFS_GRAPH_ | X_GRAFICO |
| YFS_HM_SOGLIE | INFO ADDITIONE_INFO |
| IMPORTA FS_Y | MESSAGGIO |
| YFS_INBOX | DATI_ADDN_INBOX |
| YFS_INBOX_NOTES | NOTA_TESTO |
| YFS_INBOX_REFERENCES | Valore |
| DETTAGLI_ISTRUZIONI_YFS | TESTO_ISTRUZIONE |
| AVVISI_DI_INVENTARIO | INFORMAZIONI_DISPONIBILITÀ |
| YFS_NOTES | NOTA_TESTO |
| YFS_ORDINE_DETTAGLIO_AUDIT | INDIRIZZO_XML |
| YFS_PERSON_INFO | TTX_ERR |
| RISORSA_YF | Input |
| RISORSA_YF | MODELLO |
| ERRORE REPROCESSO YFS | RIFERIMENTO ERRORE |
| ERRORE REPROCESSO YFS | ERRORESTRING |
| ERRORE REPROCESSO YFS | MESSAGGIOERRORE |
| ERRORE REPROCESSO YFS | MESSAGGIO |
| SARCH_SAV_YFS | DATI DI RICERCA |
| YFS_FLUSSO_SECONDARIO | CONFERMA_XML |
| MASS_AUDIT YPM | CRITERI_DI_RICERCA_XML |
Colonne compresse per impostazione predefinita
| Nome tabella | Nome colonna |
|---|---|
| YFS_ORDINE_DETTAGLIO_AUDIT | INDIRIZZO_XML |
| AMODI_FS_Y | INDIRIZZO_XML |
| ESPORTA YFS | MESSAGGIO |
| IMPORTA FS_Y | MESSAGGIO |
| ERRORE REPROCESSO YFS | MESSAGGIO |
| INVIO_ERRORE_INTEROP | MESSAGGIO |
| YFS_INBOX | DATI_ADDN_INBOX |
Logica di compressione dati
I dati per le colonne comprimibili vengono compressi utilizzando l'algoritmo GZip. È possibile sovrascrivere questa logica di compressione dei dati predefinita e fornire una logica di compressione personalizzata implementando l'interfaccia SCICustomDataCompressor.
È necessario inserire il nome della classe personalizzata che implementa l'interfaccia SCICustomDataCompressor nella proprietà yfs.db.compression.class name del file customer_overrides.properties.