A new universe for your graph data.Meet Galactus DB
GALACTUS DB WIKIDeployment · Queries · Operations

GDS resources and cancellation

Wiki / Graph data science

On this page

Memory estimates and cancellation

Every algorithm supports <algorithm>.<mode>.estimate(graphName, config) for stream/stats/write/mutate, using an existing projection. Estimate calls are read-only and do not run the algorithm. They return nodeCount, relationshipCount, bytesMin, bytesMax, requiredMemory and null heap percentages (GDB has no JVM heap). Estimates model the full projection even when labels/types filter the computation, include materialised output and allowance for projection cloning, and are deliberately conservative. They are planning estimates, not measured allocator peaks or reserved memory; algorithm-specific data constraints are still validated when executing.

All algorithms accept two GDB extensions: memoryLimitBytes rejects a run when its estimated bytesMax exceeds the supplied budget; timeoutMillis cancels computation at cooperative checkpoints. Zero, the default, disables each control. These are not process-wide memory limits or strict wall-clock termination deadlines. Concurrent jobs can each consume their own budget. The timeout covers algorithm setup/computation and result publication, not query prefixes or downstream Cypher clauses.

CALL gds.fastRP.stream.estimate('people', {embeddingDimension:128})
YIELD bytesMin, bytesMax, requiredMemory;
CALL gds.fastRP.write('people', {
  embeddingDimension:128, randomSeed:42, writeProperty:'embedding',
  memoryLimitBytes:536870912, timeoutMillis:30000
});

No remote cancellation endpoint or named-job catalogue is provided; remote queries can use timeoutMillis. Interrupted computations return errors; write/mutate changes use normal statement rollback and publish no partial algorithm result. Cooperative interruption can lag during large individual vector operations, sorting or allocation.

Unfiltered, unweighted natural adjacency is cached once per immutable projection and shared by subsequent algorithms and property-only mutations. Filtered, reoriented and weighted views are rebuilt. Relationship mutation invalidates the cache; rolled-back catalogue changes restore the old snapshot.

Storage compatibility and execution budgets

GDS execution contexts, projections and worker state remain transient. The new algorithms write existing scalar/list property types through normal constraints, indexes, undo and WAL. Written properties survive restart, while projections must be recreated.

Worker contexts inherit the parent job's cancellation generation and deadline; workers do not register as additional jobs. Explicit FastRP/PageRank buffer reservations share a per-job memory counter. Planning estimates still gate all algorithms. Neither mechanism is a process-wide memory ceiling: worker stacks, allocator overhead, live database state, other queries and transaction/WAL buffers are not fully charged by that counter. Cancellation remains cooperative.

Parallel execution and result memory

FastRP and PageRank accept concurrency in 1..64, default 1. The effective worker count is capped by available logical CPUs; small workloads use a direct serial path even when more threads are requested. Workers are scoped to each computation and never mutate live data. Floating-point contributions retain their serial order within each row: seeded FastRP and PageRank results are identical across worker counts in the same build. Parallelism competes with other queries for CPU/memory bandwidth; it is opt-in. KNN accepts only concurrency:1; other algorithms remain serial.

stats, mutate and write skip unused stream-row construction. Dijkstra summary modes also skip path reconstruction and use tree distances directly. The public .stream result is still materialised, including all returned paths.

Graph projections and catalogue · GDS algorithms and execution modes · Graph data science

Planning a deployment? Review compatibility and licence setup for your instance.