Question

We (Team) are in process of putting Audit Reporting solution for a huge online transactional website.

Our auditing solution is to enable CDC on source table and tracking every change happens on the objects, grab them and push them into Destination table for reporting.

As of now we got one to one table in source - destination.

There will be only inserts in destination and no updates or delete.

So end of the day audit tables will grow large than actual source tables as these keeps history of changes.

My plan is flatten the destination tables to fewer based on subject / module, enable column store indexes and then utilize same for reporting.

Is there any suggestion on the above approach or there is any alternative.

Was it helpful?

Solution

I would recomend that you rather keep the table structure in a single table and have a look at Partitioned Tables and Indexes

SQL Server supports table and index partitioning. The data of partitioned tables and indexes is divided into units that can be spread across more than one filegroup in a database. The data is partitioned horizontally, so that groups of rows are mapped into individual partitions. All partitions of a single index or table must reside in the same database. The table or index is treated as a single logical entity when queries or updates are performed on the data.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top