Skip to main content

Understanding get_compliance_status()

  • June 19, 2017
  • 3 replies
  • 12 views

MaciejPaliwoda
Forum|alt.badge.img+2

Hi All,

My get_compliance_status() function returns:
Raw Data Size: 1.08TB +/- 0.78TB
License Size : 1.00TB
Utilization : 108%

I am wondering what is the meaning the (+/-) part in the result.
Is a STD Deviation (of exported ROW size???) or sth else?
What means if the result is so high in this case? Many small and many large records?? - this is only explanation that comes to my mind

Thanks in advance

3 replies

Jim_Knicely
Forum|alt.badge.img+2
  • Participating Frequently
  • June 20, 2017

According to the doc:

Vertica conducts your database size audit using statistical sampling. This method allows Vertica to estimate the size of the database without significantly affecting database performance. The trade-off between accuracy and impact on performance is a small margin of error, inherent in statistical sampling. Reports on your database size include the margin of error, so you can assess the accuracy of the estimate. To learn more about simple random sampling, see Simple Random Sampling:
http://www.stats.gla.ac.uk/steps/glossary/sampling.html#srs

Vertica Doc: https://my.vertica.com/docs/8.1.x/HTML/index.htm#Authoring/AdministratorsGuide/Licensing/CalculatingTheDatabaseSize.htm

You can use the AUDIT function to get an accurate "raw" database size:

    dbadmin=> select audit('', 0, 100);
       audit
    ------------
     1710883672
    (1 row)

Jim_Knicely
Forum|alt.badge.img+2
  • Participating Frequently
  • June 20, 2017

Hi,

I'm guessing the +/- is related to the random rows being sampled and the default values of the AuditConfidenceLevel and AuditErrorTolerance parameters...

dbadmin=> select * from configuration_parameters where parameter_name ilike '%audit%';
-[ RECORD 1 ]-----------------+--------------------------------------------------------------------------------------------------
node_name                     | ALL
parameter_name                | AuditConfidenceLevel
current_value                 | 99.000000
restart_value                 | 99.000000
database_value                | 99.000000
default_value                 | 99.000000
current_level                 | DEFAULT
restart_level                 | DEFAULT
is_mismatch                   | f
groups                        |
allowed_levels                | NODE, DATABASE
superuser_only                | f
change_under_support_guidance | t
change_requires_restart       | f
description                   | The confidence level at which to run audits of license size utilization. Represent 99.5% as 99.5.
-[ RECORD 2 ]-----------------+--------------------------------------------------------------------------------------------------
node_name                     | ALL
parameter_name                | AuditErrorTolerance
current_value                 | 5.000000
restart_value                 | 5.000000
database_value                | 5.000000
default_value                 | 5.000000
current_level                 | DEFAULT
restart_level                 | DEFAULT
is_mismatch                   | f
groups                        |
allowed_levels                | NODE, DATABASE
superuser_only                | f
change_under_support_guidance | t
change_requires_restart       | f
description                   | The error tolerance for audits of license size utilization. Represent 4.5% as 4.5.

But I wouldn't change these as it'll really impact database performance...

The doc on the AUDIT command has very good explanations of what the error tolerance and confidence level values represent...

https://my.vertica.com/docs/8.1.x/HTML/index.htm#Authoring/SQLReferenceManual/Functions/VerticaFunctions/LicenseManagement/AUDIT.htm


MaciejPaliwoda
Forum|alt.badge.img+2
  • Author
  • Participating Frequently
  • June 20, 2017

I have spoken of with the data scientis. and according to him, this value represends double STD DEV estimator for the sub sample. So it means that all of (in our case) 99 % elements of sample (of every sample we select from the whole population) is range MEAN +/- double STD DEV (we allow to have the error on 5% level)

So it seems that in my case distribution of record is very flat -> means very similar number records in every size.

Anyway thanks JIM!