Modelli e piattaforme di IA

Cos’è la multitenency nelle banche dati vettoriali?

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

Quando carichi e gestisci i tuoi dati su GitHub in modo che nessun altro possa vederli a meno che non li rendi pubblici, condividi l’infrastruttura fisica con altri utenti. Ciò avviene perché GitHub utilizza la multitenency come un’alternativa economica e più facile da gestire rispetto all’assegnazione di un database separato per ogni utente.

Tuttavia, condividere la stessa infrastruttura diventa un rischio per la sicurezza quando tutti gli utenti possono visualizzare i dati degli altri. La multitenency affronta questo problema dividendo logicamente i dati degli utenti mentre consente loro di eseguire le stesse risorse.

Questo articolo esplora la multitenency nelle banche dati vettoriali, i suoi vantaggi, le limitazioni e i casi d’uso nel mondo reale.

Come funziona la multitenency nelle banche dati vettoriali?

La multitenency è un approccio in cui più tenant, ovvero utenti, condividono lo stesso database ma archiviano i loro dati in un ambiente isolato.

Un ambiente isolato viene creato utilizzando credenziali univoche per ogni tenant per proteggere i suoi dati. Di conseguenza, ogni tenant può archiviare, gestire e modificare i propri dati nel suo ambiente isolato. Tuttavia, l’azienda ha l’accesso per gestire e controllare le risorse e le limitazioni dei tenant.

Esempio di illustrazione di una raccolta a due tenant con accesso isolato allo stesso database. Fonte dell’immagine: Qdrant

Le banche dati vettoriali utilizzano l’indicizzazione come tecnica di ricerca che organizza i vettori in base alla somiglianza. La strategia di indicizzazione influisce sulla partizione dei dati dei tenant. Attualmente, vengono utilizzate due strategie di indicizzazione nelle banche dati vettoriali multitenant.

Esaminiamo entrambe le strategie di indicizzazione nelle banche dati vettoriali multitenant:

  1. Indicizzazione condivisa: tutti i tenant condividono lo stesso indice con credenziali univoche che dividono i dati. Questo metodo è efficiente in termini di memoria. Tuttavia, richiede meccanismi di sicurezza e controllo degli accessi robusti per proteggere i dati dei tenant.
  2. Indicizzazione per tenant: ogni tenant ha un indice separato nell’indicizzazione per tenant. Ciò consente un controllo completo degli accessi e un miglioramento delle prestazioni di ricerca. Tuttavia, questo metodo è intensivo in termini di risorse.

Alcune banche dati vettoriali come Qdrant e Milvus offrono un’architettura multitenant per consentire una personalizzazione e una scalabilità aggiuntive per gli utenti con entrambe le strategie di indicizzazione.

Vantaggi della multitenency nelle banche dati vettoriali

La multitenency nelle banche dati vettoriali offre numerosi vantaggi per le aziende che richiedono istanze di database isolate per più utenti. Alcuni dei vantaggi includono:

1. Riduzione dei costi

Utilizzare meno risorse per più utenti si traduce in una riduzione dei costi di infrastruttura.

2. Scalabilità

La multitenency consente la condivisione delle risorse in base alle esigenze. Ciò significa che i tenant con requisiti di archiviazione più elevati ricevono più risorse e viceversa.

3. Personalizzazione

Un ambiente separato consente ai tenant di configurarlo in base alle loro esigenze, inclusi lo schema del database, i plugin, le metriche e i dashboard. Le configurazioni sono private per i tenant e i tenant possono modificarle in base alle loro esigenze.

4. Gestione

Un database unico per tutti i tenant consente una gestione centralizzata delle risorse, della configurazione e del monitoraggio invece di monitorare tutti i tenant separatamente. Mentre un’azienda può gestire tutti i tenant in un unico luogo, i tenant hanno il controllo per gestire i propri dati all’interno dei loro ambienti isolati.

Limitazioni della multitenency nelle banche dati vettoriali

Come qualsiasi altro approccio architettonico, la multitenency ha alcune limitazioni. È importante considerare queste limitazioni per una presa di decisioni accurata. Le limitazioni più comuni includono:

1. Complessità aggiuntive

La gestione di più tenant su una singola risorsa richiede una configurazione aggiuntiva. Ciò include l’onboarding dei tenant, il controllo degli accessi, l’autenticazione degli utenti e l’autorizzazione. La mancanza di conoscenza e supporto potrebbe portare a risultati indesiderati come la condivisione accidentale dei dati o il sovraccarico delle risorse.

Per affrontare questo, una pianificazione attenta e un supporto del database garantiscono un ambiente utente sicuro.

2. Preoccupazioni per la sicurezza

