Showing posts with label Azure SQL Data Warehouse. Show all posts
Showing posts with label Azure SQL Data Warehouse. Show all posts

Thursday, 9 May 2019

Azure SQL Data Warehouse releases new capabilities for performance and security

As the amount of data stored and queried continues to rise, it becomes increasingly important to have the most price-performant data warehouse. While we’re excited about being the industry leader in both of Gigaom’s TPC-H and TPC-DS benchmark reports, we don’t plan to stop innovating on behalf of our customers.

We’re excited to introduce several new features that will continue to make Azure SQL Data Warehouse the unmatched industry leader in price-performance, flexibility, and security.

To enable customers to continue improving the performance of their applications without adding any additional cost, we’re announcing preview availability of result-set caching, materialized views, and ordered clustered columnstore indexes.

In addition to price-performance enhancements, we’ve added new capabilities that enable customers to be more agile and flexible. The first is workload importance, which is a new feature that enables users to decide how workloads with conflicting needs get prioritized. Second, our new support for automatic statistics maintenance (auto-update statistics) means that manageability and maintenance of Azure SQL Data Warehouse just got easier and more effective. And finally, we’re also adding support for managing and querying JSON data. Users can now load JSON data directly into their data warehouses and mix it with other relational data, leading to faster and easier insights.

Our last announcement focuses on security and privacy. As you know, deploying data warehousing solutions in the cloud demands sophisticated and robust security. While Azure SQL Data Warehouse already enables an advanced security model to be deployed, today we’re announcing support for Dynamic Data Masking (DDM). DDM allows you to protect private data, through user-defined policies, ensuring it’s visible only to those that have permission to see it.

Azure Certifications, Azure Learning, Azure Guides, Azure Study Materials

In the sections below, we’ll dive into these new features and the benefits that each provide.

Price-performance


Price-performance is a reoccurring theme in our releases because it ensures we provide one of the fastest analytics services at incredible value. With new functionalities announced today, we continue to demonstrate our commitment towards offering the leading price-performance platform.

Interactive dashboarding with result-set caching (preview)

Interactive dashboards come with predictable and repetitive query patterns. Result-set caching, now available in preview, helps with this scenario as it enables instant query response times while reducing time-to-insight for business analysts and reporting users.

With result-set caching enabled, Azure SQL Data Warehouse automatically caches results from repetitive queries, causing subsequent query executions to return results from the persisted cache that omits full query execution. In addition to saving compute cycles, queries satisfied by result-set cache do not use any concurrency slots and thus do not count against existing concurrency limits. For security reasons, only users with the appropriate security credentials can access the result sets in cache.

Materialized views to improve performance (preview)

Another new feature that greatly enhances query performance for a wide set of queries is materialized view support, now available in preview. A materialized view improves the performance of complex queries (typically queries with joins and aggregations) while offering simple maintenance operations.

When materialized views are created, Azure SQL Data Warehouse query optimizer transparently and automatically rewrites user queries to leverage deployed materialized views, leading to improved query performance. Best of all, as the data gets loaded into base tables, Azure SQL Data Warehouse automatically maintains and refreshes materialized views, providing a simplified view of maintenance and management. As the user queries leverage materialized views, queries run significantly faster and use less system resources. The more complex and expensive the query within the view is, the bigger potential there is for execution time savings.

Fast scans with ordered clustered columnstore indexes (preview)

Columnstore is a key enabler for storing and efficiently querying large amounts of data. For each table, it divides incoming data into row groups and each column of a row group forms a segment on a disk. When querying columnstore indexes, only the column segments that are relevant to user queries are read from the disk. Ordered clustered columnstore indexes further optimize query execution by enabling efficient segment elimination.

Due to pre-ordered data, you can drastically reduce the number of segments that are read from the disk, leading to faster query processing. Ordered clustered columnstore indexes is now available in preview, and queries containing filters and predicates can greatly benefit from this feature.

Flexibility


As business requirements evolve, the ability to change and adapt solution behavior is one of the key benefits of a modern data warehousing product. The ability to handle and manage heterogeneous data that enterprises have while offering ease of use and management is critical. To support these needs, Azure SQL Data Warehouse is introducing the following new functionalities to help you deal with ever-evolving requirements.

Prioritize workloads with workload importance (general availability)

Running mixed workloads on your analytics solution is often a necessity to effectively and quickly execute business processes. In situations where resources are constrained, the capability to decide which workloads need to be executed first is critical, as it helps with overall solution cost management. For instance, executive dashboard reports may be more important than ad-hoc queries. Workload importance now enables this scenario. Requests with higher importance are guaranteed quicker access to resources, which helps meet predefined SLAs and ensures important requests are prioritized.

