Why onedb

While I hope that 

Developer Productivity

You are not busied with configuring the various parameters of your database. 
You are even, if you are a Java developer, unburdend from many of the fallacies of concurrency. Onedb allows to write highly concurrent applications without resolving to any of Java's concurrency classes, and even if multiple threads are involved in reading and writing data, onedb takes care of the thread synchronization automatically. 

Performance

I do not speak here of the most raw reads per second and writes per second. It should be clear that these measures will be significantly higher for databases kept in local memory, stored in a local disk or even stored on a server in the local network. onedb allows to build high-performance applications because of two factors: (1) While many other databases depend on high read and write performance, this is less so for onedb. The main operation used to shift data between server and client are not single reads and writes but synchronizations between client and server. This allows many operations on the client to be executed against the local memory. (2) Furthermore, The entire application logic can be build around asynchronous callbacks. This style of programming allows to build highly performant servers and clients. It even makes the performance of JavaScript bearable, as evidenced by node.js. 

Testability

The startup time of the onedb test instance is well below 500 ms on most systems. Since all operations on the database can be performed with very low latency, building up of extensive test database can be accomplished in the course of individual test cases.

Reliability

All records are replicated on three servers, in three different data centers. In the unlikely case that one of the replications ceases to work, one of the two backup servers will immediately start serving requests for the database.



Comments