Sunteți pe pagina 1din 9

Master Data

a Serv
vicess Cap
pacity
y
nes
Guiidelin
Yair Helman

ovides capacity plannin


ng guidelines for Micro
osoft SQL
Summary: This doccument pro
Server 2012 Masterr Data Serviices (MDS).
Categorry: Quick Guide
Applies to: SQL Se
erver 2012
W (link to source con
ntent)
Source: TechNet Wiki
on date: Ma
ay 2012
E-book publicatio
6 pages

2012 by Microsoft Corporation


All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means
without the written permission of the publisher.

Microsoft and the trademarks listed at


http://www.microsoft.com/about/legal/en/us/IntellectualProperty/Trademarks/EN-US.aspx are trademarks of the
Microsoft group of companies. All other marks are property of their respective owners.
The example companies, organizations, products, domain names, email addresses, logos, people, places, and events
depicted herein are fictitious. No association with any real company, organization, product, domain name, email address,
logo, person, place, or event is intended or should be inferred.
This book expresses the authors views and opinions. The information contained in this book is provided without any
express, statutory, or implied warranties. Neither the authors, Microsoft Corporation, nor its resellers, or distributors will
be held liable for any damages caused or alleged to be caused either directly or indirectly by this book.

MasterDataServicesCapacityGuidelines
ThisdocumentprovidescapacityplanningguidelinesforMicrosoftSQLServer2012MasterData
Services(MDS).Theseguidelinesincludethefollowingsections:

MDSArchitectureOverview
CapacityConsiderations
CapacityModels
ImpactofRowLevelSecurityonPerformance
RecommendedHardware
PerformanceConsiderations

MDSArchitectureOverview
MasterDataServiceshasathreetieredarchitectureconsistingofthedatabase,service,and
architecturelayers,asshowninthefollowingdiagram.


MDShastwodeploymentconfigurations:

Singlebox(SQLServer+IISonthesamecomputer)
Twobox(SQLServerononecomputer,IISonthesecondcomputer)

MostofthecomputationalworkforMDSisdoneinthedatabaselayer,soinmostcasesinorderto
increasecapacity,astrongerSQLServercomputerisrequired.

CapacityConsiderations
Assumptions
MasterDataServiceswasdesignedtoworkwithdatathatisrelativelyslowlychanging.Datathatis
involvedinahighvolumeoftransactions(thatinsomecasesarestoredinfacttables)shouldnotbe
storedinMDS.
Fromaperformanceperspective,MDSwilllikelynotprocessmorethan50Kdistinctchangesperdayper
model.Bydistinctismeantaseparatecall(eithertoentitybasestagingortheWCFAPI).Ifsignificant
changesarerequired,itisrecommendthatyouperformtheminbatcheseitherthroughentitybased
stagingortheWCFAPIs.Bothinterfacesaretunedforbatchoperationsandwillgeneratemuchbetter
performancethanperformingeachchangeseparately.
Ifyouneedtoperformmorethan50Kcallsperdaypermodel,thenitisrecommendedthatyouperform
aproofofconceptonthedesignatedhardware.

DirectImpact
ThefollowingfactorswillhaveadirectimpactonMDSperformance:

Entitystructure
o Numberofmembersinthelargerentities
o Numberofattributes
o Numberofdomainbasedattributes
o Numberofversions
Note:Eachversiongeneratesacopyofallthedataintheentity,butallversionsarestill
storedinthesametable.
o Numberofbusinessrules.
Numberofconcurrentusers
Usingrowlevelsecurity.
Note:ThereismoreinformationonrowlevelsecurityintheImpactofRowLevelSecurityon
Performancesectionlaterinthisdocument.

SlightImpact
ThefollowingfactorswillhaveaslightimpactonMDSperformance:

Numberofentitiesandnumberofmodels
Usingrolebasedandattributelevelsecurity.

CapacityModels
Thefollowingthreemodelscanbeappliedtocapacityplanning.

