I'm trying to migrating from neo4j 4.4.42 community edition to neo4j 5.26.6 community edition as the EOL is nearing. I have a primary node and secondary node where the operations are executed against primary. secondary is kept in sync with primary using neo4j streams. I can see the neo4j streams support has been removed in neo4j 5.x.
Based on the documentation that i've seen, there are two alternate solutions:
- Apache kafka connect
- APOC triggers
I've got few questions related to this:
-
Apache kafka connect uses querying to pull the data from primary and keep secondary in sync. Will there be more load on neo4j if I use kafka connect compared to neo4j streams?
-
Is there chance that queries time out(I have neo4j transaction timeout of 30 seconds in neo4j.conf)? will the resources be locked until the apache kafka connect querying is completed(Again, would that not impact the performance of primary neo4j)?
2.1. I’ve also maintained a neo4j transaction timeout of 30 seconds in neo4j.conf. Will the kafka connect queries timeout because query timeout can be set in both places?
-
will APOC triggers add more load on neo4j compared to neo4j streams?
-
Which is a better solution to implement?