Welcome to 2019 SQL Saturday in Los Angeles (#891)

Slides:



Advertisements
Similar presentations
Week 6: Chapter 6 Agenda Automation of SQL Server tasks using: SQL Server Agent Scheduling Scripting Technologies.
Advertisements

OM. Brad Gall Senior Consultant
SQL Server Integration Services (SSIS) Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server (MVP) Microsoft Certified Technology Specialist.
IT 456 Seminar 5 Dr Jeffrey A Robinson. Overview of Course Week 1 – Introduction Week 2 – Installation of SQL and management Tools Week 3 - Creating and.
Intro to Datazen.
Jorke Odolphi Product Technology Specialist WebCentral Using Microsoft Operations Manager To Monitor And Maintain Your Farm.
Introduction to the Power BI Platform Presented by Ted Pattison.
Copyright © New Signature Who we are: Focused on consistently delivering great customer experiences. What we do: We help you transform your business.
Architecting Enterprise Workloads on AWS Mike Pfeiffer.
Introduction Service Management Automation
Cloud BI with Azure Analysis Services
SQL Server PowerPivot for IT Pros
What’s new in SQL Server 2017 for BI?
Make Power BI Your Own with the Power BI APIs
System Center Marketing
5/22/2018 1:39 AM BRK2156 Power BI Report Server: Self-service BI and enterprise reporting on-premises Christopher Finlan Senior Program Manager © Microsoft.
Creating Enterprise Grade BI Models with Azure Analysis Services
Relationship modeling patterns in SSAS and Power bi
Power BI Architecture, Best Practices, and Performance Tuning
Cloud BI with Azure Analysis Services
What’s new with Power BI /guyinacube.
Let’s talk Power BI Premium /guyinacube Adam Saxton.
Using a Gateway to Leverage On-Premises data in Power BI
Enterprise BI Deployments and Governance with Power BI
Consulting Services JobScheduler Architecture Decision Template
Make Power BI Your Own with the Power BI APIs
Data Platform and Analytics Foundational Training
Who am I Hector Villafuerte
Example of a page header
What's new with SQL Server 2016 and SQL Server vNext?
SSIS Project Deployment: The T-SQL Way
Power BI Security Best Practices
Saravana Kumar TOP 10 FEATURES OF BIZTALK360
Administering and Deploying Power BI Solutions
Azure Primed Randy Pagels Sr. Developer Technology Specialist
Solving ETL Bottlenecks with SSIS Scale Out
Make Power BI Your Own with the Power BI APIs
Azure Automation and Logic Apps:
Migrating Your BI Platform To Azure
Boosting SSAS Productivity with Tabular Editor
Database Code Management with VS 2017 and RedGate
SQL Server Analysis Services Fundamentals
SQL Server Analysis Services Fundamentals
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Cloud BI with Azure Analysis Services
Welcome! Power BI User Group (PUG)
Power BI in the New Age!.
Cloud BI with Azure Analysis Services
SQL Saturday New York City May 19th, 2018
SSIS Project Deployment: The T-SQL Way
Make Power BI Your Own with the Power BI APIs
Power BI Premium Service
Processing Analysis Services Tabular Models
Technical Capabilities
Microsoft Flow Approvals 101
Power BI with Analysis Services
Welcome to SQLSaturday #767! Hosted by Lincoln SQL Server User Group
Power BI at Enterprise-Scale
Dashboard in an Hour Using Power BI
TN19-TCI: Integration and API management using TIBCO Cloud™ Integration
Welcome to 2019 SQL Saturday in Los Angeles (#891)
SSRS – Thinking Outside the Report
Power BI Security Fundamentals
Cloud BI with Azure Analysis Services
Brodie Brickey SSIS Basics.
ZORAN BARAC DATA ARCHITECT at CIN7
Visual Data Flows – Azure Data Factory v2
Visual Data Flows – Azure Data Factory v2
Embedding Power BI in your application
Power BI Embedded for Fun and Profit
Presentation transcript:

Welcome to 2019 SQL Saturday in Los Angeles (#891) Let’s Get Started! Welcome to 2019 SQL Saturday in Los Angeles (#891)

Please Support Our Sponsors SQL Saturday in Los Angeles is made possible with the generous support of these sponsors. You can support them by opting-in and visiting them in the sponsor area. #SQLSatLA

Orange County User Group Orange County Power BI User Group Regional Local User Groups LA Data Platform (a.k.a. SQL Malibu) 3rd Wednesday of each month ladataplatform.pass.org - Join us remotely! L.A. User Group 3rd Thursday of each odd month sqlla.pass.org Los Angeles - Korean Every Other Tuesday sqlangeles.pass.org San Diego User Group 1st & 3rd Thursday of each month meetup.com/sdsqlug meetup.com/sdsqlbig Orange County User Group 2rd Thursday of each month bigpass.pass.org Orange County Power BI User Group meetup.com/OC-Power-BI-User-Group/ Sacramento User Group 1st Wednesday of each month http://sac.pass.org/ #SQLSatLA

Regional 2019 SQL Saturday events SQL Saturday in Sacramento When: August 17, 2019 Where: Patrick Hays Learning Center https://www.sqlsaturday.com/885 #SQLSatSac #SQLSat885 SQL Saturday in San Diego When: TBD Where: San Diego https://www.sqlsaturday.com #SQLSatSD #SQLSatLA

Power BI Administration Solutions Brett Powell Power BI Administration Solutions

About Me BI Consultant Frontline Analytics Author Mastering Power BI Power BI Cookbook Blog Insight Quest Contact Info: @BrettPowell76 Brett.Powell@FrontlineAnalytics.net

Session Agenda Introduction to Power BI Architectures and Artifacts Introduction to Power BI Admin Tools Power BI Admin Portal, Premium Metrics Apps PowerShell Module and REST API Sample Solutions Power BI Admin Dataset and Artifact Reporting Staged Deployment Scripting Dataset Refresh History and Group Email Notification On-Premises Data Gateway Monitoring Tabular Model Documentation and Analysis Azure Resource Management

Introduction to Power BI Architectures and Artifacts

Common Power BI Architectures Where to publish/consume content? If Power BI Service, is Premium Capacity needed? Which BI modeling tool? Azure Analysis Services, Power BI Desktop, SQL Server Analysis Services Is the Data Gateway needed? Chosen Architecture Drives Admin Solutions to Build # SSAS Tabular Azure AS Data Gateway PBI Report Server PBI Service PBI Premium Capacity PBI Embedded Capacity 1 No Yes 2 3 4 5 6 Power BI Datasets as modeling tool, publish to service Using SSAS as modeling tool Migrated SSAS to Azure so now you’re just refreshing your model through gateway Fully on-premises – Power BI Report Server Fully in the cloud – Azure AS, no gateway since data warehouse is PBI Embedded

Common Custom Admin Solutions Power BI Dataset Refresh Jobs On-Premises Data Gateway Monitoring Office 365 Audit Log Retrieval and Analysis SSAS or Azure Analysis Services Processing Scripts Power BI Artifact Reporting Azure Resource Management Jobs Power BI Workspace Management Scripts Staged Deployment Automation Azure Active Directory Reporting or Integration Power BI Dataset Refresh History Reporting

Power BI Artifacts Workspaces Datasets Reports Dashboards Containers of reports, dashboards, datasets, dataflows 1:1 relationship with apps Datasets Data models (AS Tabular internally) 1 or many data sources per dataset Reports Interactive, detailed analysis 1:1 relationship with datasets Dashboards At-a-glance consolidated view 1 or many reports per dashboard App Workspace Dashboards Azure Cloud Usage Cloud Usage Overview AWS Cloud Usage Reports Azure Usage Details Cloud Usage Details AWS Usage Details Datasets Cloud Usage Analytics

Introduction to Power BI Admin Tools

Power BI Admin Role Power BI Service Admin role: full control over PBI tenant and admin features excluding licenses Read/write workspaces without being a workspace member/admin Manage premium capacities Create and manage premium capacity nodes Monitor resources, assign/remove workspaces Set tenant settings Map security groups to features Align to security and governance policies O365 Admin Center Azure AD

Power BI Admin Portal: Workspaces Page Main Graphical interface for common Power BI Admin tasks Three main pages: Tenant Settings Workspaces Capacity Settings Power BI Admin Portal: Workspaces Page

Power BI Premium Metrics App Free Power BI app Dataset Analysis Query Performance Refresh Reliability Resource Usage % of Memory Consumed Dataset Evictions New Premium Workloads Dataflows Paginated Reports Limited to 7 days of history Power BI Premium Metrics App

O365 Security & Compliance: Audit Log Search Office 365 Audit Logs Security & Compliance Center Link from O365 Admin Center Search and Export Very limited - # of events, rows retrieved 1K Alternatives: In-House Solution: PowerShell or O365 Management API Power BI Usage Metrics Solution Template O365 Security & Compliance: Audit Log Search

Power BI Usage Metrics Solution Template Pre-Built Solution by Neal Analytics Deploys an Azure Function App to Retrieve Power BI Audit Events from O365 Stores Data in Azure SQL DB Out-of-the-box Power BI report against data Option to leverage Azure SQL DB and reporting to customize Integrate data with Azure Active Directory Load other dimension data to SQL DB Write new DAX metrics and create new visuals

Power BI Admin Solutions

Power BI Management Module and REST API Power BI REST API Endpoints Start small, build up to admin solutions Admin Solutions Scheduled Scripts/Jobs Integrate with other applications (PBI, Flow) Analytics and business logic Custom alerts and distribution/emails Invoke-PowerBIRestMethod Writing data to files Refreshing datasets or models Learn, Iterate, Adapt Get-Workspace Ad Hoc Admin Scenarios

Power BI Admin Dataset Create PowerShell scripts that write artifact details for entire tenant to files Power BI Management Module Azure AD Module Import PBI and AAD Data to Power BI Power Query expressions for JSON files Optionally enhance/extend source data Model relationships between artifact tables Datasets (one) to Reports, Sources (many) Premium capacities (one) to workloads, admins (many) Azure AD Groups (one) to owners, members (many)

Power BI Artifact Reporting Leverage Power BI admin dataset to build Power BI reports Datasets and reports by users and workspaces Workspaces by premium capacity #SQLSatLA

Staged Deployment Automation Programmatically deploy Power BI content from a source workspace to a target workspace (Dev to Test, Test to Prod) via PowerShell scripts Parameterized PowerShell script Workspaces (Source and Target) Reports and Dashboards (Include or Exclude) Dataset to bind report to Client app or script passes parameter values: Source and Target Workspace Reports to Include/Exclude Source Datasets Script deletes reports in target workspace if they exist via REST API Endpoint Script clones reports from source to target workspace Script creates dashboards in target and clones dashboard tiles

On-Premises Data Gateway Monitoring Retrieve performance monitor counters to assess health of gateway and gateway server CPU, Memory, Query Volume, Query Failures Import to Power BI via Folder.Files() Connector Parameterize Source Path Add columns and set data typesd Visualize and Publish to Power BI Add basic metrics (max, average) Build report visualizations Configure gateway data source for refresh

Dataset Refresh History and Group Email Notify Create PowerShell scripts that write refresh history data to files (JSON) for high priority datasets Retrieve and consolidate dataset history files via Power Query Build essential reports including today’s failures Use card visuals filtered to a specific dataset Pin card visuals from report to dashboard Create data alerts for each dashboard card Create MS Flows to drive group email based on alert

Azure Resource Management Create PowerShell scripts to manage BI supporting resources (Azure Analysis Services, PBI Embedded) Pause, Resume, Scale Up, Scale Down Schedule scripts according to policies or drive based on other events Azure Automation Runbooks SQL Server Agent Examples: Scale Up on Monday morning Scale Down in evenings Pause on weekends Azure Automation

Analysis Services Tabular Model Processing Analysis Services cmdlets included in SQLServer module Invoke-ASCmd to pass custom TMSL to server Can blend PowerShell dynamic logic/variables with TMSL Analysis Services PowerShell Reference Analysis Services Processing Cmdlets in SQL Server Module In-line TMSL Command via Invoke-ASCmd Cmdlet

Appendix

Table Partitions Defined Rows of a Table Primary Use Case: 1+ partition per table 1+ segment per partition 8M rows per segment (default) compressed 1 CPU Core per segment in parallelized queries Avoid Over-Partitioning Primary Use Case: Reduce processing time and resources Improve manageability Other Use Case: Consolidate source data Partition Manager in SQL Server Data Tools (SSDT) Code View of Model.bim in SSDT

Processing Patterns Overview Patterns are primarily driven by: Processing time window Availability of model for queries Available RAM during processing job Other Factors: Impact on source systems Available skills (PowerShell, TMSL) Performance Optimizations Manageability Simple Intermediate Advanced Model Size Small Medium Large Transactions 1-2 2-5+ Many Operation Types Full Only Mixed – Data & Recalc Diverse, Dynamic Partitions None Years, Months, or Weeks Days, Multiple Grains Scripting None to Minimal Cmdlets or Simple TMSL Custom Automation N/A Periodic Maintenance Fully Automated Tabular Processing Job Patterns

Processing Approach Examples Single Process Full of Database Maximum memory (2X+ of database) and time to process Multiple Process Full Transactions Maintain availability for queries, Reduce memory required for process Multiple Process Data and Process Recalc Transactions Eliminate unnecessary Recalc operations Include Recalc in same transaction to maintain availability Process Clear Transaction followed by Process Full or Data + Calc Significantly reduce memory of processing

Best Practice: Keep Model Queryable Eliminate unavailability, even if refresh process fails Process Data and Clear transactions result in unavailability Two options to implement: Process Full operations exclusively Include Process Recalc in same transaction as Process Data or Clear Secondary Option: Process Recalc in transaction immediately following Process Data or Clear Unavailability period limited to duration of Process Recalc

Tabular Model Scripting Language (TMSL) Command and Object Model Syntax for Tabular databases 1200 Compatibility Level+ (SSAS 2016) Refresh Command Type parameter (“full”, “dataOnly”,…) Sequence Command Batch Mode: Multiple operations in single transaction Some model properties exclusive to TMSL Store TMSL Scripts in XMLA Files Reference XMLA files from PowerShell Provides full control over processing Multiple process operations in single transaction Control/limit parallelization TMSL Reference Code View of Analysis Services Project in Visual Studio TMSL in XMLA Query File

Azure Automation Hub for automation and orchestration Integrate and manage Tabular processing with other processes Runbooks: Scripts Jobs: Executions of the runbook Variables: Manage common values for Runbooks Triggers: Methods to launch a Runbook Schedule, Separate Runbook, PowerShell.... Hybrid worker: Execute runbooks in on-premises environment Azure Automation

SQL Server Integration Services (SSIS) Build SSIS Packages Containing Processing Tasks Align Processing with Data Warehouse ETL/ELT Leverage SSIS features (checkpoints, logging, email…) Analysis Services Tasks Analysis Services Processing Task Analysis Services Execute DDL Tasks Pass custom TMSL command inline or via file PowerShell script via Execute Process taskUse with Azure AS or SSAS SSIS Package with Processing Tasks

SQL Server Agent Leverage familiar job scheduling and management tool Link Processing job to DW or ETL jobs Processing Job Step Types: Analysis Services Command PowerShell Script SSIS Package Option to use job steps as transactions SQL Server Agent Agent Job Step

Questions? 36 | #SQLSatLA