Database di capacità di 100 TeraBytes - Risorse e stime dei tempi


10

Sto lavorando a un calcolo "retro della busta" per una configurazione del database di report da 100 TB. Sto cercando pensieri dagli esperti qui. Ambiente proposto:

  1. Capacità di memoria ~ 100 TB
  2. Tabelle ~ 200, dimensioni che vanno da 1 GB a 5 TB. la dimensione media potrebbe essere compresa tra 100 GB e 200 GB
  3. ETL: i lavori potrebbero richiedere l'unione tra tabelle di 10 di milioni di righe, con chiavi di join comprese tra 10 byte e 500 byte. tali join dovrebbero terminare in meno di 2-5 minuti
  4. Live Select: inizialmente interessato solo a determinate velocità. dovrebbe supportare 500 selezioni / secondo. Gli aggiornamenti / secondo saranno un numero relativamente più piccolo e possono essere ignorati per questo esercizio.
  5. necessita di disponibilità 24x7. Dovrebbero essere disponibili 2 server DB indipendenti per servire chiamate selezionate (con i dati replicati).

Domande:

  1. Al momento, sto guardando Oracle. Come è stata la tua esperienza con altre soluzioni open source commerciali (o) per database di grandi dimensioni?
  2. Quale sistema operativo hardware hai visto funzionare meglio? Sto programmando per Linux su Dell.
  3. Lo storage di rete, come NetApp, è un must? Quali problemi prevedi con l'utilizzo di dischi commerciali disponibili?
  4. Una volta che l'hardware e il sistema operativo sono pronti, quanto tempo vorresti dedicare all'installazione, alla configurazione del DB, all'archiviazione ecc.
  5. Quali composizioni di team hanno funzionato meglio negli ambienti che hai osservato? Voglio dire, i vari amministratori (amministratore del sistema operativo, amministratore Oracle DB?) Richiesti per gestire e gestire tale configurazione. Quanti di questi potrebbero essere necessari per ottenere un uptime 24x7.
  6. Qualsiasi approssimazione / intervallo su licenze DB, costi di archiviazione di rete.

So di non avere tutti i dettagli sull'ambiente. Non sto cercando dettagli esatti, un'approssimazione è sufficiente. Sebbene alcune delle domande possano essere meglio risolte dai manager, sono interessato alla prospettiva degli amministratori. Apprezzo il tuo contributo.


1
Penso che questa domanda sia troppo ampia per rispondere. Lascerò che gli altri vedano se sono d'accordo prima che io progredisca.
Philᵀᴹ

1
@Phil Sono d'accordo, non ero sicuro che questo dovesse essere suddiviso in più domande, quindi gli utenti con competenze diverse potrebbero rispondere a parti diverse. Ma la descrizione dell'ambiente è la stessa per tutte le domande, quindi ho proceduto a formulare un'unica domanda. Penso che questa potrebbe essere la mia prima domanda su SO (anche se un utente normale di SO), quindi considerami come un novizio e se c'è un modo migliore per porre questa domanda, ti preghiamo di suggerire.
Kash

10
Sembra un progetto multimilionario. Baseresti questo progetto sui consigli del forum?
Remus Rusanu,

1
@RemusRusanu Questa non è l'unica fonte di informazioni. Quando ciò andrà alla fase di valutazione formale, ci saranno molte altre attività. Ho un'alta opinione del consiglio che gli utenti SO danno. Mentre scrivevo la domanda, ero sicuro di trovare alcuni dettagli molto utili a cui non avevo pensato affatto.
Kash

1
@RemusRusanu - lo è. L'ultimo prezzo che ho visto per Netezza è stato di $ 20k / TB per i sistemi TwinFin. Non sono sicuro di cosa sarebbe una scatola Exadata di quella capacità. Inoltre, lo SLA è piuttosto aggressivo e il sistema sembra avere una vasta base di utenti. Potrebbe essere necessario un numero maggiore di server di data mart per gestire il carico di query.
Preoccupato di

Risposte:


21

Prime impressioni

  1. A seconda dei requisiti di prestazione, 100 TB è un volume di dati piuttosto aggressivo. Se vuoi Oracle, dovresti dare un'occhiata ai loro sistemi Exadata. Inoltre, dai un'occhiata alle offerte di Netezza o Teradata. Con quel volume di selezioni potresti voler esaminare un front-end basato su OLAP o almeno un uso abbastanza aggressivo di viste materializzate e riscrittura delle query. Non otterrai 500 scansioni di tabelle al secondo da nulla.

    Per elementi con requisiti di latenza meno rigorosi, è possibile prendere in considerazione un numero maggiore di data mart per fornire la capacità di reporting alla propria comunità di utenti. In questo caso, SQL Server e SSAS potrebbero essere un'opzione per i data mart poiché le licenze su un numero maggiore di server saranno più economiche rispetto al tentativo di fare lo stesso con Oracle.

  2. Vedi (1). L'hardware convenzionale su un'architettura a disco condiviso è probabilmente lento su questo set di dati di dimensioni.

  3. NO! Se qualcuno suggerisce NFS dare loro un buon calcio. Memoria con collegamento diretto o SAN con controller multipli con molti controller di fascia media. Pensa in termini di forse un paio di dozzine di controller della serie MD3000 o qualcosa di simile - se non scegli una piattaforma "big data" appositamente costruita.

  4. Ottieni uno specialista dello storage con esperienza nelle piattaforme di data warehouse della gamma PB. Probabilmente sei pronto per un significativo lavoro di sviluppo ETL e un sacco di lavoro di test se devi rispettare un rigido SLA.

  5. 24x7 su un data warehouse è ambizioso nel migliore dei casi. Si tratta di una piattaforma di segnalazione operativa? Forse potresti approfondire un po 'le tue esigenze.

  6. Sfintere incredibilmente costoso e dipendente dalle tue esigenze prestazionali. L'ultima volta che ho visto (un paio di anni fa) Netezza era solito citare $ 20.000 / TB per i sistemi TwinFin, rendendo la tua piattaforma $ 2m per 100TB più il costo del tuo server ridondante e hardware di backup. Credo che Exadata sia un po 'più economico, ma non ho prezzi a portata di mano.

    Dai un'occhiata a Netezza, Exadata e una piattaforma Teradata per il confronto e i costi per Ab Initio come strumento ETL.

Si tratta di una serie di requisiti piuttosto aggressivi: 24 ore su 24, 7 giorni su 7, in un data warehouse non vengono normalmente eseguiti e i volumi di dati sono abbastanza grandi da metterti nel regno di una piattaforma di "big data". Se hai un requisito di segnalazione operativa, dovresti esaminare attentamente di cosa si tratta. Tienilo separato dalle tue analisi a meno che tu non abbia un motivo specifico (ad esempio un feed di dati di mercato a bassa latenza) per non farlo. Mescolare i requisiti operativi e analitici sulla stessa piattaforma è un problema.

Penso che tu abbia davvero bisogno di specialisti per valutare le tue esigenze. Senza dare un'occhiata più da vicino a ciò che stai cercando di ottenere, tutto ciò che posso dare sono alcuni suggerimenti empirici su cosa fare o non fare.


8

Alcune altre opzioni da considerare quando si gestiscono enormi volumi di dati come questo includono:

  1. Tutto ciò che ha pubblicato @ConcernedOfTunbridgeWells
  2. Greenplum di EMC
  3. Parallel Data Warehouse di Microsoft

Non pianificare di risparmiare sui costi dell'hardware da nessuna parte. Un sistema con questo tipo di specifiche ti costerà un sacco di soldi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.