MediumCapacityModel
Inthemediumcapacitymodel,theMDSsystemhasthefollowingcapacity:

Entitieswithlessthan500Kmembers
Numberofattributesinentitiesislessthan100
Numberofdomainbasedattributesinanentityislessthan20
15businessrulesperentity
5concurrentusers.

Mediumrangehardwareshouldeasilyhandlethiscapacity.However,whenusingaVirtualHardDrive
(VHD),itisrecommendedthatyouperformaproofofconcept.WhenusingaVHD,itisrecommended
thatyoumonitorthehostserverovertime,andverifythatthereissufficientsparecapacity.

LargeCapacityModel
Inthelargecapacitymodel,theMDSsystemhasthefollowingcapacity:

Entitieswithupto10millionmembershaveamaximumof30attributes
Entitieswithupto1millionmembershave100attributesormore(Note:fortheseentitiesitis
recommendedtouseattributegroups)
15ormorebusinessrulesperentity.

Forthelargecapacitymodel,seetherecommendationsbelowintheRecommendedHardware
section.Atthislevel,itisrecommendedthatyouperformaproofofconcept.

ExtraLargeCapacityModel
Anydeploymentthatislargerthanthelargecapacitymodelwilllikerequirestrongerhardwarethan
thatlistedintheRecommendedHardwaresection.Atthislevel,youshouldperformaproofof
conceptintheearlyphasesofthedevelopment.

ImpactofRowLevelSecurityonPerformance
TheMicrosoftMasterDataServicesengineeringteamcautionsagainstaddingrowlevelsecuritytolarge
datasets,becausethesepermissionswillgeneratesignificantpermissiondata.Theeffectsofhierarchy
membersecurityonperformancecanbeisolatedbycomparingperformanceofthemodeladministrator
tothesecuredusers.
ThefollowingaretipsforsecuringMDSusinghierarchymembersecurity:

AlwayssecureMDSusingActiveDirectorygroupsorlocalgroups.Thiswilllimitindividual
permissionsinthetables.
SecureMDSusingimplicitdeniesasmuchaspossible.Setpermissionsonlyforthoseareasthat
auserhasaccessto.
Donotgrantuserspermissionstomembersatahigherlevelofthehierarchywhileexplicitly
denyingpermissionsatalowerlevelofthehierarchy.

RecommendedHardware
Thespecificationbelowfocusesonthedatabasecomputerandtheoneboxconfigurationoption.

LargesizeHardwareModel
UseHWequivalenttothefollowingconfiguration:
HPProliantDL360G7
2IntelE5606CPUs(quadcore2.13GHz80W)
24GB(6x4GBPC310600E)
256MBCachemoduleforP410i
EnableHyperThreadingandTurboboost
EmbeddedP410i(SASArrayController)supportsRAID0and1(partoftheHWconfiguration)
8x10KRPM2.5HDD
*StoringmultiplemodelsmayrequireaddingmoreRAMtotheserver.

MidSizeHardwareModel
Themidsizemodelhasasimilarconfigurationtothelargesizemodel;however,youcanreducethe
amountofRAMto1216GBandhavefewerdisksintheraid.

Impactofservervirtualization
Ingeneralusingservervirtualizationshouldhaveaminimalimpactonperformance.
TherealchallengeistoknowhowmanyIOPS(IOperSec)youwillgetfromyourstorageandwhatthe
physicalstorageconfigurationbehindthevirtualdiskis.
AlsomakesurethatyoudedicateasufficientamountofmemoryandCPUasdescribedabove.

PerformanceConsiderations
Thissectionprovidesperformanceconsiderationsforentitybasedstaging,userinterface(UI)
operations,andExceloperations.

PerformanceScenariosThatWereTested
Themetricsprovidedbelowweretestedbyusingthefollowingtwotestmodels:

