Database / Weaviate Vector database Interview questions
How do you configure replication factor for high availability in Weaviate?
Replication factor is set at collection-creation time (and can be adjusted afterward), specifying how many copies of each shard should be maintained across the cluster's nodes.
client.collections.create( name="Products", replication_config=Configure.replication( factor=3, async_enabled=True )
A higher replication factor increases fault tolerance (more nodes would need to fail simultaneously before data becomes unavailable) and read throughput (more copies available to serve concurrent read traffic), at the direct cost of proportionally more storage and compute resources across the cluster, since each additional replica is a genuine additional copy of the underlying data, not a lightweight pointer to a shared copy.
The right replication factor depends on the specific availability requirements and node failure tolerance a deployment needs: a factor of 1 offers no redundancy at all (any single node loss risks data unavailability for that shard), while a commonly used factor like 3 tolerates the loss of up to two nodes holding a given shard's replicas without losing access to that data, a trade-off most production clusters are willing to make for the added resilience.
More Related questions...