Skip to main content
Question

Access policy performance

  • Jun 27, 2019 9:30 PM UTC
  • 1 reply
  • 4 views

Bryan_H
Forum|alt.badge.img+2

Do we have customer using access policy to limit row and column access, and if so, was there a noticeable impact on performance? Do we have any metrics we can share?

1 reply

LenoyJ
Forum|alt.badge.img+1
  • Participating Frequently
  • Jul 10, 2019 7:41 PM UTC

This KB article shows how performance may be impacted and how you can test it: https://www.vertica.com/kb/Best-Practices-for-Creating-Access-Policies-on-Vertica/Content/BestPractices/Best-Practices-for-Creating-Access-Policies-on-Vertica.htm

Bascially, if row/column access policies are enabled, the query gets rewritten to have these policies included. So you can definitely try to improve performance by having projections that work for the rewritten queries.

For example, if you're masking SSN except the last 4 of the 8 digits, a SELECT ssn FROM customers; will be rewritten to something like SELECT substr(ssn, 6, 4) FROM customers;

Similarly for Row Policies, extra predicates get added to the query.