Vector optimization

Vector optimization reserves a larger share of an instance’s memory for vector indexes, improving vector search performance. It is available for AuraDB instances with 4GB of memory or more and across all supported cloud providers and regions.

For vector search workloads in Aura, it is recommended to:

  • enable the vector-optimized configuration

  • use binary quantization with rescoring

Binary quantization with rescoring is the default for new vector indexes. See the vector index documentation for how to update existing indexes. With rescored binary vector search, the index searches a compact binary-quantized representation of the vectors and then rescores selected candidates against the full-precision values. This allows substantially more vectors to be searched effectively. Select the largest available storage size to take full advantage of rescored binary vector search.

This configuration reallocates memory from the graph database to the vector index. If this has an impact on your application, consider resizing to a larger Aura instance.

To enable vector optimization during instance creation, select Instance details > Additional settings > Vector-optimized configuration.

It can also be changed with the Aura API.

To enable vector optimization on existing instances, from the instance card, use the Configure button to access Configure instance and find the toggle called Vector-optimized configuration. You can view the current vector configuration status in the instance details, from the (…​) menu on the instance card.

If you lower the instance size below 4GB, vector optimization is disabled automatically.

If you clone your instance to a new instance, the new instance inherits the vector optimization settings of the original instance. But if you clone to an existing instance, its vector optimization setting remains unchanged.

To learn more about how to use vector indexes, see Cypher Manual → Vector indexes.

Instance sizing guide

The vector-optimized configuration is intended to support large vector workloads while providing consistent vector search performance. The table provides a safe maximum for logical full-precision vector data that can be searched with rescored binary for each instance size, and the equivalent number of 768-dimensional FLOAT32 vectors. Logical full-precision vector data is calculated as vector count x dimensions x 4 bytes; it describes dataset capacity rather than the amount of memory occupied by the binary search representation. Select the largest available storage size to take full advantage of rescored binary vector search.

The estimates assume one vector index of 768-dimensional FLOAT32 vectors with binary quantization, rescoring, the default vector.hnsw.m value of 16, and no additional properties for in-index filtering. Actual capacity also depends on the rest of the graph, other indexes, and the query workload.

Table 1. Rescored binary vector capacity
Aura instance size (GB) Full-precision vector data (GB) Million vectors (768 dimensions)

4

11.3

3.7

8

22.7

7.4

16

45.4

14.8

32

90.9

29.6

64

181.9

59.2

128

363.8

118.4

256

727.5

236.8

512

1,455

473.6