L’accesso malintenzionato, le configurazioni accidentali o le vulnerabilità nell’infrastruttura sottostante possono portare a una condivisione dei dati tra i tenant. Come misure di sicurezza, l’attuazione di un design attento, la conduzione di audit regolari e l’incorporazione di misure di sicurezza multilivello possono rafforzare la sicurezza complessiva.

3. Colli di bottiglia delle prestazioni

Un utilizzo più elevato delle risorse da parte di un tenant può rallentare le prestazioni degli altri. L’indicizzazione condivisa influisce in particolare sulle prestazioni di ricerca a causa dei controlli di autorizzazione in fase di esecuzione per corrispondere all’elenco di accesso. La gestione delle risorse e del controllo, gli aggiornamenti regolari e l’istruzione dei tenant sono importanti per mitigare i problemi di prestazioni.

4. Guasto del sistema

La manutenzione pianificata, il guasto dell’hardware e i bug del software influiscono su tutti i tenant quando condividono un’infrastruttura simile. Ciò porta a perdite di dati, di reputazione e finanziarie. Una valutazione dei rischi regolare, un’assicurazione della qualità dell’infrastruttura e un backup tempestivo possono minimizzare l’impatto negativo dei guasti del sistema.

Casi d’uso della multitenency

La multitenency è utile in vari applicazioni, dalle piattaforme di e-commerce ai sistemi di raccomandazione fino all’addestramento di grandi modelli di apprendimento automatico in aziende. Alcuni dei casi d’uso più comuni includono:

1. Sistemi di raccomandazione

Immagina una piattaforma di e-commerce in cui gli utenti possono iscriversi e salvare le loro preferenze di acquisto. Un’impostazione multitenant consente raccomandazioni di prodotti personalizzate per ogni utente.

Sulla piattaforma di e-commerce, tutti i tenant possono impostare i propri criteri in modo che il sistema di raccomandazione invii raccomandazioni di prodotti personalizzate agli utenti finali.

2. Applicazioni aziendali

Le grandi applicazioni software che servono più dipendenti e clienti utilizzano lo stesso database per tutti gli utenti. Tutti gli utenti possono caricare e gestire i propri dati mentre li proteggono dagli altri. Ad esempio, Dropbox e HubSpot (HUBS ) consentono a tutti gli utenti di condividere le stesse risorse mentre mantengono i propri dati protetti dagli altri.

3. Rilevamento di anomalie e frodi

La multitenency consente lo sviluppo di robusti sistemi di rilevamento di frodi mentre mantiene i dati individuali sicuri. Le aziende addestrano modelli di rilevamento di frodi sui propri dati anonimizzati e inviano solo il modello addestrato nel database centralizzato. Ciò consente loro di mantenere i propri dati sicuri mentre contribuiscono allo sviluppo di sistemi di rilevamento di frodi.

Ad esempio, i sistemi di rilevamento di frodi con carte di credito utilizzano l’apprendimento automatico per una maggiore privacy e efficienza.

Quando utilizzare e quando non utilizzare la multitenency

Molti fattori contribuiscono alla decisione di passare alla multitenency, tra cui le prestazioni dei tenant, i requisiti di isolamento e le preoccupazioni per la sicurezza. Discutiamo quando e quando non utilizzare la multitenency nel dettaglio di seguito.

Quando utilizzare la multitenency

I seguenti indicatori rendono la multitenency una scelta appropriata:

  1. Più tenant necessitano di ambienti separati.
  2. I tenant possono accettare compromessi sulle prestazioni.
  3. La riduzione dei costi è la tua priorità.
  4. La gestione centralizzata dei tenant migliora le tue operazioni.

Quando non utilizzare la multitenency

Le limitazioni della multitenency la rendono inadatta a tutte le situazioni. Un database vettoriale multitenant non è adatto per te se hai i seguenti requisiti:

  1. I tenant possiedono dati altamente sensibili con requisiti di sicurezza rigorosi.
  2. Un numero limitato di tenant con una crescita lenta.
  3. I tenant richiedono ambienti dedicati e non possono tollerare una degradazione delle prestazioni.
  4. Competenze e capacità di gestione della multitenency limitate per gestire la complessità crescente.

La multitenency introduce ulteriore scalabilità e gestione alle banche dati vettoriali. Se configurata correttamente, la multitenency risparmia costi e risorse significativi per un’organizzazione.

Interessato a ulteriore contenuto relativo all’intelligenza artificiale? Mantieniti in contatto con unite.ai.

Haziqa è uno scienziato dei dati con una vasta esperienza nella scrittura di contenuti tecnici per aziende di intelligenza artificiale e SaaS.