New Version v4.9.9 - New Configurable Storage Locations For Scenario & Tag Data #429
jongpie
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Core Unlocked Package Changes
Fixed #388 (reported by @rmccu) by providing controls for how scenario & tag data is stored in Nebula Logger's data model. As the data model has grown over the last year or so, using multiple custom objects has made it easier for admins & developers to manage scenario & tag data - however, the data model does not scale well in orgs with large data volumes (LDV) of millions of records because of data skew that can happen for scenarios & tags that are heavily used.
LoggerScenario__c
record can end up with millions of relatedLog__c
andLogEntry__c
recordsLoggerTag__c
record can end up with millions of relatedLogEntryTag__c
junction records (that linkLoggerTag__c
toLogEntry__c
)This type of data skew can lead to row-lock errors, increased runtimes for deleting data via
LogBatchPurger
, and other types of headaches.To help avoid these kinds of issues, orgs with large data volumes can now choose if scenario & tag data are normalized (stored in custom objects) or denormalized (stored in text fields directly on
Log__c
andLogEntry__c
). This can be controlled with 2 newLoggerParameter__mdt
records (shown in the screenshot below):LoggerParameter__mdt
recordNormalizeScenarioData
true
(default), scenario data is stored in the custom objectLoggerScenario__c
false
, scenario data is stored in the text fieldsLog__c.TransactionScenarioName__c
andLogEntry__c.EntryScenarioName__c
Log__c.TransactionScenarioLink__c
andLogEntry__c.EntryScenarioLink__c
will handle displaying either the value of the corresponding text field or the name of the relatedLoggerScenario__c
recordLoggerParameter__mdt
recordNormalizeTagData
true
(default), tag data is stored in the custom objectsLoggerTag__c
andLogEntryTag__c
(orTopic
andTopicAssignment
, if theLoggerParameter__mdt
recordUseTopicsForTags
is set totrue
)false
, tag data is stored in the long text area fieldLogEntry__c.Tags__c
, and the new fieldLogEntry__c.HasInlineTags__c
is set to true (since long text area fields can't be filtered in SOQL/list views, this field helps with filtering)Full Changelog: v4.9.8...v4.9.9
This discussion was created from the release New Configurable Storage Locations For Scenario & Tag Data.
Beta Was this translation helpful? Give feedback.
All reactions