Workload classification concept

To define workload priority, various requests must be classified. Azure SQL Data Warehouse supports flexible classification policies that can be set for a SQL query, a database user, database role, Azure Active Directory login, or Azure Active Directory group. Workload classification is achieved using the new CREATE WORKLOAD CLASSIFIER syntax.

The diagram below illustrates the workload classification and importance function:

Azure Certifications, Azure Learning, Azure Guides, Azure Study Materials

Workload importance concept

Workload importance is established through classification. Importance influences a requester's access to system resources  including memory, CPU, and IO and locks. A request can be assigned one of these five levels of importance: low, below_normal, normal, above_normal, and high. If a request with above_normal importance is scheduled, it gets access to resources before a request with the default normal importance.

Azure Certifications, Azure Learning, Azure Guides, Azure Study Materials

Manage and query JSON data (preview)

Organizations are increasingly faced with dealing with multiple data sources and heterogeneous file formats, JSON being among the top ones, aside from CSV files. To speed up time to insight and minimize unnecessary data transformation processes, Azure SQL Data Warehouse now enables support for querying JSON data. This feature is now available in preview.

Business analysts can now use the familiar T-SQL language to query and manipulate documents that are formatted as JSON data. JSON functions, such as JSON_VALUE, JSON_QUERY, JSON_MODIFY, and OPENJSON are now supported in Azure SQL Data Warehouse. Azure SQL Data Warehouse can now effectively support both relational and non-relational data, including joins between the two, while enabling users to use their traditional BI tools, such as Power BI.

Automatic statistics maintenance and update (preview)

Azure SQL Data Warehouse implements a cost-based optimizer to ensure optimal execution plans are being generated and used. For any cost-based optimizer to be effective, column level statistics are needed. When these statistics are stale, there is potential for selecting a non-optimal plan, leading to slower query performance.

Today, we’re extending that support for auto statistics creation by adding the ability to automatically refresh and maintain statistics. As data warehouse tables get loaded and updated, the system can now automatically detect and update out-of-date statistics. With the auto-update statistics capability now available in preview, Azure SQL Data Warehouse delivers full statistics management capabilities while simplifying statistics maintenance processes. You no longer need to manually maintain statistics, which leads to a simplified and more cost-effective data warehouse deployment.

Security


Azure SQL Data Warehouse provides one of the most advanced security and privacy features in the market. This is achieved through using proven SQL Server technology. SQL Server, as the core technology and component of Azure SQL Data Warehouse, has been the least vulnerable databases over the last eight years according to the NIST national vulnerabilities database. To expand existing Azure SQL Data Warehouse's security and privacy features, we’re announcing Dynamic Data Masking (DDM) support is now available in preview.

Protect sensitive data with dynamic data masking (preview)

Dynamic data masking (DDM) enables administrators and data developers to control access to their company’s data, allowing sensitive data to be safe and restricted. It prevents unauthorized access to private data by obscuring the data on-the-fly. Based on user-defined data masking policies, Azure SQL Data Warehouse can dynamically obfuscate data as the queries execute, and before results are shown to users.

Azure Certifications, Azure Learning, Azure Guides, Azure Study Materials

Azure SQL Data Warehouse implements the DDM capability directly inside the engine. When creating tables with DDM, policies are stored in the system's metadata and then enforced by the engine as queries get executed. This centralized policy enforcement process simplifies data masking rules management as access control is not implemented and repeated at the application layer. As various users access queries tables, policies are automatically honored and applied while protecting sensitive data. DDM comes with flexible policies and you can choose to define a partial mask, which exposes some of the data in the selected columns, or a full mask that obfuscates the data completely. Azure SQL Data Warehouse also provides built-in masking functions that users can choose from.

Wednesday, 9 January 2019

Teradata to Azure SQL Data Warehouse migration guide

With the increasing benefits of cloud-based data warehouses, there has been a surge in the number of customers migrating from their traditional on-premises data warehouses to the cloud. Microsoft Azure SQL Data Warehouse (SQL DW) offers the best price to performance when compared to its cloud-based data warehouse competitors. Teradata is a relational database management system and is one of the legacy on-premises systems that customers are looking to migrate from.

