I've just started to architect a new system, stateless JSON API, which is expected to have very high load and to require more servers for parallel deployments (same app across multiple servers).
I am considering using ObjectDB, because of its advantages and easy usage, but I'm afraid that it might get corrupted because the manual says that we must not access ObjectDB with different versions of a class.
Let's take the following scenario:
- The same app is running on 5 machines.
- A change is required in one of the persistent classes, thus it's implemented. (Let's say a new field was added)
- 3 servers are taken offline, updated, then put online.
- The remaining 2 servers are also updated.
- --- I can't update all 5 of them in the same time, because it must be no downtime for the current system.
Question/problem: would that not corrupt the DB? Would ObjectDB support this scenario, where the previous version of a class is used by some servers, then others come with the new version, then finally all of them get the new version?
So...basically...concurrent access with version x and version x+1 of a class.
I would really need your advice on this, because having 100% uptime is mandatory for this new system, thus I need to know if ObjectDB could support this.