Recently, I came across a db4o object database engine , which, it seems to me, looks really interesting. I would like to use it in an ASP.NET MVC application that will be deployed in a shared hosting environment in a trust tool . Due to the level of trust, I am limited to using db4o in built-in / in working mode.
This in itself should not be a problem , but the hosting provider also transparently launches each web application in several (load-balanced) server instances with shared storage , which, as I would say, are usually a very nice feature for a $ 10 hoster US per month. However, since a db4o server instance with write access (regardless of whether it is running on a process or on a network) blocks the main database file , having multiple application instances using the same file will not work (or at least I don't see how it will be).
So the question is: is it possible to use db4o in this particular environment?
I thought that each application has its own database, which is synchronized with the main database using replication (dRS), but this approach will most likely end with very frequent bi-directional replication (read the main changes at the beginning of each request, write to the wizard after each change), which, I think, will not be very effective.
Summary of web application / environment features:
- Read (but not fully read-only)
- A certain delay (several seconds) is allowed between the time the change was made and the time when the change is displayed in all the data in the application instances.
- Must run in medium trust mode
- There is no guarantee that the load balancer uses sticky sessions.
All suggestions are welcome!