Multitenancy and namespaces

Vector Databases for Embeddings with Pinecone

James Chapman

Curriculum Manager, DataCamp

Multitenancy

 

  • Serve multiple tenants in isolation
  • Separate different customers' data
    • Security and privacy
  • Reduce query latency

multitenancy.png

Vector Databases for Embeddings with Pinecone

Multitenancy strategies

 

  1. Namespaces
    • Advantages: Reduces the need for additional indexes
    • Disadvantages: Tenants share resources, complex data
  2. Metadata Filtering
    • Advantages: Allows querying across multiple tenants
    • Disadvantages: Shared resources, challenging cost tracking
  3. Separate Indexes
    • Advantages: Physically separates tenants, allocates individual resources
    • Disadvantages: Requires more effort and cost
Vector Databases for Embeddings with Pinecone

Namespaces

  • Created implicitly during upsertion if they don't exist
index.upsert(
  vectors=vector_set1, namespace="namespace1"
)
index.upsert(
  vectors=vector_set2, namespace="namespace2"
)
Vector Databases for Embeddings with Pinecone

Inspecting namespaces

index.describe_index_stats()
{'dimension': 1536,
 'index_fullness': 0.0,
 'namespaces': {'namespace1': {'vector_count': 5},
                'namespace2': {'vector_count': 5}},
 'total_vector_count': 10}
Vector Databases for Embeddings with Pinecone

Querying vectors from namespaces

query_result = index.query(
    vector=vector,

namespace='namespace1',
top_k=3 )
Vector Databases for Embeddings with Pinecone

Deleting vectors from namespaces

index.delete(
    ids=["1", "2"],
    namespace='namespace1'
)
Vector Databases for Embeddings with Pinecone

Let's practice!

Vector Databases for Embeddings with Pinecone

Preparing Video For Download...