What Does Polyscale Store?
PolyScale takes data processing and storage seriously, making every effort to be transparent, compliant and only storing the minimum data required to provide our global caching services.
PolyScale's platform stores database query responses to the geographic location closest to the requesting application. This data is stored securely and persisted for as long as deemed valuable by our caching engine. Data can be globally purged at any time via the UI or API. Data locality policies can be applied if specific countires/regions are required to be blocked from data storage.
SQL Query Analytics
Query SQL is processed in real-time to support the cache automation and analytics. All query SQL is anonymised at ingestion time by hashing any query parameters so that no personally identifiable information (PII) is stored. The anonymized structure of the query is stored to help developers associate caching behaviors with specific queries within the PolyScale user interface.
While all parameters are anonymized (including for prepared statements), database names, table names, column names and SQL keywords are not anonymized.
This data is stored for 7 days and aggregated metrics used for longer term views are stored for 90 days. After these time periods, the data is automatically deleted.
Below are some examples of raw queries and their anonymized form.
Query Example 1:
SELECT * FROM employees WHERE emp_no = 1001
SELECT * FROM `employees` WHERE `emp_no` = [?]
[?] is listed in place of the hash for the individual value.
Query Example 2:
SELECT AVG(salary) FROM salaries;
SELECT AVG(`salary`) FROM `salaries`;
Because this query has no parameters, the stored query matches the original query.
Query Example 3:
SELECT first_name, last_name FROM employees WHERE first_name LIKE '%ing%' LIMIT 2;
SELECT `first_name`, `last_name` FROM `employees` WHERE `first_name` LIKE '[?]' LIMIT 2'
The wild card operators are incorporated in the anonymized hash; the limit value is not hashed.