Carico di lavoro del data warehouseData warehouse workload

Per carico di lavoro del data warehouse si intendono tutte le operazioni che passano attraverso un data warehouse.A data warehouse workload refers to all of the operations that transpire against a data warehouse. Tale carico di lavoro include pertanto l'intero processo di caricamento dei dati nel data warehouse, l'esecuzione dell'analisi e la creazione dei report a esso relativi, la gestione dei dati in esso contenuti e l'esportazione dei dati da esso.The data warehouse workload encompasses the entire process of loading data into the warehouse, performing analysis and reporting on the data warehouse, managing data in the data warehouse, and exporting data from the data warehouse. La profondità e l'estensione di questi componenti sono spesso proporzionali al livello di maturità del data warehouse.The depth and breadth of these components are often commensurate with the maturity level of the data warehouse.

Per gli utenti non esperti di data warehouseNew to data warehousing?

Un data warehouse è una raccolta di dati caricata da una o più origini dati e usata per eseguire attività di business intelligence, quali la creazione di report e l'analisi dei dati.A data warehouse is a collection of data that is loaded from one or more data sources and is used to perform business intelligence tasks such as reporting and data analysis.

I data warehouse sono caratterizzati da query che analizzano quantità più elevate di righe o grandi intervalli di dati e possono restituire risultati di dimensioni relativamente importanti ai fini dell'analisi e della creazione di report.Data warehouses are characterized by queries that scan larger numbers of rows, large ranges of data and may return relatively large results for the purposes of analysis and reporting. I data warehouse sono anche caratterizzati da caricamenti di dati relativamente estesi anziché da inserimenti, aggiornamenti o eliminazioni a livello di transazione di piccole dimensioni.Data warehouses are also characterized by relatively large data loads versus small transaction-level inserts/updates/deletes.

  • Un data warehouse funziona al meglio quando i dati sono archiviati in maniera da ottimizzare le query che devono analizzare grandi quantità di righe o grandi intervalli di dati.A data warehouse performs best when the data is stored in a way that optimizes queries that need to scan large numbers of rows or large ranges of data. Questo tipo di analisi opera in modo ottimale quando i dati vengono archiviati e sottoposti a ricerche in base alle colonne invece che alle righe.This type of scanning works best when the data is stored and searched by columns, instead of by rows.

Nota

L'indice columnstore in memoria, che si basa sull'archiviazione in colonne, offre una compressione fino a dieci volte superiore e prestazioni delle query anche cento volte più elevate rispetto agli alberi binari tradizionali per le query di creazione di report e analisi.The in-memory columnstore index, which uses column storage, provides up to 10x compression gains and 100x query performance gains over traditional binary trees for reporting and analytics queries. Gli indici columnstore vengono considerati uno standard per l'archiviazione e l'analisi di grandi quantità di dati in un data warehouse.We consider columnstore indexes as the standard for storing and scanning large data in a data warehouse.

  • Un data warehouse ha requisiti diversi rispetto a un sistema ottimizzato per l'elaborazione di transazioni online (OLTP).A data warehouse has different requirements than a system that optimizes for online transaction processing (OLTP). Il sistema OLTP prevede numerose operazioni di inserimento, aggiornamento ed eliminazione.The OLTP system has many insert, update, and delete operations. Queste operazioni eseguono la ricerca fino a righe specifiche nella tabella.These operations seek to specific rows in the table. Le ricerche nelle tabelle vengono eseguite in modo ottimale quando i dati sono archiviati riga per riga.Table seeks perform best when the data is stored in a row-by-row manner. I dati possono essere ordinati e ricercati rapidamente secondo un approccio di tipo "divide et impera", noto anche come ricerca nell'albero binario o albero B.The data can be sorted and quickly searched with a divide and conquer approach called a binary tree or btree search.

Caricamento dei datiData loading

