Repository navigation
Very slow vector indexing when loading a dataset with embedding via GraphImporter #10538
|
Tried loading a dataset with embeddings via GraphImporter (~13 million vertices containing 768 dim. embeddings and ~300 million edges). The program slowed down with time when building vector index. Logs -> arcadedb_26.11.1-SNAPSHOT_GraphImporter_with_embedding.log Observations
Setuparcadedb versiondocker image: arcadedb schemaJVM optsJava codeDatasetmeta
sample edges.csvsample vertices.jsonl |
Replies: 1 comment 1 reply
|
Fixed in #10550 (tracked in #10543, released in 26.11.1). What was wrong: when an What changed: the build now keeps the compact quantized vectors in memory (4x smaller for Measured: 1M x 768, 6 GB heap, default settings: 444 s (751 full GCs) -> 196 s (0 full GCs). With a tight heap the difference is larger. For your setup: the build log now tells you how many vectors are kept in memory. If not all of them are, raise Not covered here: indexes without quantization (float32) still use the old cache, and the slow parts of the import itself (parsing the JSONL embeddings, updating vertex edge pointers) are unchanged. ❤️ Thanks for helping make ArcadeDB better! ArcadeDB is free and open source, sustained by its community. If it's useful to you or your company, please consider becoming a sponsor to keep development going. |
Fixed in #10550 (tracked in #10543, released in 26.11.1).
What was wrong: when an
INT8orBINARYvector index was larger than the build cache, the graph build kept re-reading vectors from the index pages and converting them to new float arrays. At this scale that kept the heap almost full and the build slowed to a crawl.What changed: the build now keeps the compact quantized vectors in memory (4x smaller for
INT8) and converts them only when needed, without allocating. A build that fits the float cache works as before.Measured: 1M x 768, 6 GB heap, default settings: 444 s (751 full GCs) -> 196 s (0 full GCs). With a tight heap the difference is larger.
For your setup: the build log now …