Casa Finanza personale Transizione da un modello RDBMS a HBase - dummies

Transizione da un modello RDBMS a HBase - dummies

Video: Paper Province, un modello da seguire nella transizione verso la crescita verde 2024

Video: Paper Province, un modello da seguire nella transizione verso la crescita verde 2024
Anonim

Se stai affrontando la fase di progettazione per la tua applicazione e ritieni che HBase possa essere una buona soluzione, quindi progettando le tue chiavi di riga e lo schema per adattarle al modello di dati e all'architettura di HBase è il giusto approccio. Tuttavia, a volte ha senso spostare un database originariamente progettato per un RDBMS in HBase.

Uno scenario comune in cui questo approccio ha senso è un'istanza di database MySQL che ha raggiunto i suoi limiti di scalabilità. Esistono tecniche per il ridimensionamento orizzontale di un'istanza MySQL ( sharding, in altre parole), ma questo processo è solitamente macchinoso e problematico perché MySQL semplicemente non è stato originariamente progettato per il sharding.

La transizione dal modello relazionale al modello HBase è una disciplina relativamente nuova. Tuttavia, alcuni modelli di pensiero stabiliti stanno emergendo e si sono unificati in tre principi chiave da seguire quando ci si avvicina a una transizione. Questi principi sono denormalizzazione, duplicazione, e chiavi intelligenti (DDI) .

  • Denormalizzazione: Il modello di database relazionale dipende da a) uno schema di database normalizzato eb) unisce le tabelle per rispondere alle operazioni SQL. La normalizzazione del database è una tecnica che protegge dalla perdita di dati, dalla ridondanza e da altre anomalie man mano che i dati vengono aggiornati e recuperati.

    Ci sono un certo numero di regole che gli esperti seguono per arrivare a uno schema di database normalizzato (e la normalizzazione del database è un intero studio stesso), ma il processo di solito comporta la divisione di tabelle più grandi in tabelle più piccole e la definizione di relazioni fra loro. La denormalizzazione del database è l'opposto della normalizzazione, in cui tabelle più piccole e specifiche vengono unite in tabelle più grandi e più generali.

    Questo è uno schema comune quando si passa a HBase perché i join non vengono forniti tra le tabelle e i join possono essere lenti poiché comportano costose operazioni su disco. Proteggere dall'aggiornamento e dalle anomalie nel recupero è ora il compito dell'applicazione client HBase, poiché le protezioni garantite dalla normalizzazione sono nulle.

  • Duplicazione: Mentre denormalizzi lo schema del tuo database, probabilmente finirai con la duplicazione dei dati perché può aiutarti a evitare costose operazioni di lettura su più tabelle. Non preoccuparti dell'archiviazione extra (ovviamente ovviamente); puoi sfruttare la scalabilità automatica di HBase a tuo vantaggio.

    Tuttavia, tieni presente che sarà necessario un ulteriore lavoro dall'applicazione client per duplicare i dati e ricordare che nativamente HBase fornisce solo operazioni atomiche a livello di riga non incrociate (con l'eccezione descritta nella HBIR-5229 JIRA) o cross tavolo.

  • Chiavi intelligenti: Poiché i dati memorizzati in HBase sono ordinati per chiave di riga e la chiave di riga è l'unico indice nativo fornito dal sistema, un'accurata progettazione intelligente della chiave di riga può fare un'enorme differenza. Ad esempio, la tua chiave di riga potrebbe essere una combinazione di un numero di ordine di servizio e il numero ID del cliente che ha inserito l'ordine di servizio.

    Il design di questa riga chiave consente di cercare i dati relativi all'ordine di servizio o di cercare i dati relativi al cliente utilizzando la stessa chiave di riga nella stessa tabella. Questa tecnica sarà più veloce per alcune query ed eviterà costosi join di tabelle.

