You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Uyuni is an open source systems management solution that can be used to manage various Linux distributions using a powerful web UI and API.
Uyuni is based on an older project without much database refactoring and optimizations and so its database design is rather old. Previous design decisions are no longer state of the art and are now rather hurting the performance.
Database was designed for more database engines which Uyuni no longer supports, for old postgresql version without useful features added in later version.
Ultimately this project aims for overall database schema refactoring and optimizations, but given scale of the project, actual deliverables will be probably smaller.
Goals:
database in majority uses NUMERIC datatype as an ID column tied with custom sequence generator. NUMERIC is slow datatype for joins and selects and a plan how to migrate from NUMERIC to BIGINT type and autogenerated sequences instead of custom sequence generator. This includes:
changes in database schema
changes in mapped Java objects
migration workflow
performance evaluation of schema migrations
replace VARCHARs with list constrains to ENUMs
replace CHAR(1) to BOOLEANs
Stretch goals:
identify cross joins and replace them by inner or left or right joins when possible
identify possible table decompositions
or on the other hand where decomposition went too far and hurts performance
explore using postgresql partitioning on large tables to improve performance
Project Title:
Uyuni database optimization
Description:
Uyuni is an open source systems management solution that can be used to manage various Linux distributions using a powerful web UI and API.
Uyuni is based on an older project without much database refactoring and optimizations and so its database design is rather old. Previous design decisions are no longer state of the art and are now rather hurting the performance.
Database was designed for more database engines which Uyuni no longer supports, for old postgresql version without useful features added in later version.
Ultimately this project aims for overall database schema refactoring and optimizations, but given scale of the project, actual deliverables will be probably smaller.
Goals:
Stretch goals:
Deliverables:
Mentor:
Skills:
Skill Level: Medium
Project Size: Medium Sized Project (125 hours)
Get started:
The text was updated successfully, but these errors were encountered: