Introduce migrations, extract JSON from neo4j nodes

Merge Request

Breaking Changes

This MR introduces neo4j schema migrations and also migrates some parts of our data model. Therefore, it is absolutely necessary to backup your databases before upgrading your shepard instance. Also, since the migrations can take some time, it is possible that shepard may take a while to start up for the first time after the upgrade.

Description

  • Introduce migrations
  • Remove workaround from !390 (merged)
  • Do not use deprecated neo4j auto index functionality
  • Create indexes with the Neo4j Migrations tool
  • Edit data model so that shepard files, structured data and timeseries are no longer stored as json
  • Migrate existing data to extract json from neo4j nodes

Performance Tests

https://backend.bt-au-cube1.intra.dlr.de/shepard/api/collections/48297/dataObjects/123418/fileReferences

header header
ohne workaround 1800 ms
mit workaround 500 ms
mit migration 500 ms

Checklist

  • The code compiles without any warnings.
  • I followed the code review checklist.
  • The documentation has been added/updated.
  • There are no System.out.println() statements.

Related Issues

  • Related #
  • Closes #
Edited by Tobias Haase

Merge request reports

Loading