Optimize transaction size + ACID on cluster
For performance and scaling reasons it's important to keep ArangoDB transaction small. Currently we insert the entire execution plan graph in a single transaction which sometimes may take longer than necessary depending of the number and size of nodes being inserted.
To reduce the transaction size to the minimum we could insert majority of documents non-transactionally, and close the action by inserting the remaining ExecutionPlan and edges to the DataSource in a small fast transaction.
In addition to the need of reduction of the transaction size, we need to manage Atomicity and Isolation properties on the application level (due to lack of such guarantees in case of using ArangoDB cluster deployment)