~/talk

Faster Data Imports With Concurrent Transactional Subqueries

Talkat NODES 2024 · on Thursday, 2024-11-07· [databases]
links:none on file
slides:none on file

Shows how Neo4j 5.21’s CALL { ... } IN CONCURRENT TRANSACTIONS runs batches on separate threads to cut a 10 million row import from ~110s to ~26s, and matches APOC periodic iterate’s single-machine speed (APOC ~1.5s, native ~1.8s on a 500k test). Explains concrete pitfalls: concurrent visibility is non deterministic so move dependent MATCHes outside subqueries, on error break and on error fail behave differently under concurrency, lock collisions occur and require retry logic or application-level retries.

AI-written summary · about

  1. 0:00Introduction
  2. 1:15Data import challenges
  3. 3:26Call-in transactions solution
  4. 5:37Adding concurrency
  5. 7:48Native concurrent call-in
  6. 9:12Concurrency semantics
  7. 11:38Error handling in concurrency
  8. 13:02Lock collisions and retries
  9. 14:48Future improvements
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.