Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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).

Image Removed

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