Skip to content
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

Small schema changes can cause large disturbances #6425

Closed
avikivity opened this issue May 11, 2020 · 3 comments
Closed

Small schema changes can cause large disturbances #6425

avikivity opened this issue May 11, 2020 · 3 comments
Labels
area/schema changes symptom/performance Issues causing performance problems
Milestone

Comments

@avikivity
Copy link
Member

A schema change has an effect on the cache, on readers (since they need to perform a schema change) and perhaps many other components. Some changes are innocuous (like chancing the table comment) and yet cause a those large effects.

@avikivity
Copy link
Member Author

This can be improved by splitting the schema into three nested components: primary_key_schema that describes only the primary key, and can never change, storage_schema, which adds non-primary-key columns to primary_key_schema, and schema, which adds everything else to storage_schema. We can then have each component use the smallest schema component it needs, for example comparators can use primary_key_schema while sstables, readers, and cache use storage_schema. Thus, they will see fewer changes from anciliary schema properties.

@slivne
Copy link
Contributor

slivne commented May 17, 2020

ref: #2718

@slivne slivne added area/schema changes symptom/performance Issues causing performance problems labels May 17, 2020
@slivne slivne added this to the 4.x milestone May 17, 2020
@avikivity
Copy link
Member Author

Closing as duplicate of #2718.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/schema changes symptom/performance Issues causing performance problems
Projects
None yet
Development

No branches or pull requests

2 participants