apache / apache/hop

[Feature Request]: Automatic Hash for upsert (Insert/Update) component

Open
#6,885 3 comments 2 reactions 0 assignees View on GitHub
awaiting triage P2 Transforms
Dominant language
Java
Stars
1.5k
Forks
476
Avg merge
19h
Merged PRs (30d)
227

Description

### What would you like to happen?

Hello

As you know, upsert is super time consuming, i have simple example 200k rows takes approx 49 sec (capture 1)

Image

the best practice for huge table is to go through hash and just update when hash is different instead of comparing all fields see capture 2

we go from 49 to 2 sec for the exact same table and the exact same fields , this is as you know is widely common practice , but as you can see in capture 2 it take longer to devellop and all pipeline builder do this manually because of performance

Image

it would be super nice to have a tab or any way to simplify this the UI woulds ask
do you want to use hash for change validation?
if yes ? what hash type ?
whats the column name source (optional , if any calculated on the fly if not provided)
whats the destination column (not optional)

this would be a killing feature ! 3 option to fill up instead of a entire dev

all the necessary code is already in the checksum component, so, I dont think it would take much effort to implement this

nice isn't it ?

### Issue Priority

Priority: 2

### Issue Component

Component: Transforms

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing checksum component and the upsert (Insert/Update) transform, since the issue identifies both as relevant entry points. Determine how the UI could expose hash type, optional source column, and required destination column, then verify that hash-based change validation supports the requested performance improvement.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
data-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.