Multitenancy dan namespace

Database Vektor untuk Embeddings dengan Pinecone

James Chapman

Curriculum Manager, DataCamp

Multitenancy

 

  • Layani beberapa tenant secara terisolasi
  • Pisahkan data tiap pelanggan
    • Keamanan dan privasi
  • Kurangi latensi query

multitenancy.png

Database Vektor untuk Embeddings dengan Pinecone

Strategi multitenancy

 

  1. Namespace
    • Kelebihan: Mengurangi kebutuhan indeks tambahan
    • Kekurangan: Tenant berbagi sumber daya, data kompleks
  2. Penyaringan Metadata
    • Kelebihan: Bisa query lintas banyak tenant
    • Kekurangan: Sumber daya berbagi, pelacakan biaya menantang
  3. Indeks Terpisah
    • Kelebihan: Pisahkan tenant secara fisik, alokasi sumber daya per tenant
    • Kekurangan: Perlu usaha dan biaya lebih besar
Database Vektor untuk Embeddings dengan Pinecone

Namespace

  • Dibuat implisit saat upsert jika belum ada
index.upsert(
  vectors=vector_set1, namespace="namespace1"
)
index.upsert(
  vectors=vector_set2, namespace="namespace2"
)
Database Vektor untuk Embeddings dengan Pinecone

Memeriksa 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 Vektor untuk Embeddings dengan Pinecone

Query vektor dari namespace

query_result = index.query(
    vector=vector,

namespace='namespace1',
top_k=3 )
Database Vektor untuk Embeddings dengan Pinecone

Hapus vektor dari namespace

index.delete(
    ids=["1", "2"],
    namespace='namespace1'
)
Database Vektor untuk Embeddings dengan Pinecone

Ayo berlatih!

Database Vektor untuk Embeddings dengan Pinecone

Preparing Video For Download...