The Teradata to SQL DW migrations involve multiple steps. These steps include analyzing the existing workload, generating the relevant schema models, and performing the ETL operation. The intent of this discussed whitepaper is to provide guidance for these aforesaid migrations with emphasis on the migration workflow, the architecture, technical design considerations, and best practices.

Migration Phases


Azure SQL Data Warehouse, Azure Certification, Azure Learning, Azure Study Materials

The Teradata migration should pivot on the following six areas. Though recommended, proof of concept is an alternative step. With the benefit of Azure, you can quickly provision Azure SQL Data Warehouses for your development team to start business object migration before the data is migrated and speed up the migration process.

Phase one – Fact finding

Through a question and answers session you can define what your inputs and outputs are for the migration project.

Phase two – Defining success criteria for proof of concept (POC)

Taking the answers from phase one, you identify a workload for running a POC to validate the outputs required and run the following phases as a POC.

Phase three: Data layer mapping options

This phase is about mapping the data you have in Teradata to the data layout you will create in Azure SQL Data Warehouse. Some of the common scenarios are data type mapping, date and time format, and more.

Phase four – Data modeling

Once you’ve defined the data mappings, phase four concentrates on how to tune Azure SQL Data Warehouse. This provides the best performance for the data you will be landing into it.

Phase five: Identify migration paths

What is the path of least resistance? What is the quickest path given your cloud maturity? Phase five helps describe the options open to you and then for you to decide on the path you wish to take.

Phase six: Execution of migration

Migrating your Teradata data to SQL Data Warehouse involves a series of steps. These steps are executed in three logical stages, preparation, metadata migration, and data migration.

Migration solution


To ingest data, you need a basic cloud data warehouse setup for moving data from your on-premise solution to Azure SQL Data Warehouse, and to enable the development team to build Azure Analysis Cubes once the majority of the data is loaded.

Azure SQL Data Warehouse, Azure Certification, Azure Learning, Azure Study Materials

◈ Azure Data Factory Pipeline is used to ingest and move data through the store, prep, and train pipeline.
◈ Extract and load files via Polybase into the staging schema on Azure SQL DW.
◈ Transform data through staging, source (ODS), EDW and sematic schemas on Azure SQL DW.
◈ Azure Analysis services will be used as the sematic layer to serve thousands of end users and scale out Azure SQL DW concurrency.
◈ Build operational reports and analytical dashboards on top of Azure Analysis services to serve thousands of end users via Power BI.

This whitepaper is broken into sections which detail the migration phases, the preparation required for data migration including schema migration, migration of the business logic, the actual data migration approach, and testing strategy.

Saturday, 19 May 2018

Extract management insights from SQL Data Warehouse with SQL Operations Studio

SQL Operations Studio can be leveraged with Azure SQL Data Warehouse (SQL DW) to create rich customizable dashboard widgets surfacing insights to your data warehouse. This unlocks key scenarios around managing and tuning your data warehouse to ensure it is optimized for consistent performance. Previously, developers had to manually and continuously execute complex DMV queries to extract insights from their data warehouse. This leads to a repetitious process when following development and tuning best practices with SQL DW. Now with SQL Operations Studio, customized insight widgets can be embedded directly within the query tool enabling you to seamlessly monitor and troubleshoot issues with your data warehouse.

The following widgets can be generated by using the provided T-SQL monitoring scripts within SQL Operations Studio for common data warehouse insights.

Data Skew


Detect data skew across distributions to help identify and troubleshoot query performance issues:

SQL Data Warehouse, Microsoft Azure, Azure Certification, Azure Data Warehouse

Columnstore health and statistics


Leverage views to help maximize columnstore row group quality and ensure table statistics are up to date for optimal query performance:

SQL Data Warehouse, Microsoft Azure, Azure Certification, Azure Data Warehouse

User Activity


Identify and understand workload patterns through active sessions queries, queued queries, loads, and backups:

SQL Data Warehouse, Microsoft Azure, Azure Certification, Azure Data Warehouse

Resource Bottlenecks


Ensure adequate resources are allocated such as memory and TempDB:

SQL Data Warehouse, Microsoft Azure, Azure Certification, Azure Data Warehouse

Friday, 4 May 2018

Blazing fast data warehousing with Azure SQL Data Warehouse

We announced general availability of Azure SQL Data Warehouse (SQL DW) Compute Optimized Gen2 tier, the new generation of Azure SQL DW. Azure SQL DW is a fast, flexible, and secure cloud data warehouse tuned for running complex queries fast and across petabytes of data.

