DB schema modernization, hot-rodding
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 33m
- Merged PRs (30d)
- 170
Description
Description
Now that we are postgres only, there a number of things we can do to help ourselves and improve dotCMS performance and remove tons of dead code.
This epic will be an overarching issue where we fix nasty db things like:
- Remove non-postgres code paths
- use postgres only features to improve performance
- gently modify the the db schema to help us in a backwards compatible
- Remove all our crazy
select * from contentletthat returns 150 unneeded columns and only return the columns that are needed. - Unjoin tables like contentlet from inode
- Use sparse indexes where values can be null
- more to come
Desired Outcome
Improve dotCMS performance, remove old/unused code and code paths
Target Personas
- Developer teams
- Content teams
- DevOps teams
- System administrators (dotCMS)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
This is an overarching epic and names no files, tests, or entry points. Start by breaking the checklist into separately scoped PostgreSQL modernization issues, then inspect the relevant database schema and query code for one selected item. Done should be defined per item, with performance improvements, removed legacy paths, or schema changes verified without breaking backwards compatibility.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, postgresql
- Domain
- backend, database, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100