Question
You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a managed Delta table named Table1.
Table1 is written by batch jobs every hour and is queried frequently by filtering two columns named CustomerId and EventDate.
You expect Table1 to grow significantly over time.
The rows in Table1 are frequently updated and deleted to support compliance requests.
You need to keep query performance consistent as Table1 grows. The solution must minimize update and deletion effort.
What should you include in the solution? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Explanation
To optimize query performance, implement: Liquid clustering. Liquid clustering replaces partitioning and Z-ordering, suits fast-growing tables and queries that filter on high-cardinality columns such as CustomerId, and clusters data incrementally so upkeep stays low as the table grows. Partitioning on CustomerId would create far too many small partitions and is hard to change later, and Z-ordering is not compatible with liquid clustering and has to be re-applied as data changes.
To optimize updates and deletions: Enable deletion vectors. Without them, changing a single row rewrites the entire Parquet file that holds it, whereas deletion vectors mark changed rows in metadata and speed up DELETE, UPDATE and MERGE. Disabling them does the opposite, and VACUUM only removes old unreferenced files, so it does nothing to make updates or deletions cheaper.