Replies: 1 comment 3 replies
-
Many thanks for bringing this discussion!
I have no doubt about this 😄 When I started to work on database, I thought that I make it first distributed and then add transactions. Then I had a thought that I make it transactional and then distributed. Right now, because I want to start prototyping Machine Learning module as early as possible I think I will piggyback on sled transactions which should have serialisable isolation. I want to know what metrics or config parameters should be exposed to make database self-driven.
I should pinned this question 😄 This is a great example for ML to figure out when to do "vacuum" or whatever will be implemented to reconcile changed table. |
Beta Was this translation helpful? Give feedback.
-
You should consider what isolation model will be.
This is the most important thing that will influence performance of everything and is usually an afterthought.
It will influence how much concurrent work will users be able to do (will they block each other? break each others consistency? will users have to be aware of each other somehow?), and even what happens when you change the schema (If you add a field to a very large table, will you be able to do it while others are using the database, or will the database be offline for a week and take twice as much space for that time? Will existing transactions see any of the changes and when? Will other users be able to work during applying the change that can take a long time?)
This is a deep rabbit hole, but extremely interesting :)
Beta Was this translation helpful? Give feedback.
All reactions