Seguici sui social

Intelligenza Artificiale

Che cos'è la multitenancy nei database vettoriali?

mm

Quando carichi e gestisci dati su GitHub che nessun altro può vedere a meno che tu non li renda pubblici, condividi l'infrastruttura fisica con altri utenti. Questo perché GitHub utilizza il multi-tenancy come alternativa economica e più facile da gestire all'assegnazione di un database separato a ciascun utente.

Tuttavia, condividere la stessa infrastruttura diventa un rischio per la sicurezza quando tutti gli utenti possono visualizzare i dati degli altri. Il multi-tenancy risolve questo problema partizionando logicamente i dati degli utenti, consentendo loro di funzionare sulle stesse risorse.

Questo articolo esplora la multitenancy nei database vettoriali, i suoi vantaggi, i limiti e i casi d'uso reali.

Come funziona la multitenancy nei database vettoriali?

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

Viene creato un ambiente isolato utilizzando credenziali univoche per ciascun tenant per proteggere i propri dati. Di conseguenza, ogni tenant può archiviare, gestire e modificare i propri dati nel proprio ambiente isolato. Tuttavia, la società ha l'accesso per gestire e controllare le risorse e le limitazioni del locatario.

Illustrazione di esempio di una raccolta a due tenant con accesso isolato allo stesso database. Fonte immagine: Quadrante

Utilizzo dei database vettoriali indicizzazione come tecnica di ricerca che organizza i vettori in base alla somiglianza. La strategia di indicizzazione influisce sul partizionamento dei dati del tenant. Attualmente, nei database vettoriali multitenant vengono utilizzate due strategie di indicizzazione.

Parliamo di entrambe le strategie di indicizzazione nei database vettoriali multitenant:

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

Alcuni vbanche dati dei settori piace Quadrante e Milvo offrire un'architettura multitenant per consentire maggiore personalizzazione e scalabilità per gli utenti con entrambe le strategie di indicizzazione.

Vantaggi della multitenancy nei database vettoriali

La multitenancy nei database vettoriali offre numerosi vantaggi per le aziende che necessitano di istanze di database isolate per più utenti. Alcuni dei vantaggi includono:

1. Riduzione dei costi

L'utilizzo di meno risorse per più utenti comporta una riduzione dei costi dell'infrastruttura.

2. Scalabilità

La multitenancy consente la condivisione delle risorse in base alle necessità. Ciò significa che i tenant con maggiori requisiti di archiviazione ottengono più risorse e viceversa.

3. Personalizzazione

Un ambiente separato consente ai tenant di configurarlo in base alle proprie esigenze, inclusi schema del database, plug-in, metriche e dashboard. Le configurazioni sono private per i tenant e i tenant possono modificarle man mano che cambiano i loro requisiti.

4. Gestibilità

Consente un unico database per tutti gli inquilini gestione centralizzata delle risorse, configurazione e monitoraggio invece di monitorare tutti i tenant separatamente. Mentre un'azienda può gestire tutti i tenant in un unico posto, i tenant hanno il controllo per gestire i propri dati all'interno dei propri ambienti isolati.

Limitazioni della multitenancy nei database vettoriali

Come qualsiasi altro approccio architetturale, la multitenancy presenta alcune limitazioni. Considerare queste limitazioni è importante per un processo decisionale attento. 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 del tenant, il controllo degli accessi, l'autenticazione dell'utente 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 risolvere questo problema, un'attenta pianificazione e il supporto del database garantiscono un ambiente utente sicuro.

2. Preoccupazioni per la sicurezza

Accesso dannoso, configurazioni errate accidentali o vulnerabilità nell'infrastruttura sottostante possono portare alla condivisione dei dati tra i tenant. Come guardrail, l’implementazione di un’attenta progettazione, la conduzione di controlli regolari e l’integrazione di misure di sicurezza multilivello possono rafforzare la sicurezza complessiva.

3. Colli di bottiglia nelle prestazioni

