Sharding e cloud computing [chiuso]

1

Ho letto che Facebook utilizza questa tecnica DB sharding per gestire il suo volume di dati e che il l'idea del cloud computing sono risorse elastiche. Quindi mi chiedo se l'istanza cloud si prenda cura di sharding per te automaticamente? O devi ancora fare quella parte manualmente? E se devi farlo manualmente - allora il DB non mi sembra molto elastico.

    
posta patrick 24.07.2011 - 20:39
fonte

3 risposte

1

Puoi sicuramente condividere automaticamente - prova ScaleBase (divulgazione - io lavoro lì). È possibile installarlo su qualsiasi ambiente cloud (o ambiente fisico). BTW - Sharding non è qualcosa che gli RDBMS offrono - le soluzioni Oracle e MS-SQL non sono in comune - e almeno la soluzione RAC di Oracle non è in scala reale, né viene eseguita su ambienti cloud. MySQL ha un cluster MySQL, che scala, ma ovviamente non è gratuito ...

    
risposta data 25.07.2011 - 09:22
fonte
6

La sharding nella pratica è complicata perché raramente è possibile eseguire automaticamente (e quindi elasticamente nel cloud) la partizione del DB per bilanciare efficacemente le query di bilanciamento. In pratica si arriva sempre con zone calde e uno dei pochi modi in cui è possibile è progettare lo schema db che anticipa tali zone calde (che è qualcosa che l'elasticità cloud non ti darà).

L'altro problema con il sharding è la perdita di disponibilità di un frammento sul fallimento del nodo che trasporta il frammento. In genere, è necessario rinunciare a una coerenza rigorosa o alla disponibilità durante la condivisione. Potresti voler esaminare il teorema di CAP di Brewer che indica i compromessi che hai a fare quando si costruisce un sistema distribuito. In pratica, i sistemi distribuiti tendono a complicarsi con i sistemi intrecciati con diverse proprietà di disponibilità e coerenza.

Bottomline ... c'è poco automatico qui. La corretta progettazione dei componenti distribuiti può portarti molto lontano.

    
risposta data 25.07.2011 - 00:27
fonte
1

Questa funzione non è dell'istanza cloud ma del DBMS. Oracle & SQL Server lo fa da libero MySQL utilizza plugin.

Puoi usarlo su qualsiasi tipo di app, non solo su cloud.

    
risposta data 24.07.2011 - 23:09
fonte

Leggi altre domande sui tag