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