-
Notifications
You must be signed in to change notification settings - Fork 576
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performance Upgrades for Diff-Updates #1433
Comments
Hi @benedikt-brandtner-bikemap |
Hi, unfortunately i didn't backup the logs and didn't do a new import / update on the planet db yet. Will run a new import and update with and and without the changes in our development stage with data from austria later today and will post the results as a diff as soon as it's done. |
Sorry for taking a bit longer but it took a while until i compared enough update runs to have an a better understanding of the impact on the different changes on update execution times with medium sized data sets and larger osm-changes. Table with execution time comparison as well as links to branches and logs can be found below. After comparing I have come to revise my initial conclusion on issues to address:
Import:
Update:
Update SQL-Functions:
I hope that gives a little bit more insight on the impact of the proposed changes and also a reason for my proposal. Cheers |
Sorry to bug you but, is there any interest in these changes (especially the LineString merging) or not all? greets |
I think @frodrigo has done the most work recently on the diff updates. |
The progress on the |
Awesome :) If I can be of any assistance just let me know |
Hey Happy new Year everyone 🎉 ! Any updates here, should I rebase my changes ontop of the most recent ones? |
Happy new year to you too 🎉 Sorry for such a delay and thanks for your patience! It would be great if you could rebase it. Thank you! |
Hey, have rebased my changes on the current master here. But just FYI two tests are currently failing in the master branch and are still failing in my rebased branch |
Thanks a lot! I try to investigate... |
Hey, have rebased my changes again on the current master here. greets |
You are awesome! I am going to look at it now! |
No problem, thanks a lot :) |
Hi @benedikt-brandtner-bikemap, Thank you for your patience. Are you still willing to create PR? It looks good! There are some PRs to be merged, but they should not compromise diffs. Thanks! |
Hey @TomPohys, no worries thanks for having a look and yes i'd very much like to create the PR 🙂 Should i create the PR as one big PR or should i separate it and create one for each commit? greets |
From just an esthetic perspective it will be better to have separate PR for each layer. But it is up to you. Thanks! |
Hey @TomPohys took a bit to separate into multiple branches by layerby layer but i finally managed to do it and opened the PRs. During rebasing I encountered a bug with motorways in zoom-level 4, fixed it and the remaining local test-issues, and created a PR (#1505) which acts as a base for all the other PRs. I hope that works for you and if you have any questions just shoot me a message ;) Greets! |
Improved update performance of aerodrome_label layer - Refactored IDs to be unique in aerodrome_label.osm_ids - Restricted updates to INSERT and UPDATE operations during aerodrome_label.refresh - Added analyze statements before update queries during aerodrome_label.refresh See #1433 for more detailed discussion.
Thank you for all your work! I think we can close this now. Thanks! |
When applying diff-updates to a planet-import once a week by merging daily OSM-Change-Files from the past week I encountered very long processing times of up to 10 days.
After going through all refresh functions I identified a few key-issues which I believe should address the general performance of diff-updates across all refresh functions with only minimal cost to import time:
INSERT
andUPDATE
operations where applicableIN
queries toEXISTS
queriesI have implemented solutions to this issues except for point 2 in this branch at our fork and would like to ask if you would be interested in merging them back into the main repository.
Environment:
AWS m5.2xlarge EC2-Instance (EC2 not RDS)
AWS GP3 Volume
Operating System and Libraries:
PostgresSQL-Config:
The text was updated successfully, but these errors were encountered: