it-swarm.it

Che cosa significa ridimensionamento orizzontale?

Nel contesto del database, ho riscontrato la scalabilità orizzontale come uno dei vantaggi dei database NOSQL. Cosa significa il termine?

Come si confronta con ridimensionamento verticale ?

23
Lazer

Ridimensionamento orizzontale
Il ridimensionamento orizzontale sta essenzialmente costruendo invece che su. Non vai a comprare un server più robusto e trasferisci tutto il carico su di esso, invece acquisti 1+ server aggiuntivi e distribuisci il carico su di essi.

Il ridimensionamento orizzontale viene utilizzato quando si ha la possibilità di eseguire più istanze sui server contemporaneamente. In genere è molto più difficile passare da 1 server a 2 server, quindi è da 2 a 5, 10, 50, ecc.

Una volta risolti i problemi legati all'esecuzione di istanze parallele, puoi trarre grande vantaggio da ambienti come Amazon EC2, Rackspace's Cloud Service, GoGrid, ecc. In quanto puoi aumentare e ridurre le istanze in base alla domanda, riducendo la necessità di pagare per l'alimentazione del server non stai usando solo per coprire quei carichi di picco.

I database relazionali sono uno degli elementi più difficili da eseguire in lettura/scrittura completa in parallelo.

Ho visto Damien Katz parlare di CouchDB a StackOverflow DevDays ad Austin e uno dei suoi obiettivi principali per la sua creazione erano queste istanze parallele. Dato che questo è stato al centro di questo sin dal primo giorno, sarebbe molto più in grado di sfruttare il ridimensionamento orizzontale.

Ridimensionamento verticale
Il ridimensionamento verticale è l'opposto, costruito invece che fuori. Vai e acquista l'hardware più potente che puoi permetterti e inserisci la tua applicazione, database, ecc.

Mondo reale
Naturalmente, entrambi hanno i loro vantaggi e svantaggi. Spesso una combinazione di questi due viene utilizzata per una soluzione finale.

Potresti avere il tuo database principale in cui tutti scrivono e leggono i dati in tempo reale su un hardware di grandi dimensioni. Quindi hai distribuito copie di sola lettura del database per analisi e rapporti di dati più pesanti in cui essere aggiornati al minuto non importa così tanto. Quindi l'applicazione Web front-end potrebbe essere in esecuzione su più server Web dietro un bilanciamento del carico.

24
ManiacZX

Il ridimensionamento orizzontale è ottimo quando è necessaria un'applicazione che deve gestire un'elevata quantità di scritture e letture parallele. Pensa a un sito Web che sta ricevendo un'enorme quantità di traffico e deve registrarlo o deve registrare un gran numero di eventi.

Immagino che il più grande vantaggio sia che il ridimensionamento orizzontale può essere fatto usando l'hardware delle materie prime, e c'è solo così tanto che puoi fare con il ridimensionamento verticale e cercando di ingrandire le tue scatole esistenti.

Gli RDBMS tradizionali falliscono qui per una serie di ragioni (incluso il fatto che sono ACID) e le soluzioni NoSQL Excel qui perché possono essere facilmente ridimensionate in orizzontale - ma questa è un'altra storia (RDBMS/SQL vs NoSQL.)

0
Suman

Alcune persone del settore usano una terminologia diversa per indicare la stessa cosa:

  • scale up = ridimensionamento verticale
  • ridimensionamento = ridimensionamento orizzontale
0
Toddius Zho