We see two key trends that drive data warehousing decisions, the amount of data continues to grow exponentially and the need to deliver insights from all this data is even more urgent. Azure SQL DW Compute Optimized Gen2 tier is designed to help customer accomplish just this by delivering dramatic query performance improvement. In addition, SQL DW now supports up to 128 concurrent queries while being able to provision five times more computing power compared to the previous product generation.

“After upgrading to the Gen2 of SQL Data Warehouse, our data warehouse workload has seen an average of 5.4 times performance improvement. This enhancement to the service is phenomenal and helps us deliver key customer insights for our business” said Brent Niezgocki, Senior Software Engineer for the Azure Active Directory analytics team at Microsoft.

Azure SQL Data Warehouse, Azure Tutorials and Materials, Azure Learning, Azure Certifications

Fast query performance through adaptive caching


As organizations look to accelerate time to insight, performance in the domain of interactive queries continues to be a top requirement. One of the biggest bottlenecks and pain points for delivering high performance is disk access. This holds especially true in cloud computing where the distance from the compute layer to the storage layer can potentially vary, leading to suboptimal query performance. Azure SQL DW Compute Optimized Gen2 tier delivers built-in adaptive caching that automatically caches data based on workload characteristics and query access patterns. Combining in-memory and disk-deployed caches, SQL Data Warehouse automatically and transparently moves frequently accessed data across various caching tiers. This caching strategy leads to faster data access and ultimately faster query performances. In addition to smart caching strategies, Azure SQL DW Compute Optimized Gen2 tier now leverages the latest hardware innovations that Azure offers. Together, all of this enables Azure SQL DW Compute Optimized Gen2 tier to deliver the next level of performance characteristics. On average, query workloads see five times the performance improvements compared to SQL DW Gen1.

Azure SQL Data Warehouse, Azure Tutorials and Materials, Azure Learning, Azure Certifications

Powering enterprise-wide dashboards with high concurrency


Many organizations rely on Business Intelligence (BI) tools to get insight into various business metrics and KPIs. However, existing data warehousing systems typically limit the number of concurrent queries that can be processed and executed, leading to suboptimal user experiences. Organizations are forced to place tight control over valuable data stored in their data warehouses, or to limit how many users can simultaneously query their data warehouses. These circumstances lead to analysis delays.

Not anymore, Azure SQL DW Compute Optimized Gen2 tier increases the number of concurrent queries that can be executed. With support for 128 concurrent queries, Azure SQL DW delivers four times more concurrency compared to the previous generation. This improvement allows organizations to satisfy the most demanding needs of their business and data analysts. To enable new concurrency levels, workload management functionality has been extended. Each SQL Data Warehouse SLO comes with predefined query capacity quotas. As the query concurrency grows, available capacity is consumed until the quota is reached. All this is happening completely transparently to the data warehouse end users, allowing your data warehouse to be used by hundreds of users who are using their BI tool of choice.

In the picture below, we see system throughput under the concurrency. Various queries were submitted to the system with 30s delay from each other. We see that number of active queries grows to 128, stays there for some time and ultimately drops down to zero as queries complete execution. While SQL DW was processing active queries, few queries were queued until resources became available for them to be processed.

Azure SQL Data Warehouse, Azure Tutorials and Materials, Azure Learning, Azure Certifications

Predictable performance through scaling


Organizations have been faced with an ever-growing demand to store and operate on larger and larger data sets. The ability to grow and shrink your data warehouse elastically, as your data needs to grow and shrink, is one of the key characteristics of SQL Data Warehouse. Azure SQL DW Compute Optimized Gen2 tier enables two additional capabilities in this area, the ability to store unlimited data in SQL’s columnar format, and the availability of new SLOs with an additional five times the compute capacity.

SQL Data Warehouse now delivers unlimited columnstore storage capacity. With this new capability, you might wonder if there is enough compute power to deliver acceptable query performances on larger and larger data. To allow for effective data processing and to deliver predictable performances for growing data, Azure SQL DW Compute Optimized Gen2 tier increases the compute power by introducing additional SLOs (DW7500c, DW10000c, DW15000c and DW30000c).

To demonstrate the effects of scaling to these new SLOs, the picture below shows execution times after running the same set of queries over the same data while varying the SLOs. These three queries were executed on DW6000c and DW15000c respectively. We see that execution times improved with using higher SLO level (lower bar indicates response time improvement). The queries used exercise common analytical query patterns such as aggregations, joins, predicates, in clauses, subselects, and data ordering.

Azure SQL Data Warehouse, Azure Tutorials and Materials, Azure Learning, Azure Certifications