270 likes | 376 Views
SSAS ROLAP sur Column Store Charles-Henri Sauget Patrice Harel. Merci à nos sponsors. 3. 4. 5. SOMMAIRE. Objectifs Implémentation technique Fonctionnement du CSI Intérêts du ROLAP Comparaison des performances Les limites Ressources. 6.
E N D
SSAS ROLAP sur Column Store Charles-Henri Sauget Patrice Harel
SOMMAIRE • Objectifs • Implémentation technique • Fonctionnement du CSI • Intérêts du ROLAP • Comparaison des performances • Les limites • Ressources 6
OBJECTIFSIMPLEMENTATION TECHNIQUE FONCTIONNEMENT DU CSI INTERETS DU ROLAP • Profiter des avancéessur le CSI • Etudier les performances d’une base ROLAP sur du CSI • Les comparer avec du MOLAP et du TABULAR 7
IMPLEMENTATION TECHNIQUEFONCTIONNEMENT DU CSI INTERET • RAM : 25 Go; CPU : 4 cores, 8 threads; SSD • Datawarehouse Wikipedia : • 120 Go • 250 Millions de lignesdans la principale table de fait 8
Entrepôt de données DimUser DimCategory DimPage FactPage DimRevision FactRevisionPage DimDate 9
DIRECTORY FONCTIONNEMENT DU CSIINTERETS DU ROLAP COMPARAISON Exempled’encodage Dictionnaireprincipal S1 S1 S1 Dictionnairessecondaires S2 S2 S2 Partition 1 S3 S3 S3 L1 L1 L1 L2 L2 L2 L3 L3 L3 Partition 2 … … … S2 S2 S2 Delta store C1 C2 C3 10
Point importants • Clustered CSI lecture/écriture • BLOB • Segment elimination • Batch mode • Compression “Archive” 11
La mise à jour des données • INSERT : dans le Delta Store • DELETE : dans le Delta Store oudansle Deleted Rows store DELETED ROWS Bitmap ou B-tree Nouveaux segments INSERT DELETE Encodage et compression Tuplemover Delta store 12
INTERETS DU ROLAPCOMPARAISON DES PERFORMANCES LES LIMITES • Peu (pas) de temps de processing • “Temps réel” • Partitionnementcôté SQL 14
Optimisation du ROLAP • Types de données • Statistiques • Spill • Hint • M2MQuery • CSI : fragmentation due au partitionnement 15
Optimisation du ROLAP • Types de données Jointure INT – INT 24s Jointure NUMERIC- INT 34s 16
Optimisation du ROLAP • Spill SELECTCOUNT(*) FROM [dbo].[FactPageRevision] WT INNERJOIN [dbo].[DimRevision] DR ON WT.[RevisionId]=DR.RevisionId WHERERevisionDateId> 20130101 17
Optimisation du ROLAP • Statistique SQL Server ne connaît pas le lien entre noscolonnes CREATESTATISTICSClientInteressant ONDimClient ( [CA] , [NbConsultant] , [Utilise SQL] ) WHERE [CA] > 5000000 AND [Utilise SQL] ='Oui' 18
Query HINT 19
Entrepôt de données DimUser DimCategory DimPage FactPage DimRevision FactRevisionPage DimDate 20
Many-to-many 21
Many-to-many DimUser DimCategory DimDate FactCategoryMatrix DimRevision FactRevisionPage DimPage DimCategoryMatrix 22
COMPARAISON DES PERFORMANCESRESSOURCES LES LIMITES Requête 1 SELECT [Measures].[Revision Count] ON 0 ,NONEMPTY [Date].[Year].[Year] ON 1 FROM [Wikipedia] Requête 2 SELECT [Measures].[Revision Count] ON 0 ,NONEMPTY [Category].[Category].[Category] ON 1 FROM [Wikipedia] Requête 3 SELECT [Measures].[Fact Page Revision Count] ON 0 ,NONEMPTY [Date].[Month].[Month]*[User].[User].[User] ON 1 FROM [Wikipedia] WHERE [Date].[Year].&[2013] 23
COMPARAISON DES PERFORMANCESRESSOURCES LES LIMITES Données en milliseconde, sur cache froid * M2M factorisée 24
LES LIMITES RESSOURCES • CSI : quelques types de donnéesincompatibles (varchar(MAX), text, xml, …) • CSI non-clustered seulement en lecture • CSI clustered doitêtrel’unique index de la table • Alignement du partitionnement table-index 25
RESSOURCES http://technet.microsoft.com/en-us/library/gg492088(v=sql.120).aspx http://rusanu.com/2012/05/29/inside-the-sql-server-2012-columnstore-indexes/ http://social.technet.microsoft.com/wiki/contents/articles/3540.sql-server-columnstore-index-faq.aspx http://rusanu.com/2011/07/13/how-to-use-columnstore-indexes-in-sql-server/ http://social.technet.microsoft.com/wiki/contents/articles/4995.sql-server-columnstore-performance-tuning.aspx http://downloads.sqlity.net/ColumnstoreIndexInternals.pdf http://sqlblog.com/blogs/alberto_ferrari/archive/2012/08/17/new-whitepaper-from-sqlbi-vertipaq-vs-columnstore.aspx http://www.sqlskills.com/blogs/joe/row-and-batch-execution-modes-and-columnstore-indexes/ http://www.nikoport.com/2013/07/05/clustered-columnstore-indexes-part-1-intro/ SSAS 2008 Unleashed, SAMS Expert Cube Development, Webb-Russo-Ferrari 26