Skip to main content

Community

Destination Improvement: Improve HVR Refresh with Slicing on very large tables

Answered

Please sign in to leave a comment.

Comments

3 comments

  • Mark Van de Wiel User

    Hai,

    Delete in multiple chunks would break our transactional consistency and leaves partial data in the target table if the refresh fails in the middle of the delete process. Arguably that is not a big deal, given the customer wants to refresh the data anyway. However, this is not how HVR works at this time.

    We are working on a project to improve refresh performance (with or without slicing). This project (RD-494661) will parallelize writers in the HVR core to speed up the write side of the query. This parallelization works with or without slicing. Depending on bottlenecks this feature may allow a refresh that is sliced today to no longer be sliced thanks to this feature. If so then you could leverage truncate followed by load.

    RD-494661 is planned to be released as 6.2.5/9 in August 2025.

    Please let me know whether you think this feature may address the concern or not.

    Thanks,
    Mark.

    Mark, unfortunately that new feature doesn't help in their case. 
    1) The customer is using "soft delete" so even without slicing, they still need a delete operation with a WHERE clause so it does not remove the rows in the target that are soft-deleted. 
    2) With the very large tables they are selecting specific slices based on a determined “rollback” date so they may only refresh between a certain date forward. In this scenario, they would only be deleting specific boundary ranges as well as hvr_is_deleted=0. On very large tables, even with specific slices selected, this may still require a gigantic bulk delete.

    It seems like we are going to encounter large tables such as this across more of our customer base as their data grows, so a feature to support it could benefit more than just this one customer.

  • Mark Van de Wiel User

    Can we set up a conversation with the customer please?

    Thank you,
    Mark.