Per chiarire questi particolari schemi di pensiero, prendere una tabella di informazioni sul contatto con il cliente e inserirla nel contesto di un tipico database di ordini di assistenza. La figura mostra come potrebbe essere uno schema di database di un ordine di servizio normalizzato.

Seguendo le regole della normalizzazione RDBMS, impostare la tabella delle informazioni di contatto del cliente in modo che sia separata dalla tabella dell'ordine di servizio per evitare di perdere i dati dei clienti quando gli ordini di servizio vengono chiusi ed eventualmente cancellati. Adottare lo stesso approccio per la tabella Prodotti, il che significa che è possibile aggiungere nuovi prodotti al database aziendale fittizio indipendentemente dagli ordini di servizio.

Facendo affidamento sulle operazioni di join RDBMS, questo schema supporta query che rivelano il numero di ordini di servizio che vengono aperti rispetto a un particolare prodotto insieme alla posizione del cliente in cui il prodotto è in uso.

Va tutto bene e dandy, ma è uno schema che useresti con RDBM. Come si passa questo schema a uno schema HBase? La figura seguente illustra un possibile schema HBase, uno che segue il modello di progettazione DDI.

La tabella delle informazioni sul contatto con il cliente è stata denormalizzata includendo il nome del cliente e le informazioni di contatto al posto delle chiavi esterne utilizzate in precedenza. Inoltre, i dati vengono duplicati mantenendo la tabella Informazioni contatto cliente così com'è. Ora i join tra la tabella dell'ordine di servizio e la tabella di informazioni sul contatto con il cliente non sono necessari.

Inoltre, è stato utilizzato un design intelligente della riga di comando che combina il numero del prodotto con il numero cliente per formare il numero dell'ordine di servizio (A100 | 00001, ad esempio). Usando questa chiave intelligente, la tabella degli ordini di servizio può fornire rapporti vitali sulle carenze del prodotto e sui clienti che attualmente stanno riscontrando problemi con il prodotto.

Tutte queste query possono essere supportate da HBase in modo atomico a livello di riga per l'applicazione. Poiché tu sai che HBase ordina le chiavi di riga e le ordina in modo lessicografico, la tua applicazione può fare alcune ipotesi plausibili sulla località dei dati durante l'emissione di scansioni per la segnalazione. (Tutti i numeri dei prodotti della serie A * verranno memorizzati insieme, ad esempio.)

Il database degli ordini di servizio rappresentato dallo schema HBase è un esempio relativamente semplice, ma illustra come HBase, in alcuni casi, può intersecarsi con il mondo RDBMS e fornire un valore significativo. Se la società fittizia ha terabyte o anche petabyte di dati sulle chiamate di servizio da archiviare, HBase farebbe un'enorme differenza in termini di costi, affidabilità, prestazioni e scalabilità.

È possibile, ovviamente, progettare lo schema di HBase in diversi modi. Indubbiamente, il design dipende interamente dalle query che devono essere supportate, ma si ha la possibilità di trasferire alcuni database relazionali in applicazioni HBase molto potenti per l'uso di produzione, purché si lavori da una solida conoscenza dell'architettura HBase e del modello di progettazione DDI.

Questo esempio ha presupposto che le query siano state eseguite da un'applicazione Java sfruttando le API del client HBase, o forse tramite un'altra lingua usando Apache Thrift. Questo modello di applicazione può adattarsi perfettamente ai requisiti e fornire utili prestazioni e opzioni di personalizzazione per la società di servizi fittizi.

Transizione da un modello RDBMS a HBase - dummies

Scelta dell'editore

Scattare foto digitali con uno zoom ottico - dummy

Scattare foto digitali con uno zoom ottico - dummy

La fotocamera digitale potrebbe avere uno zoom ottico, che è un Obiettivo zoom attuale vecchio stile (al contrario di uno zoom digitale). Per utilizzare lo zoom ottico della fotocamera digitale per scatti ravvicinati, segui questi passaggi di preparazione delle immagini prima di attivare il pulsante o lo switch di zoom:

La reflex digitale e la sensibilità alla luce - dummy

