
Chee Meng (Customer) asked a question.
I’m using MarkLogic 12.0.1 + Data Hub Central 6.2.1 on localhost.
I have a Student Smart Mastering use case with two CSV sources. Currently I’m testing with around 10k rows from Source A and 10k rows from Source B, but the final target is around 200k total rows.
Current flow:
- Load Program reference CSV into MarkLogic.
- Map Program data into canonical Program records.
- Load Student Source A CSV into MarkLogic.
- Load Student Source B CSV into MarkLogic.
- Map both student sources into canonical Student records.
- Run Smart Mastering matching on Student records.
- Matching result is split into:
- no match
- auto merge
- manual review notification
- Run Smart Mastering merging for auto-merge candidates.
- Store mastered/merged Student records in MarkLogic.
- Store manual-review notification documents in MarkLogic.
- Custom Manual Review UI reads pending notifications from MarkLogic.
- User reviews uncertain pairs in the UI.
- User clicks Merge.
- UI calls a MarkLogic manual-merge resource.
- MarkLogic creates/updates the mastered Student record.
- UI deletes the handled notification.
- Final mastered records are used for graph exploration.
Current issue:
At only around 20k total student rows, performance already feels slow:
- matching/mastering takes a long time
- pending notification list loads slowly
- merged record list loads slowly
- manual merge can take seconds per record
- dashboard counts are slow
Before I scale this to around 200k rows, what should I change in the Smart Mastering flow, matching/merging steps, indexes, batching strategy, or UI read pattern to avoid much worse performance?
I don't have much to suggest particular to DHF, but for general info you could look at
https://community.progress.com/s/article/sizing-and-scaling-marklogic-server-environments
It may be an undersized environment.
You can also open a support ticket if you are contracted and think the performance is not as it should be.