Backup, Snapshot-uri & Migrare între Baze Vectoriale în Baze de Date Vectoriale & Căutare Semantică

Crearea de snapshot-uri consistente la cald, exportul punctelor cu vectori și metadate și proceduri de migrare fără timp de nefuncționare.

Sintaxă & interogare
# Crearea unui snapshot consistent în Qdrant prin API / CLI:
curl -X POST http://localhost:6333/collections/articole/snapshots

# Descărcarea arhivei snapshot rezultate:
curl -O http://localhost:6333/collections/articole/snapshots/articole-snapshot.snapshot

Descriere & Utilizare

Vectorizarea a milioane de documente costă sute sau mii de dolari în tokeni de API și ore întregi de procesare pe GPU. Pierderea colecției vectoriale din cauza unei defecțiuni de disc sau a unei coruperi de date reprezintă un incident major de producție.

Motoarele profesionale oferă mecanisme de Snapshot la cald (Point-in-time Snapshot): acestea îngheață un instantaneu complet al memoriei și al discului fără a bloca cererile de citire și scriere.

În plus, la migrarea între furnizori (de exemplu de la ChromaDB la Qdrant sau la pgvector), se recomandă exportul datelor în formate neutre optimizate pentru volume mari precum Apache Parquet, permițând reîncărcarea în masă la viteze de peste 10.000 de puncte pe secundă.

Cum să o reții ușor

💡 Este ca o fotografie panoramică de înaltă rezoluție a întregului depozit făcută în plină activitate, fără să oprești muncitorii din lucru, pe care o poți folosi oricând pentru a reconstrui depozitul identic pe alt teren.

Opțiuni și parametri tehnici

  • Snapshot API (Qdrant): creează o arhivă binară completă a colecției și a indecșilor HNSW.
  • pg_dump (pgvector): utilitarul clasic Postgres exportă nativ tabelele cu coloane vector într-un fișier SQL/custom dump.
  • Formatul Parquet: format columnar comprimat binar, ideal pentru salvarea perechilor (ID, vector float32, payload JSON).

Exemple practice și cazuri de utilizare

  • Restaurarea unui snapshot în Qdrant la pornirea containerului: docker run -v ./backup:/snapshots -e QDRANT__STORAGE__SNAPSHOTS_PATH=/snapshots qdrant/qdrant
  • Backup pgvector cu compresie: pg_dump -Fc -d mydb -t articole > backup_vectori.dump
  • Export masiv din Python în fișiere Parquet cu pyarrow: import pyarrow.parquet as pq; pq.write_table(table, "vectori.parquet")

Sfaturi de configurare & capcane

Include întotdeauna numele și versiunea exactă a modelului de embedding în metadatele de backup (ex: model="text-embedding-3-small", dim=1536) — dacă schimbi modelul, vectorii vechi devin incompatibili și necesită reindexare completă.

Comenzi și ghiduri înrudite