ELI5: Explain Like I'm 5

Linearizability

Imagine you are playing with a very fancy toy box that has many drawers where you can store your toys. Each drawer can hold only one toy at a time, and you cannot put more than one toy in the same drawer. However, you can take a toy out of one drawer and put it in another drawer, as many times as you want.

Linearizability is like playing with that fancy toy box. When you want to perform an action on the toy box, for example, put a toy in a drawer or take a toy out of a drawer, you expect that action to happen right away, and other people playing with the toy box see the same result as you. This means that every action you make on the toy box should be like you are the only one who is using it, even if other people are using it at the same time.

In technical terms, linearizability is a property of a system that guarantees that if multiple operations are happening concurrently, they appear to happen in a single, specific order, or 'linear order' that everyone agrees on. For example, if you and your friend put toys in the same drawer of the toy box at the same time, and you both expect to see your toy in that drawer afterward, linearizability ensures that you both will see the result of your action in that drawer as if it is the only action that happened there.

So, when people build computer systems that need to store data, they want to make sure that their systems are linearizable, so that everyone can interact with the system simultaneously without having conflicting updates or seeing inconsistent data. This way, everyone sees the result of a specific action as if they are the only ones that are playing with the system, even though others are using it too.