You are on page 1of 2

PowerPivot Client/Server Architecture

PowerPivot for Excel


Workbook File
PowerPivot database is a custom binary part within the workbook file. When opening the workbook, Excel reads connections.xml, discovers the embedded data source (Data Source=$EMBEDDED$), and streams the PowerPivot database to the PowerPivot In-Proc Engine via the Microsoft OLE DB for Analysis Services (MSOLAP) provider. When saving the workbook, Excel reads the stream from the PowerPivot In-Proc Engine via the MSOLAP provider and writes the PowerPivot database to the workbook.

Analysis Services Clients


Workbooks as a Data Source
Clients can access shared PowerPivot workbooks like an Analysis Services cube by specifying the workbook URL as the data source. With SQL Server 2008 R2 Reporting Services and PowerPivot for SharePoint installed in the same SharePoint farm, users can use the New Report option in a PowerPivot Gallery to launch Report Builder and start a new report that uses a shared PowerPivot workbook as a data source. SQL Server Management Studio (SSMS) can connect to a shared PowerPivot workbook, which can be helpful for troubleshooting and diagnosing connection problems, but Microsoft does not support the use of SSMS for administration of Analysis Services on a SharePoint server. Excel clients access shared PowerPivot workbooks in the same way by using the MSOLAP provider.

Browser-Based Clients
Excel Services gives users the ability to view shared PowerPivot workbooks in a Web browser, any time and at any place with network connectivity: Similar performance and most of the features as the Excel client. Users cannot modify PivotTables or PivotCharts, but can sort, filter, and expand or collapse areas of PivotTables and PivotCharts and work with Slicers. Excel Services requests processing from a PowerPivot server in the farm, and renders the workbook directly on the front-end server. SharePoint users do not require high-bandwidth network connections because these users retrieve only HTML-rendered processing results when accessing shared PowerPivot workbooks. Workbooks can be locked down for server-only viewing by adding the users to the SharePoint Viewers group or a custom group with View Only permissions. If multiple browser users work with the same PowerPivot workbook, they all access the same workbook loaded once on the server.

Excel Client
Po
Loa

Po w

PowerPivot Part

er

n I P t o r oc v i P

rP Ex t en ds ds U iv Po I Ove r r i d we e s t h t h r ou o rP g ed t iv efa h c l i ul t I mp en o t f l em t w in Pi v t en i t s o t Ta ndo o E AM ad w, b O v a le f n c ie ed


ld

we

xc

A d o c e s s . mp l at es . e l i o n p r s , a nd t e t a s k p a n e . x c c a t at i on s own E p l i mi z ent i t r e s . a p s t o l em f e a t u e l n cu i mp is s o y T al tt NE
bo

r ib

l is

da

ta

an

A
D
O

AMO

ADOMD.NET

MSOLAP Provider

d-

Excel Features
PivotTable PivotChart Custom Code

i ne ng

XML for Analysis (XMLA)

Mi
Mo

D.

cr

In

To explore a PowerPivot workbook, change the .xlsx file name extension to .zip.

Column-Based Compression

Query Parsing and Preparation

os

Excel handles PowerPivot as an external data source accessible via MSOLAP provider.

SO
HT

AP
TPS

VertiPaq Storage Engine

Analysis Services Formula Engine

T P/H

C:\Users\<user name>\ AppData\Local\Temp\ VertiPaq_<GUID>

po rt

Temporary Data Cache

Block Computation

ns

In addition to traditional OLAP connections via TCP and HTTP data pump, MSOLAP supports PowerPivot connections via in-process transport and HTTP.

The size of each VertiPaq_<GUID> folder corresponds to the PowerPivot data in memory. The Temp folder structure corresponds to the native Analysis Services data folder structure. IDF files correspond to the tables and columns that the user has imported into PowerPivot. XML files correspond to object definitions for measure groups and measures.

ro