La reflex digitale e la sensibilità alla luce - dummy

La tua reflex digitale ha un'opzione per determinare la sensibilità del sensore della fotocamera è alla luce. Le fotocamere digitali sono le stesse delle fotocamere a pellicola in quanto la sensibilità alla luce è determinata dalla valutazione ISO. Il vantaggio di una fotocamera digitale è che non è necessario cambiare pellicola per modificare le valutazioni ISO. Quando aumenti ...

Scatti grandangolari con obiettivi standard - manichini

Scatti grandangolari con obiettivi standard - manichini

Fotografia grandangolare con un angolo di campo maggiore rispetto alla lunghezza focale normale o teleobiettivo. A volte si percepiscono le foto come molto espansive. Altre volte, a malapena lo si nota. Dipende tutto dal soggetto e da come si inquadra la scena. Questa figura mostra una scena di terreni agricoli che è stata scattata utilizzando un Sony APS-C ...

Scelta dell'editore

Come usare il meta tag DESCRIPTION - dummies

Come usare il meta tag DESCRIPTION - dummies

I meta tag sono tag HTML speciali che puoi utilizzare per trasportare informazioni, che i browser o altri programmi possono quindi leggere. Quando i motori di ricerca di Internet furono creati per la prima volta, i webmaster includevano i meta tag nelle loro pagine per rendere più facile per i motori di ricerca determinare le pagine. I motori di ricerca hanno utilizzato anche questi meta ...

Come scrivere un grande tag Title Web Marketing - dummies

Come scrivere un grande tag Title Web Marketing - dummies

Scrivere un tag title è fondamentale per il successo del web marketing e coinvolge più che mettere le parole chiave prima. I motori di ricerca mostrano il tag parola chiave nella parte superiore di ciascun elemento nelle pagine dei risultati dei motori di ricerca (SERP). Un tag del titolo ben scritto potrebbe aumentare le probabilità che un cliente in ricerca faccia clic sul tuo annuncio. Se ...

In che modo Yahoo! Cerca negli elenchi di Internet e dei ranghi - dummies

In che modo Yahoo! Cerca negli elenchi di Internet e dei ranghi - dummies

Quando le persone effettuano ricerche sul Web utilizzando Yahoo! , ottengono una combinazione di risultati organici e pagati. Se lavori per una società più grande, potresti provare Yahoo! La ricerca inoltra Pro per ottenere un vantaggio rispetto alla concorrenza e puoi persino registrare il tuo sito con Yahoo! Directory. Yahoo! I risultati di ricerca organica ...

Scelta dell'editore

Di Spotify su ShareMyPlaylists. it Funzionalità del sito - dummies

Di Spotify su ShareMyPlaylists. it Funzionalità del sito - dummies

ShareMyPlaylists (o SMP, in breve) è stato uno dei primi siti di condivisione di playlist Spotify e continua a innovare e offrire nuove funzionalità ai visitatori. Il mantra del sito è "Long Live the Mixtape", e qui troverai tantissime creazioni accuratamente compilate da migliaia di utenti. Dopo aver creato una playlist Spotify piena di ...

Spotify Unlimited - dummies

Spotify Unlimited - dummies

Spotify Unlimited è un modo brillante per ascoltare tutta la musica che vuoi senza limiti. È come una persona speciale che ti compra da mangiare e da bere tutta la sera per non doverti preoccupare del conto. È come essere in grado di dormire nel weekend senza preoccuparsi del lavoro o se ...

I generi di Spotify - dummies

I generi di Spotify - dummies

Che si tratti di hard rock, techno, pop, jazz, industrial, indie pop, folk , classico, heavy metal, valzer o qualsiasi altra cosa ti piaccia, Spotify ha il genere o il tipo di musica coperto. Puoi cercare i generi comuni da Spotify. Sebbene Spotify abbia pubblicato un elenco di quasi 1, 000 generi noti, non tutti saranno in grado di offrire ...