Customer(Long)Model:7millionmemberswith20attributesinthemainentity.Sixattributes
aredomainbasedattributestootherentitiesofvaryingsizes.Twelvebusinessruleswere
createdonthisentity.
Location(Wide)Model:1millionmemberswith100attributesinthemainentity,25ofwhich
aredomainbased.

Thetestswereperformedwithuptosevenconcurrentuserswhereeachuserwascreatingmembers,
updatingmembers,orreadingmembersatfullspeed.
Alltimeslistedbelowareinseconds.

EntityBasedStagingPerformance
UsingthenewentitybasedstaginginterfaceintroducedinSQLServer2012MDS,youcanload40K
cells/sec.
Ittookaboutanhourtoloadthe7Mmodelandapproximatelythesameamountoftimetoloadthe1M
widemodel.

UIOperationsPerformance
PerformanceconsiderationsforUIoperationsareasfollows:

ExplorerPageLoads:Whiletheinitialpageloadtakeslonger(about5seconds),subsequent
pageloadstakeaboutasecond.Skippingtothemiddleofthedatasettakesabout3seconds,
andloadingthelastpagedirectlytakesalittleover5seconds.
Memberactions:Selectingamembertoedittakes1secondnomatterwhatpagethememberis
on,andcreatinganewmembercompletesinalittleover3seconds.
Filter:Simplefilteroperations(equals,<,>,orlike(indexed))returnresultsinunder2seconds.
Complexoperationssuchasnonindexedlikeoperationsoramatchcompleteinlessthan10
secondsonaverage.

MDSExcelAddinOperations
PerformanceconsiderationsforExceloperationsareasfollows:

CreateEntity:CreatinganentityfromanExceltableisdependentonboththenumberofrecords
andthenumberofcolumns,andappearstobelinearinitsprogression.Thenumberof
attributessupportedisbasedonSQLtablelimits,whilethenumberofmemberswillbe
constrainedbyExcelworksheetrowlimitationsof1Mrows.

LoadMembers:Membersareloadedinabatchprocessandshouldincreaseinalinear
progression.
OpenFilterDialogue:Thetimerequiredtoopenthefilterdialogisdirectlyrelatedtothenumber
ofattributesontheselectedentity.Pleasebepatientforwideentities.Attributegroupsdonot
affectthisperformanceinExcel.

BusinessRules
Thenumberofbusinessrulesandtheirtypeshaveaminorperformanceimpactonasinglememberedit.
Asaresult,theywillnothaveaneffectontheuserexperienceofadding/updatingasmallnumberof
members.
Themainperformanceimpactinrelationtobusinessrulesisinthecaseoffirsttimevalidationorafter
changingoneormorebusinessrules.Inthiscase,thevalidationprocessneedstovalidateeachmember.
Thereisnosimplewaytocomputehoweachruleaddstotheoverallcomputationtimebecausethe
computationisdoneinbatches.
Notethatlatervalidationrunswillonlyrevalidatemembersthatchanged.
Onthe7Mcustomerslongmodel,wehad12differentrules(defaultvalues,mandatory,uniqueness,
concatenation,andmore),andittookabout2hourstovalidatetheentireentity.

ModelDeployment
MicrosoftSQLServer2012introducedanewcommandlinetool(MDSModelDeploy.exe)tohandlethe
exportandimportscenariosofmodels.Thecommandlinetoolenablestheexecutionofcreatingand
loadinglargemodelsthattakealongtime.
TheCumulativeUpdate#1releaseofMicrosoftSQLServer2012willincludeasetofperformance
improvementstothesescenarios.
Withthoseimprovements,theperformanceresultsthatweremeasuredforamodelwiththesame
schemaastheCustomer(Long)modelincludedthefollowing:

100Kmembers:1min.tocreateapackageand11min.toloadthepackagebacktoMDS
500Kmembers:18min.tocreatethepackageand60min.toloadthepackagebacktoMDS.

S-ar putea să vă placă și