Condivisione della tecnologia

Magazzino dati Hive multi-tenant

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Concetto

La multi-tenant corrisponde a un singolo tenant Questo articolo si concentra sulla multi-tenant per motivi di comprensione.

1.1 Multi-locazione

La tecnologia multi-tenant, o tecnologia multi-tenant, denominata SaaS, è una tecnologia di architettura software che realizza come condividere lo stesso sistema o componenti di programma in un ambiente multiutente (qui multiutente è generalmente per utenti aziendali), e può garantire l'isolamento dei dati tra gli utenti. In poche parole: una singola istanza dell'applicazione viene eseguita su un server e serve più tenant (clienti). Dalla definizione possiamo capire:La multi-tenancy è un'architettura che mira a consentire a più utenti di utilizzare lo stesso set di programmi e garantire l'isolamento dei dati tra gli utenti.

1.2 Locatario unico

La differenza tra le architetture a tenant singolo e multi-tenant è che il tenant singolo crea applicazioni software separate e ambienti di supporto per ciascun utente. Il SaaS a tenant singolo è ampiamente citato nelle applicazioni in cui i clienti necessitano di supportare la personalizzazione, a causa della geografia o perché richiedono controlli di sicurezza più elevati. Attraverso il modello single-tenant, ogni cliente dispone di una copia del database e del sistema operativo collocati su un server indipendente o in un ambiente di rete virtuale isolato utilizzando forti misure di sicurezza.

1.3 La differenza tra single tenant e multi-tenant

  1. Esistono diversi livelli di controllo di sicurezza. I database multi-tenant archiviano dati da più tenant indipendenti Sebbene sia impostato l'isolamento di sicurezza, il livello di controllo di sicurezza è ancora superiore a quello di un singolo tenant. Poiché un singolo tenant dispone di un ambiente software e hardware indipendente e il database memorizza solo i dati di un tenant, la possibilità di perdita di dati è tecnicamente eliminata. L'architettura a tenant singolo è talvolta più adatta per determinati settori che richiedono controllo di sicurezza o addirittura requisiti di conformità legale.
  2. I backup dei dati variano in complessità. Un singolo tenant dispone di un database indipendente e il backup e il ripristino dei database dei clienti sono molto semplici. Multi-tenant condividono un database e i dati dei tenant sono isolati e condivisi. Il sistema non può eseguire automaticamente backup indipendenti dell'azienda ogni giorno.
  3. I tempi di aggiornamento del controllo variano. I costi di manutenzione del sistema multi-tenant sono bassi e, quando un sistema multi-tenant viene aggiornato, deve essere aggiornato solo una volta. Il personale di manutenzione non ha bisogno di aggiornare ciascun utente, risparmiando molti costi operativi e di manutenzione. Ciò è utile per i sistemi in cui tutti i client fanno la stessa cosa. Tuttavia, se l'aggiornamento del sistema avviene quando l'azienda è particolarmente impegnata, avrà inevitabilmente un impatto sugli utenti aziendali.

Scenari applicativi: il multi-tenancy è adatto a più aziende (dipartimenti) diverse all'interno dello stesso gruppo (azienda). Anche se i dati vengono divulgati, non verranno divulgati all'esterno.

2. Soluzione di isolamento dei dati multi-tenant

  • banca dati indipendente
  • Database condiviso, schema indipendente
  • Database condiviso, schema condiviso, tabella dati condivisa

2.1 Banca dati indipendente

Questa è la prima soluzione, un tenant e un database.Questa soluzione offre il più alto livello di isolamento dei dati utente e la migliore sicurezza, ma il costo è più elevato.

  • Vantaggi: fornire database indipendenti per diversi tenant aiuta a semplificare la progettazione di espansione del modello dati e a soddisfare le esigenze specifiche dei diversi tenant, se si verifica un errore, è relativamente semplice ripristinare i dati.
  • Svantaggi: aumenta il numero di installazioni di database, con conseguente aumento dei costi di manutenzione e di acquisizione.

Questa soluzione è simile alla tradizionale con un cliente, un insieme di dati e un insieme di distribuzione. L'unica differenza è che il software viene distribuito in modo uniforme presso l'operatore. Se ti trovi di fronte a inquilini come banche e ospedali che richiedono livelli di isolamento dei dati molto elevati, puoi scegliere questo modello per aumentare il prezzo di affitto. Se il prezzo è basso e il prodotto segue una strada a basso prezzo, questa soluzione è generalmente inaccessibile per gli operatori.

2.2 Database condiviso, schema indipendente

Questa è la seconda soluzione, ovvero più o tutti i tenant condividono il database, ma ciascun tenant ha uno schema (chiamato anche utente). Le librerie sottostanti sono, ad esempio: DB2, ORACLE, ecc. Possono esserci più SCHEMA in un unico database.

  • Vantaggi: fornisce un certo grado di isolamento logico dei dati per i tenant con requisiti di sicurezza più elevati, ma non un isolamento completo; ciascun database può supportare un numero maggiore di tenant.
  • Svantaggi: se si verifica un errore, il ripristino dei dati è difficile perché il ripristino del database coinvolgerà i dati di altri tenant, se sono necessarie statistiche tra tenant, si verificheranno alcune difficoltà.

2.3 Database condiviso, schema condiviso, tabella dati condivisa

Questa è la terza opzione, Cioè, i tenant condividono lo stesso database e lo stesso schema, ma aggiungono il campo dati multi-tenant TenantID alla tabella.Questa è la modalità con il più alto grado di condivisione e il più basso livello di isolamento
Cioè, ogni volta che viene inserito un dato, viene richiesto un ID cliente. In questo modo è possibile distinguere nella stessa tabella i dati di diversi clienti.

  • Vantaggi: confronto di tre opzioni,La terza opzione presenta i costi di manutenzione e acquisizione più bassi e consente il maggior numero di tenant per database.
  • Svantaggi: il livello di isolamento più basso e la sicurezza più bassa, che richiedono un maggiore sviluppo della sicurezza durante la progettazione e lo sviluppo, il backup e il ripristino dei dati sono i più difficili e richiedono il backup e il ripristino tabella per tabella;Questa soluzione è più adatta se si desidera servire il maggior numero di tenant con il minor numero di server e i tenant accettano di sacrificare il livello di isolamento in cambio di costi inferiori.

2.4 Riepilogo

Durante il processo di implementazione SaaS, c'è un ovvio punto da considerare, ovvero come progettare i dati dell'applicazione per supportare multi-tenant. L'idea di questo progetto è trovare un equilibrio tra condivisione dei dati, isolamento di sicurezza e prestazioni.Le caratteristiche delle tre modalità possono essere riassunte in un'unica immagine

Data warehouse hive multi-tenant multi-tenant saas_multi-tenant