...
- Using document storage, it involves only the ORM layer, it does not change the functionality of the application
- After migration to document storage as ORM layer, it will possible to adjust flexibility of Tosca Service Template Handling (POLICY-3236); as new feature it will impact the business logic of the application
...
- Jmeter to generate requests (same used by performance tests): Requests/sec: 287
- Prometheus for monitoring
- DMaap simulator
- Participant simulator
- MariaDB/PostgreSQL/MongoDB
The existing system
Work in progress ....
HibernateEclipse-Link/Mariadb. Tosca Service template is saved as a schema entity relation.
...
Postgres with the JSON store
Work in progress ....
Hibernate/PostgreSQL. Tosca Service Template is saved into a jsonb text type as Json.
The equivalent in MariaDB
Work in progress ....
Hibernate/Mariadb. Tosca Service Template is saved into a longtext as Json.
MongoDB
Work in progress ....
MongoDB. Tosca Service Template is saved as MongoDB Document.
id cannot have dot '.' in MongoDB : solved with minimal configuration
...
Conclusion
- Work in progress
Benchmark Performance of Policy Pap
In order to generate the benchmark I have used:
- Jmeter to generate requests (same used by performance tests)
- Prometheus for monitoring
- DMaap simulator
- MariaDB
The existing system
Eclipse-Link/Mariadb with dao pattern and atomic transactions. At that time the migration to Spring repositories are not finished yet, so the benchmark is calculate by endpoints performance ('server_requests' metric).
Conclusion
- Moving to Spring Data JPA there are already improvements
- NoSql does not have standard, so PostgreSQL jsonb, MongoDB and Cassandra are not compatible to each other
- There is much more support for MongoDB/Cassandra than PostgreSQL jsonb
- In MongoDB/Cassandra JSON queries are much more intuitive than PostgreSQL jsonb
- PostgreSql seems to be the fastest