Il caricamento dei dati rappresenta una parte considerevole del carico di lavoro del data warehouse.Data loading is a big part of the data warehouse workload. Le aziende in genere dispongono di un sistema OLTP occupato che tiene traccia delle modifiche nel corso della giornata quando i clienti generano transazioni aziendali.Businesses usually have a busy OLTP system that tracks changes throughout the day when customers are generating business transactions. Periodicamente, spesso di notte durante una finestra di manutenzione, le transazioni vengono spostate o copiate nel data warehouse.Periodically, often at night during a maintenance window, the transactions are moved or copied to the data warehouse. Quando i dati si trovano nel data warehouse, gli analisti possono eseguire l'analisi e prendere decisioni aziendali basandosi su di essi.Once the data is in the data warehouse, analysts can perform analysis and make business decisions on the data.

  • Il processo di caricamento tradizionalmente viene indicato con l'acronimo ETL (Extract, Transform, Load), ovvero estrazione, trasformazione e caricamento.Traditionally, the process of loading is called ETL for Extract, Transform, and Load. I dati solitamente devono essere trasformati per diventare coerenti con gli altri dati contenuti nel data warehouse.Data usually needs to be transformed so it is consistent with other data in the data warehouse. In passato le aziende usavano server ETL dedicati per eseguire le trasformazioni.Previously, businesses used dedicated ETL servers to perform the transformations. Ora, grazie all'elevata velocità dell'elaborazione parallela massiva, è possibile prima caricare i dati in SQL Data Warehouse e quindi effettuare le trasformazioni.Now, with such fast massively parallel processing you can load data into SQL Data Warehouse first, and then perform the transformations. Tale processo è detto ELT (Extract, Load, Transform), ovvero estrazione, caricamento e trasformazione, e sta diventando un nuovo standard per il carico di lavoro del data warehouse.This process is called Extract, Load, and Transform (ELT), and is becoming a new standard for the data warehouse workload.

Nota

Con SQL Server 2016 è ora possibile eseguire l'analisi in tempo reale su una tabella OLTP.With SQL Server 2016, you can now perform analytics in real-time on an OLTP table. Il data warehouse sarà comunque necessario per archiviare e analizzare i dati, ma l'analisi sarà possibile in tempo reale.This does not replace the need for a data warehouse to store and analyze data, but it does provide a way to perform analysis in real-time.

Query di reporting e analisiReporting and analysis queries

Le query di reporting e analisi vengono spesso classificate come di piccole, medie e grandi dimensioni in base al numero di criteri, ma in genere si basano sul tempo.Reporting and analysis queries are often categorized into small, medium and large based on a number of criteria, but usually it is based on time. Nella maggior parte dei data warehouse è presente un carico di lavoro misto costituito da una combinazione di query a esecuzione rapida e query a esecuzione prolungata.In most data warehouses, there is a mixed workload of fast-running versus long-running queries. In ogni caso è importante determinare tale combinazione e la relativa frequenza (oraria, giornaliera, a fine mese, a fine trimestre e così via).In each case, it is important to determine this mix and to determine its frequency (hourly, daily, month-end, quarter-end, and so on). È fondamentale comprendere che il carico di lavoro con query miste, insieme alla concorrenza, porta a una pianificazione appropriata della capacità per un data warehouse.It is important to understand that the mixed query workload, coupled with concurrency, lead to proper capacity planning for a data warehouse.

  • La pianificazione della capacità può essere un'attività complessa per un carico di lavoro con query miste, soprattutto se è necessario un lungo lead time per aggiungere capacità al data warehouse.Capacity planning can be a complex task for a mixed query workload, especially when you need a long lead time to add capacity to the data warehouse. Con SQL Data Warehouse la pianificazione della capacità non è più indispensabile, in quanto è possibile aumentare e ridurre la capacità di calcolo in qualsiasi momento e tale capacità e quella di archiviazione vengono dimensionate in modo indipendente.SQL Data Warehouse removes the urgency of capacity planning since you can grow and shrink compute capacity at any time, and since storage and compute capacity are independently sized.