Shared PowerPivot Workbooks (Data Source=http://site/wbk.xlsx)

fo

In

-P

Workbook-Local Data (Data Source=$EMBEDDED$)


L

Temporary Files Data Import


The Table Import Wizard communicates with the PowerPivot for Excel add-in to create the measure groups, measures, and other database objects for the selected tables, and then triggers the PowerPivot In-Proc Engine to load the data from the specified data sources. Users can choose to import data from any OLE DB or ODBC data source and, in many cases, PowerPivot for Excel can establish the table relationships automatically. However, PowerPivot will not automatically install all supported data providers: Analysis Services, PowerPivot workbooks and data feeds are supported out of the box. SQL Azure connectivity is available via ADO.NET Data Provider for SQL Server. Connectivity to Access, Excel workbooks, and data files is available via Microsoft Office 14 Access Database Engine OLE DB provider as part of the Office installation. Third-party data sources require additional ODBC or OLE DB providers on the client.

MSOLAP OLE DB Provider

, ices v r Se ) int o s A eP ces L c c a an rce. h M u t i m o s r w X ( ts ata rfo d n e P ie P S s a A , cl is a r P s e s s O T ce ook ld T S i i u b rv /H B e rk S P t o r w T s t T po si o e ly iv R a P , r n l e r A we c o x e P E th d o s s e d re ort p a e n h r ed s on d d ati r e t b t. s i vo em m i n i P r d e d ow an l A P s a ge rt ntr a a n P C e ma eb in to W

rP

t o v

ra

eb

Se

e c i rv

Excel Serv Web ice Suppo r t s se r v s i ce - o r i e n t ed a


r ch i t
ec t u

t I nt l er la Ap ne ple Fi Sa t re fa Ex f ox wi r i 4 pl th . x 3 or l i m an . 5 er i te d ( d oth or Sh e r ar hi eP s t a

of

zi

Operating Systems
7.

oi

r es

( SO A) .
Re

g a n a M rd t a o o b i v sh r P Da e

t n e m e

Pow

E
nd
er

/H

n n t dar f u ds nc ti

Windows 7

Windows Server 2008 R2 Windows Server 2003 Windows Server 2008

(o

gh

er
)

hi

erP

iv
Pre

ot
ws

wo

rk

bo

vie

G
rk
bo

id

as

th

ro

to

pre

Su

um

wo

al

Web Applications
Running under IIS Application Pools

ai s pp l i an or m ts se d a nta mu ge re tio lti po s. n rt st ple s yl es .

bn

ok

le

l c ok c W da e ta s a n
d

xc

Windows XP SP3

se ow br d . se i t y ba na l o

Windows Vista Apple Mac OS X Snow Leopard

gh

er

ly

UNIX/Linux 8.1

rs

c
h
a

ry

Timer Jobs, Health and Usage Data Collection


PowerPivot Data Refresh Timer Job
Determines if a data refresh job needs to be scheduled and executed.

e
b
L.

s
rt
s

in
H
TM

PowerPivot Setup Extension Timer Job


Verifies that installed PowerPivot components are up-to-date and running and checks for PowerPivot components that need to be patched after SQL Server patching runs.

PowerPivot for SharePoint


PowerPivot System Service
Uses Microsoft ADOMD.NET to communicate with an Analysis Services instance. Also performs the following tasks: Manages the application database. Monitors server health. Coordinates client requests for load balancing. Collects usage data. Performs automatic data refreshing for PowerPivot workbooks.

Service Applications
SharePoint-Integrated Services

MSOLAP OLE DB Provider

Excel Calculation Services


Local Workbooks
(Data Source=$EMBEDDED$ or Data Source=http://local_site/wbk.xlsx)

Windows Communication Foundation (WCF)-based Channel Transport for communication with PowerPivot System Service in local SharePoint farm.

SharePoint Timer Service


Runs built-in and custom jobs to automate farm maintenance. PowerPivot adds timer jobs to collect and process PowerPivot usage data, refresh data in shared workbooks, gather health statistics, and update the Management Dashboard workbook. (Windows Service)

Usage and Health Tracking

roviders * ata P D y art P rd i rvices * Th e S f o ata r D i m T E N p Mi c r osof O. o v i de r * o t r O P D f f i ce r t d e A e 14 A F i n a t cce Da s g sD OM a T t A ab a as n eE d ng i ne OL E D

Da

ta
ta

Data Refresh

An a

For Data Refresh to succeed the required data providers must be present on the PowerPivot application server and the data sources used in the workbooks must be accessible from the SharePoint farm. PowerPivot Data Refresh timer job determines if a data refresh job needs to be scheduled and executed by the PowerPivot System Service. A PowerPivot workbook can have multiple schedules (overridden at the data source). Refresh credentials are stored in Secure Store Service: o Per job for Windows authentication o Per data source for non-Windows authentication (e.g. SQL authentication) (Web Service)

eeds F a t Da
Microsoft SQL Server Reporting Services

Da

ro
r

v r i e ces S s i S s e ly
Column-Based Compression Query Parsing and Preparation

P/

IP

HTTP Transport for communication with traditional SQL Server Analysis Services as well as PowerPivot Web Service in remote SharePoint farms.

Remote Workbooks
(Data Source=http://remote_site/wbk.xlsx)

TCP Transport for communication with traditional SQL Server Analysis Services.

Traditional Analysis Services Cubes


(Data Source=SSAS_Server_Name)

VertiPaq Storage Engine Analysis Services Formula Engine

Ex

ternal D

t
a

Shared PowerPivot Workbooks

Excel Files

Provides secure storage and mapping of credentials for connecting to external systems. Unattended Data Refresh Accounts

PowerPivot uses Secure Store Service to store: Unattended data refresh account. Personal Windows user credentials for data refresh. Database (non-Windows) credentials for external data sources. (Web Service)

Temporary Data Cache

Block Computation

Shared PowerPivot Workbooks

Microsoft SQL Server Analysis Services

Loads PowerPivot workbooks in much the same way as other Excel workbooks. Calls user-defined functions if necessary. Refreshes external data as needed, such as when a user interacts with PivotTables or PivotCharts via slicers. Requests data from the PowerPivot System Service via MSOLAP according to the connection information. Passes the item URL and IsHosted flag to the MSOLAP provider.

SharePoint Tracing Service


PowerPivot uses the Unified Logging Service (ULS) API to collect usage and trace information in SharePoint usage and trace logs. The Tracing service maintains these logs. C:\Program Files\Common Files\Microsoft Shared\ Web Server Extensions\14\Logs (Windows Service)

By default, PowerPivot tracks query usage as well as load, unload, and connection events.

rv

i ce

v
e

i ov Pr

id
i n
g

s
*

r de

le

urces So

er
a a t

s
Mi

cro

so f

Text Files Microsoft Access Clipboard (Copy&Paste)

Secure Store Service

in

e d Ve r o M t i Pa q
(Wi nd
ows Se r v i ce

s
Mi c ros

l y s i s Se r v i c e s (M S O o r Ana L AP ) DB f LE t O

(Web Service)

PowerPivot Management Dashboard Processing Timer Job


Updates each PowerPivot Management Dashboard workbook b based on the data in the PowerPivot application database a . Shared PowerPivot workbook Content databases store the data, documents, and workbooks associated with SharePoint lists, libraries, and sites. SharePoint maintains all PowerPivot workbooks in content databases.

SharePoint Usage Data Import Timer Job


Collects usage information from PowerPivot components and imports the data into the SharePoint logging database.

Databases

o f t SQ L S e r v e r N a t i v e C l i en

Sybase Microsoft SQL Server Microsoft SQL Azure Teradata

IBM DB2

PowerPivot maintains a separate database per service application to store: An Instance Map of state information for loaded or cached databases. Data refresh schedules and refresh history per workbook. Usage information about connection statistics, query response times, and server health.

Stores SQL Server 2008 R2 SharePoint Central Administration site content, including farm administrator groups and PowerPivot Management Dashboard workbooks.

Databases
b
PowerPivot Management Dashboard workbooks

PowerPivot Health Statistics Collector Timer Job


Collects CPU and memory utilization statistics for PowerPivot components and imports the data into the PowerPivot application database.

SharePoint Usage Data Processing Timer Job


Processes the usage data from the SharePoint logging database and imports the normalized data into the PowerPivot application database.

OD B C

Oracle Others (OLE DB/ODBC) Informix Microsoft SQL Server Analysis Services * Requires separate manual installation on SharePoint application servers.

PowerPivot Application Database

Central Administration Content Database

SharePoint Content Databases

P
rov i d er
s *

t *
Stores configuration and site mapping information for the entire server farm, including PowerPivot settings for service configuration and data refresh parameters. Aggregates usage and health data from SharePoint log files as well as from Windows Event Log, performance counters, SQL Server, and other sources and provides a variety of pre-defined SQL views for querying and reporting.

Da

ta Sourc

s e

SharePoint Configuration Database

SharePoint Logging Database

2010 Microsoft Corporation. All rights reserved.

About PowerPivot Poster


Authors: Kay Unkroth Technical Reviewers: Dave Wickert, Denny Lee, Heidi Steen, Lee Graber Published: 04/2010 Applies to: SQL Server 2008 R2 Summary: This poster illustrates the PowerPivot client and server architecture. It shows how PowerPivot integrates with Microsoft Office Excel 2010 on the client and with SharePoint on the server, provides details about how various client types can access shared PowerPivot workbooks in a SharePoint farm, and describes how the SharePoint and PowerPivot Web applications and services interact with each other. It gives a detailed overview of the processes running on front-end servers, application servers and required databases. This poster also lists the various OLE DB providers that PowerPivot can use to import data from a data source and that SharePoint administrators may have to install on servers to support automatic data refreshing.

Copyright
The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in, or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred. 2010 Microsoft Corporation. All rights reserved. Microsoft, Access, Azure, Excel, PerformancePoint, SharePoint, SQL Server, Windows, Windows Server, and Windows Vista, are trademarks of the Microsoft group of companies. All other trademarks are property of their respective owners.

You might also like