Multitenancy e namespace

Database vettoriali per Embeddings con Pinecone

James Chapman

Curriculum Manager, DataCamp

Multitenancy

 

  • Servire più tenant in isolamento
  • Separare i dati dei vari clienti
    • Sicurezza e privacy
  • Ridurre la latenza delle query

multitenancy.png

Database vettoriali per Embeddings con Pinecone

Strategie di multitenancy

 

  1. Namespace
    • Vantaggi: riduce la necessità di indici aggiuntivi
    • Svantaggi: i tenant condividono risorse, dati complessi
  2. Filtro per metadati
    • Vantaggi: consente query tra più tenant
    • Svantaggi: risorse condivise, monitoraggio costi difficile
  3. Indici separati
    • Vantaggi: separa fisicamente i tenant, risorse dedicate
    • Svantaggi: più sforzo e costi
Database vettoriali per Embeddings con Pinecone

Namespace

  • Creati implicitamente durante l'upsert se non esistono
index.upsert(
  vectors=vector_set1, namespace="namespace1"
)
index.upsert(
  vectors=vector_set2, namespace="namespace2"
)
Database vettoriali per Embeddings con Pinecone

Ispezionare i namespace

index.describe_index_stats()
{'dimension': 1536,
 'index_fullness': 0.0,
 'namespaces': {'namespace1': {'vector_count': 5},
                'namespace2': {'vector_count': 5}},
 'total_vector_count': 10}
Database vettoriali per Embeddings con Pinecone

Interrogare vettori dai namespace

query_result = index.query(
    vector=vector,

namespace='namespace1',
top_k=3 )
Database vettoriali per Embeddings con Pinecone

Eliminare vettori dai namespace

index.delete(
    ids=["1", "2"],
    namespace='namespace1'
)
Database vettoriali per Embeddings con Pinecone

Ayo berlatih!

Database vettoriali per Embeddings con Pinecone

Preparing Video For Download...