Gestione datiData management

La gestione dati è importante, soprattutto quando si sa che a breve lo spazio su disco potrebbe esaurirsi.Managing data is important, especially when you know you might run out of disk space in the near future. I data warehouse in genere suddividono i dati in intervalli significativi, che vengono archiviati come partizioni in una tabella.Data warehouses usually divide the data into meaningful ranges, which are stored as partitions in a table. Tutti i prodotti basati su SQL Server consentono di spostare le partizioni all'interno e all'esterno della tabella.All SQL Server-based products let you move partitions in and out of the table. Tale spostamento delle partizioni consente di spostare i dati meno recenti in aree di archiviazione meno costose e di mantenere disponibili i dati più recenti nello spazio di archiviazione online.This partition switching lets you move older data to less expensive storage and keep the latest data available on online storage.

  • Gli indici columnstore supportano le tabelle partizionate.Columnstore indexes support partitioned tables. Per questi indici, le tabelle partizionate vengono usate per la gestione e l'archiviazione dei dati.For columnstore indexes, partitioned tables are used for data management and archival. Per le tabelle archiviate riga per riga, le partizioni hanno un peso maggiore sulle prestazioni delle query.For tables stored row-by-row, partitions have a larger role in query performance.
  • PolyBase svolge un ruolo importante nella gestione dati.PolyBase plays an important role in managing data. Usando PolyBase, si ha la possibilità di archiviare i dati meno recenti in Hadoop o nell'archivio BLOB di Azure.Using PolyBase, you have the option to archive older data to Hadoop or Azure blob storage. Sono così disponibili numerose opzioni, dal momento che i dati sono ancora online.This provides lots of options since the data is still online. Il recupero dei dati da Hadoop potrebbe richiedere più tempo, ma il costo di archiviazione potrebbe rivelarsi più vantaggioso.It might take longer to retrieve data from Hadoop, but the tradeoff of retrieval time might outweigh the storage cost.

Esportazione dei datiExporting data

Un modo per rendere disponibili i dati per i report e l'analisi consiste nell'inviarli dal data warehouse ai server dedicati all'esecuzione di report e analisi.One way to make data available for reports and analysis is to send data from the data warehouse to servers dedicated for running reports and analysis. Tali server sono denominati data mart.These servers are called data marts. Ad esempio, è possibile pre-elaborare i dati dei report e quindi esportarli dal data warehouse in numerosi server di tutto il mondo per renderli ampiamente disponibili per clienti e analisti.For example, you could pre-process report data and then export it from the data warehouse to many servers around the world, to make it broadly available for customers and analysts.

  • Per generare i report, ogni notte si potrebbe inserire uno snapshot dei dati giornalieri in server di report di sola lettura.For generating reports, each night you could populate read-only reporting servers with a snapshot of the daily data. Questo garantisce ai clienti una larghezza di banda superiore e diminuisce la richiesta di risorse di calcolo nel data warehouse.This gives higher bandwidth for customers while lowering the compute resource needs on the data warehouse. Dal punto di vista della sicurezza, i data mart consentono di ridurre il numero degli utenti che hanno accesso al data warehouse.From a security aspect, data marts allow you to reduce the number of users who have access to the data warehouse.
  • Per l'analisi, è possibile creare un apposito cubo nel data warehouse ed eseguire l'analisi su quest'ultimo oppure pre-elaborare i dati ed esportarli nel server di analisi in modo che possano essere analizzati ulteriormente.For analytics, you can either build an analysis cube on the data warehouse and run analysis against the data warehouse, or pre-process data and export it to the analysis server for further analytics.

Passaggi successiviNext steps

Dopo aver appreso alcune informazioni su SQL Data Warehouse, vedere come creare un SQL Data Warehouse rapidamente e caricare i dati di esempio.Now that you know a bit about SQL Data Warehouse, learn how to quickly create a SQL Data Warehouse and load sample data.