We've used number of different technologies to provide persistence service in our products. Our main concerns/requirements can be listed as:
- performance. The persistence mechanism should perform well since we manage real time monitoring data. Number of write/read operations per second as well as performance of the queries are key performance aspects for us.
- A fixed/static schema is not suitable for our products since they support dynamic modeling. Mapping from Object to its storage should be flexible.
- Querying the object storage should be easy and should not require developer skills.
In the first iteration of our products, we had used a database. However, relational databases have a rigid schema structure, hence modification of the schema by the users was problematic. The performance of the solution was also not ideal. Both read/write and search performance were not adequate for many use cases that we have. read more »

