Sto provando a scrivere una specifica per un server di data warehouse per l'aggiornamento pianificato del data warehouse.
Mentre eseguiamo server virtuali su host VMWare, abbiamo la possibilità di aggiungere o rimuovere risorse, se necessario. In passato abbiamo aggiunto in modo incrementale RAM e CPU come richiesto. Poiché le nostre richieste sono aumentate, abbiamo fatto pressioni per ulteriori risorse. (principalmente disco e RAM).
Chiediamo di più. Ci danno il meno possibile.
Tuttavia, di recente, ogni volta che parliamo di risorse, siamo criticati per non aver specificato la macchina in primo luogo, e ora mi viene detto che gli host di sviluppo sono al massimo, non c'è più RAM disponibile.
Siamo una piccola organizzazione del governo locale con circa 50 utenti regolari del DW. Nell'uso quotidiano normale funziona bene. Otteniamo buone prestazioni delle query mdx e i nostri report e dashboard sono veloci. Gli utenti sono felici
Tuttavia, i nostri processi ETL si svolgono per tutta la notte e stiamo iniziando a vedere prove della pressione della memoria durante l'elaborazione simultanea dei datamart. Ieri sera SSIS non è riuscito con avvisi relativi a un "errore di memoria insufficiente".
Il nostro server DW esistente è Win 2008 R2 con 4 CPU e 16 GB di RAM con SQL 2012 Std. Ho una memoria massima del server impostata su 12 GB, lasciando 4 GB per sistema operativo e servizi ecc. Il nostro DW esistente ha 3 datamarts / cubi OLAP e ne stiamo sviluppando altri 2.
+----------+----------+---------------+-----------+---------------+
| Datamart | Files GB | Fact (Rows) | Fact (Mb) | ETL & Process |
| OLAP cube| | | | Time (hours) |
+----------+----------+---------------+-----------+---------------+
| PBI | 3 | 190,000 | 180 | 0.2 |
| FBI | 30 | 26,100,000 | 10,000 | 1.5 |
| RBI | 175 | 62,000,000 | 32,000 | 8.3 |
| ABI* | 100 | 44,050,000 | 21,000 | 4.0 |
| EBI* | 11 | 100,000,000 | 6,000 | 2.0 |
+----------+----------+---------------+-----------+---------------+
* Planned/Estimated
Il nostro nuovo server dovrebbe essere Win 2012 con SQL 2016 Enterprise. Eseguirà SQL, SSIS, SSRS e SSAS. Lo storage non è un problema, ma non sono sicuro di RAM e CPU.
Secondo la Guida di riferimento del data warehouse di Fast Track per SQL Server 2012 , il minimo che dovrei avere è 128Gb per una macchina a 2 socket ... che sembra un po 'eccessivo. I requisiti hardware e software per l'installazione di SQL Server 2016 consigliano almeno 4 GB di RAM per SQL 2016. Questa è una differenza!
Quindi .. Qual è un buon punto di partenza? 32Gb? 64gb? Come posso giustificare la mia posizione di partenza (specifica) all'IT?
Ci sono delle buone guide su come calcolare le risorse del server?
Ci sono delle buone regole pratiche?
Quali sono gli ingredienti / le metriche chiave per il dimensionamento della RAM in un contesto DW?
- Il volume di dati?
- Il numero di cubi?
- Il tempo necessario per eseguire ETL o elaborare un cubo?
- Picco di carico di elaborazione durante la notte o prestazioni visto dagli utenti finali durante il giorno?