Si consiglia di utilizzare SQL Server come database per applicazioni massicciamente scalabili?

9

Supponiamo che stiate progettando di creare un sito web della scala di Facebook (se cito il nome di un sito Web, perché non Facebook ?!). È consigliabile utilizzare SQL Server come database per tali applicazioni?

Sto facendo questa domanda perché molti miei colleghi dicono che il server SQL non dovrebbe essere usato come tali applicazioni. Preferiscono Oracle o MySQL invece.

    
posta Mayank 22.01.2011 - 14:41
fonte

6 risposte

9

, SQL Server è stato progettato per un utilizzo intensivo, incluso il Web. Ha la capacità di essere inserito in molte configurazioni differenti come istanze di memoria accoppiate con istanze CPU e SAN come storage.

Chiedi il tuo integratore o evangelista locale per i consigli.

È possibile trovare molte risorse relative alle funzionalità di ridimensionamento di SQL Server sul Web e, come punto di partenza, ecco un bel post del blog del team di SQL Server sull'argomento: link

Assicurati di controllare in che modo Azure fornisce SQL Server nel cloud.

    
risposta data 22.01.2011 - 14:47
fonte
3

Non dovresti utilizzare i tradizionali motori di database se hai bisogno di funzionalità realmente scalabili.

I database SQL tradizionali scalano abbastanza bene (troverete numerosi esempi di siti di grandi dimensioni usando MySQL, SQL Server o Orcale) ma a un certo punto raggiungerà il limite di scalabilità. Esattamente quando ciò accade dipenderà dal livello della domanda, dalla complessità dei requisiti dell'applicazione, dalla quantità che si è disposti a spendere in server costosi e dalla capacità di ottimizzare l'utilizzo del database. Molti siti non raggiungeranno mai questo limite, ma se lo fai allora è piuttosto doloroso e ti troverai di fronte a una grossa sfida ingegneristica per risolvere il problema.

Oltre questo punto, hai davvero bisogno di un database NoSQL completamente distribuito - ad es. qualcosa come Cassandra , che in effetti è stato sviluppato su Facebook per risolvere alcune delle loro sfide relative ai big data. I database NoSQL sacrificano esplicitamente alcune delle tradizionali funzionalità del database SQL (di solito intorno a transazioni, blocco e coerenza finale) per consentire una scalabilità orizzontale effettivamente illimitata.

In generale, il mio consiglio sarebbe di capire se hai davvero bisogno di una scalabilità massiccia e di scegliere il tuo percorso tecnologico di conseguenza.

    
risposta data 21.04.2012 - 14:51
fonte
2

SQL Server è la corrispondenza per qualsiasi altro database per questo tipo di lavoro, ma se stai pensando di fare qualcosa su quel tipo di scala potresti lavorare meglio con un sistema di storage della tabella cloud piuttosto che con un database relazionale convenzionale in termini di scalabilità o progettazione di un sistema eterogeneo che utilizza la memorizzazione della tabella per la gestione dei dati su scala più ampia e un database per i luoghi in cui sono necessarie le strutture relazionali o transazionali che offrono.

    
risposta data 22.01.2011 - 22:50
fonte
2

Non posso rispondere per MySQL (!) ma ho esperienza nel supportare i clienti che scegliamo se usare SQLServer o Oracle. Finora, abbiamo scoperto che generalmente non c'è differenza tra loro, ma quando le cose vanno al limite, Oracle è di gran lunga il prodotto migliore. Ad esempio, stiamo attualmente riducendo il nostro sistema mission-critical 24/7 per eliminare un carico di record, in quanto SQLServer ha deciso che sarebbero necessarie molte ore per eseguire questa attività durante l'esecuzione (in un ambiente con mirroring). Abbiamo riscontrato problemi con la distribuzione dei log di un set di dati di grandi dimensioni su un collegamento WAN che non è mai stato risolto. Cose come questa ci rendono sempre felici di supportare i clienti che operano su Oracle, dove non abbiamo mai avuto problemi del genere.

Quindi, se stai cercando un sistema massicciamente scalabile, è probabile che troverai questi problemi. Oracle è noioso, difficile e fastidioso, ma funziona davvero.

    
risposta data 12.07.2011 - 13:58
fonte
1

Sì. Credo che Microsoft Live.com sia costruito su SQL Server.

Essendo un fan di Linux / PostgreSQL lasciami dire che puoi creare Facebook con qualsiasi tecnologia odierna, specialmente SQL Server.

Se non hai intenzione di avere tanti utenti come Facebook (500M), allora questo sito Web (Stack Overflow network) è costruito sopra .Net e SQL Server.

    
risposta data 22.01.2011 - 14:47
fonte
1

Come strumento potresti essere in grado di usare SQL Server ma ricorda che i siti come Facebook non sono costruiti solo su un Database. Usano varie tecnologie per portare a termine il compito, guarda i video di Yahoo per scoprire come Facebook gestisce solo i log e ti accorgerai che DB è solo una parte dell'enorme architettura scalabile. A circa 10000 righe di aggiornamento al secondo ho visto sia SQL Server che Oracle DB essere molto lenti dopo alcuni giorni su una buona macchina di configurazione. Il mio problema è che non potrei usare il calcolo distribuito. Quindi è importante esaminare i sistemi di supporto che un DB o un'architettura scalabile possono fornire.

    
risposta data 22.01.2011 - 15:58
fonte

Leggi altre domande sui tag