CMDB Baseline database footprint and disk space usage explained Table of Contents What is a CMDB Baseline?What is it used for?Why is it so big?What could I do? What is a CMDB Baseline? A CMDB Baseline [cmdb_baseline] is a snapshot of CIs and relationships of those CIs, taken at a point in time. It may be for all CIs, or a subset. There may be multiple Baselines created, perhaps monthly by a scheduled job. For each CI, in each Baseline, there is a Baseline Entry record [cmdb_baseline_entry]. The XML field contains all the CI attributes, and related records at the time, and can be big - > 16MB per record is common. In total these can be enormous, and appear in the top tables by size. What is it used for? It is used as the source data for the CMDB Baseline Diff formatter, on CMDB CI Forms. In addition, the sys_audit and sys_audit_relation tables are used to construct the changes since the baseline. Docs: Baseline CMDB It's a sort of audit history summary. When a baseline is selected, all attribute changes, and relationship additions/deletes, are shown for the CI since the baseline date, on the form. However, this is only useful if the CI was already there when the last baseline was created, or it won't work. New CIs are not automatically added to existing baselines, limiting it's usefulness. No feature references any of these records, and they are not used anywhere else. Why is it so big? Most likely cause is that you are keeping too many old baselines, that are no use to you any more. Or, you are baselining too much of the CMDB each time in the first place. More details on setting CMDB Baseline up to be both smaller, and quicker, and potentially more useful can be found in:KB0829681 CMDB Baseline life-cycle best practices and Diff Formatter troubleshooting This example shows cmdb_baseline_entry in 3rd place for the whole instance, using 277 GB. This report shows that the cmdb_baseline_entry table was one of the ones with the highest growth rate, as well as being 3.3TB. This was a situation where a custom business rule was added to create a new baseline whenever a CI was updated, which is not a good idea. What could I do? CMDB Baseline is a deprecated feature, customers are discouraged from using it at all. If you carry on using the feature, using the above article, you can reduce the footprint by reducing the number of baselines retained at any time, and reducing the classes and types of CI you include in the baseline. The "CMDB Baseline diff" formatter has to be on your form layout for this data to be used. You may find you only have this formatter on the form of a few classes, because by default it is on no forms and has to be added. Work out if any of your users, usually ITIL role, are actually using the data in the CMDB Baseline Formatter. Is it providing any more data that you could see anyway from using the Activity Stream (Activities formatter) on the form, CMDB Timeline, or by looking at audit history in History -> List/Calendar instead? They probably could, and do it better. If you no longer wish to use the feature, then you should set up a Table Cleaner [sys_auto_flush] to delete the cmdb_baseline records, ticking 'cascade delete' so that the child cmdb_baseline_entry records are also deleted. The pair of tables could also be truncated to instantly free up the disk space, however that would require a Support Case to do that at the database level.