Power BI Internals Eugene Meidinger @sqlgene www.sqlgene.com/powerbi/ emeidinger@all-lines-tech.com
About me Business Intelligence Developer Certified in Querying and Administering SQL Server Spoken at Pittsburgh SQL User Group and various SQL Saturdays Pluralsight author Worked for All-Lines / Lantek for 5 years Went from SQL newb to SQL pro
All Lines is a local woman owned solutions provider that delivers cost effective, industry standard IT solutions to our customers. We strive to be a Professional Business Partner and Trusted Advisor with each of our clients. We help companies streamline and improve the way they buy, implement, and manage their technology infrastructures that support their mission critical business applications.
Enterprise Infrastructure Our Services All Lines is the only IT Services company in the region able to deliver the full range of services we can. From hardware to hosting we can keep your business efficient and in top production. Managed Services IT Consulting Microsoft Solutions IT Staffing Enterprise Infrastructure Our programs will reduce IT costs, improve performance of the network, and assure a consistent level of service. We provide assessment, design, implementation, management, monitoring, and computer support services for all business computing needs. SharePoint and Office 365 give you and the people you work with a better way to get things done together. We provide IT staffing services for a variety of industries in the local market including manufacturing, finance, healthcare, among others. We provide proofs of concepts and assessments in all of these areas. We can also provide demos on site at our data center in Warrendale.
What are we going to cover? PBIX file format Vertipaq engine Power BI visualizations Power BI Service
Why internals? Sell the Steak, not the Sizzle It’s different! Better confidence Better guesses Better performance
PBIX Format It’s just a zip file Terrible for source control Contains: OneDrive is the recommended way for versioning Contains: Data model PowerQuery queries Data visualizations Metadata ???
Demo – Opening a pbix file
Power BI == SSAS Tabular Same concepts apply to both Running SSAS Tabular locally Runs on a random port You can connect to it with SSMS / Excel / Trace
Demo – Connect to to Power BI
Vertipaq Runs in memory Columnar database Columns of data are stored together Data is encoded and compressed Quick results Optimized for single column operations
Compression and encoding Value Encoding Dictionary Encoding Run-length encoding Sorting
Value Encoding Only applies to integers Specifically, integers in a narrow range Subtracts a base number from all the integers to take up less space 201,202,203 becomes (1,2,3)+200
Dictionary Encoding Converts values to integers keys in a dictionary “Washington” might become 1
Run-length encoding Compresses continuous series of values Depends on sort order The engine automatically determines the best sort Great for correlated data More columns = worse compression
Calculated columns and compression Calculated columns are computed at time of refresh/creation Calculated columns are part of the table Calculated columns take up RAM Calculated columns are compressed last
Demo compression
Visualization engine HTML CSS Javascript D3.js
Demo – Opening a visualization
Power BI Service is built on Azure Azure Traffic manager Azure Active Directory Blob Storage (For your data) Azure SQL Database (For metadata) Service Bus
Your data is tied to a specific datacenter
Security Whitepaper https://powerbi.microsoft.com/en-us/documentation/powerbi-admin-power-bi-security/
Questions?