High Performance Is No Longer A “Nice To Have” In

Transcription

High Performance Is No Longer A “Nice To Have” In
MicroStrategy 10
Plus de performance avec le nouveau moteur in-memory
Thierry Duval
1
La performance est un point essentiel des applications analytiques
Les utilisateurs n’acceptent plus d’attendre, en
particulier sur les applications mobiles
Le volume et la variété des données explosent
Consolidation/Agrégation en mémoire
2
Connexion aux données :
Traitements en externe (sur la source) ou en interne (sur cubes in-memory)
Traitements sur la source
Data
Source
MicroStrategy Server
Rapports
Transparent pour l’utilisateur
Traitements sur cubes mémoire préchargés
Data
Source
MicroStrategy Server
Avec cubes en
mémoire
Rapports
•
Stockés sur le serveur en mémoire + backup sur disque
•
Temps de réponse extrêmement rapide
Gestion des cubes mémoire
• Mise à jour automatique des données
- Scheduler basé sur calendrier ou sur événement
- Chargement complet ou incrémental
• Supervision des cubes depuis l’interface d’administration
- Taille des cubes
- Nombre d’utilisations
- Dernière mise à jour
- Requête SQL/MDX/…
Nouveauté v10 : Parallélisation des données in-memory
Les cubes mémoire peuvent être partitionnés sur plusieurs cœurs de CPU
pour distribuer la charge
 Parallélisation du chargement des données sur plusieurs cubes partitionnés
 Parallélisation du traitement des demandes utilisateurs sur plusieurs cores
MicroStrategy 9
MicroStrategy 10
Moteur de
requête
Accès en parallèle
Mémoire
5
Mémoire
Données
distribuées
Mémoire
Mémoire
Nouveauté v10 : Parallélisation des données in-memory
Bénéfice 1 : Gain sur les temps de réponse et la montée en charge
 Gain de 50% sur les temps de réponse et la tenue à la charge
Comparaison Windows / Linux
Windows 64 bits – 8 coeurs
0
Tps Réponse moyen (s)
Tps Réponse moyen (s)
Linux – 8 coeurs
1
2
3
4
5
0
5
10
x1000 cycles
MSTR 10 avec 8 partitions
MSTR 10 sans partitionnement
MSTR 9.4.1
8
15
1
2
3
4
5
6
7
0
5
x1000 cycles
MSTR 10 avec 8 partitions
MSTR 10 sans partitionnement
MSTR 9.4.1
10
Bénéfice 2 : Chargement plus rapide des cubes
 MSTR 9.4 : chargement sur un seul thread ODBC
 MSTR 10 : chargement en parallèle sur plusieurs threads => gain en performance
Paramètre projet (VLDB) :
Maximum Parallel Queries per report
Test sur un cube de 5 millions de lignes
MSTR 9.4
Fetch Rate: 50 MB / sec
MSTR 10
Fetch Rate = 224 MB / sec
(chargement en parallèlle sur 8 threads)
Bénéfice 3 : Plus de données en mémoire
 MSTR 9.4 : Limitation à 2 milliards de lignes
 MSTR 10 : Partitionnement du cube en plusieurs “morceaux” de 2 milliards de lignes.
MSTR 9.4.1
MSTR 10
Parallel Partitioned Cube
2B
OLAP Cube
2B
2B
….
2B
…………….
DATA
Core
1
Core
2
Core
3
DATA
………….
Core
16
16 core CPU
Core
1
DATA
Core
2
DATA
Core
3
………….
………….
DATA
Core
16
16 core CPU
Bénéfice 3 : Plus de données en mémoire
 MSTR 9.4 : Limitation à 2 milliards de lignes
 MSTR 10 : Partitionnement du cube en plusieurs “morceaux” de 2 milliards de lignes.
MSTR 9.4.1
MSTR 10
OLAP Cube
2B
Test interne
Cube de 2,35 milliards de lignes
DATA
8 partitions
265 GB
Core
1
Core
2
Core
3
………….
Core
16
16 core CPU
Bénéfice 4 : Plus de capacité analytique
 MSTR 9.4 : Cube = modèle étoile dénormalisé dans une seule table de faits
Rapports in-memory limités à une seule passe (1 Select)
 MSTR 10 : Cube = modèle relationnel multi-tables en mémoire
Support du multi-passes in-memory pour étendre les capacités analytiques
Fonction avancées qui n’étaient possibles qu’en SQL : qualification sur
mesures, filtres relationnels
Mémoire
12
Mémoire
Mémoire
Merci