Un maggiore utilizzo delle risorse da parte di un tenant può rallentare le prestazioni degli altri. Indicizzazione condivisa influisce in modo specifico sulle prestazioni della ricerca a causa dei controlli delle autorizzazioni di runtime per corrispondere all'elenco di accesso. La gestione e il controllo delle risorse, gli aggiornamenti regolari e la formazione dei tenant sono importanti per mitigare i problemi di prestazioni.

4. Interruzione del sistema

La manutenzione programmata, i guasti hardware e i bug software interessano tutti gli inquilini quando condividono un'infrastruttura simile. Ciò porta a dati, reputazione e perdite finanziarie. La valutazione regolare del rischio, la garanzia della qualità dell'infrastruttura e il backup tempestivo possono ridurre al minimo l'impatto negativo delle interruzioni del sistema.

Casi d'uso di Multitenancy

La multitanenza è utile in varie applicazioni, dai sistemi di raccomandazione per l'e-commerce alla formazione di grandi modelli di machine learning (ML) nelle aziende. Alcuni dei casi d'uso più comuni includono:

1. Sistemi di raccomandazione

Immagina una piattaforma di e-commerce in cui gli utenti possono registrarsi e salvare le proprie preferenze di acquisto. Una configurazione multitenant consentirà consigli personalizzati sui prodotti a ciascun utente.

Sulla piattaforma di e-commerce tutti gli inquilini possono impostare i propri criteri, quindi il sistema di raccomandazione invia consigli personalizzati sui prodotti agli utenti finali.

2. Applicazioni aziendali

Le applicazioni software di grandi dimensioni che servono più dipendenti e clienti utilizzano lo stesso database per tutti gli utenti. Tutti gli utenti possono caricare e gestire i propri dati proteggendoli dagli altri. Ad esempio, Dropbox e HubSpot consentono a tutti gli utenti di condividere le stesse risorse ma di mantenere i propri dati protetti gli uni dagli altri.

3. Rilevamento di anomalie e frodi

La multitenancy consente lo sviluppo di robust sistemi di rilevamento delle frodi mantenendo al sicuro i dati individuali. Le aziende addestrano modelli di rilevamento delle frodi sui propri dati anonimizzati e inviano solo il modello addestrato al database centralizzato. Ciò consente loro di mantenere i propri dati al sicuro contribuendo allo sviluppo di sistemi di rilevamento delle frodi.

Per esempio, utilizzo di sistemi di rilevamento delle frodi con carte di credito ML per maggiore privacy ed efficienza.

Quando utilizzare e quando non utilizzare la multitenancy

Alla decisione di passare alla multi-tenancy contribuiscono molteplici fattori, tra cui le prestazioni del tenant, i requisiti di isolamento e i problemi di sicurezza. Di seguito discutiamo in dettaglio quando e quando non utilizzare la multitenancy.

Quando utilizzare la multitenancy

I seguenti indicatori rendono la multitenancy una buona soluzione:

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

Quando non utilizzare la multitenancy

Le limitazioni della multitenancy impediscono che si adatti bene a tutte le situazioni. Un database vettoriale multitenant non è adatto a te se hai i seguenti requisiti:

  1. Gli inquilini possiedono dati altamente sensibili con severi requisiti di sicurezza.
  2. Un numero limitato di inquilini con crescita lenta.
  3. I tenant richiedono ambienti dedicati e non possono tollerare il degrado delle prestazioni.
  4. Competenze multitenant limitate e capacità di gestire la crescente complessità.

La multitenancy introduce ulteriore scalabilità e gestibilità ai database vettoriali. Se configurata correttamente, la multi-tenancy consente di risparmiare costi e risorse significativi per un'organizzazione.

Ti interessano più contenuti relativi all'intelligenza artificiale? Mantenersi in contatto con unire.ai.

Haziqa è un Data Scientist con una vasta esperienza nella scrittura di contenuti tecnici per aziende AI e SaaS.