SQL Server 2008 Database Performance and Scalability - L'approche de Microsoft
13 octobre 2008 par Mircea Goia Miscellaneous Divers
Ce sont des extraits du livre blanc Microsoft SQL Server 2008 Performance and Scale », publié ici (MyTestBox.com obtenu le permisison de Microsoft pour le reproduire ici).
Microsoft SQL Server 2008 intègre les outils et les technologies qui sont nécessaires pour mettre en oeuvre des bases de données relationnelles, les systèmes de déclaration et les entrepôts de données d'échelle de l'entreprise, et offre des performances optimales et la réactivité. Avec SQL Server 2008, vous pouvez profiter des dernières technologies matérielles tout en réduisant vos serveurs à soutenir la consolidation de serveurs. SQL Server 2008 vous permet également d'admirer la plus grande échelle de vos solutions de données.
Introduction
Les organisations d'aujourd'hui ont besoin facilement accessibles et aisément disponibles les données commerciales, afin qu'ils soient compétitifs sur le marché mondial. En réponse à ce besoin, relationnelles et d'analyse des bases de données continuent à croître en taille, de bases de données embarquées sont livrés avec de nombreux produits, et de nombreuses entreprises de consolider les serveurs de calmer les préoccupations de gestion.
Les sociétés doivent maintenir des performances optimales, tandis que leurs données sur l'environnement continue de croître en taille et en complexité.
Ce livre blanc décrit les performances et les capacités d'évolutivité de Microsoft ® SQL Server ® 2008 et explique comment vous pouvez utiliser ces capacités à:
- * Optimiser les performances de n'importe quelle taille de base de données avec les outils et fonctionnalités qui sont disponibles pour le moteur de base de données, Analysis Services, Reporting Services, et services d'intégration.
* Échelle de vos serveurs de tirer pleinement parti des capacités du nouveau matériel.
* Echelle à votre environnement de base de données afin d'optimiser la réactivité et pour déplacer vos données de plus près à vos utilisateurs.
Optimisation des performances avec SQL Server 2008
Parce que vos données d'entreprise continue de croître en taille et en complexité, il faut prendre des mesures pour offrir un niveau optimal fois accès aux données. SQL Server 2008 inclut de nombreuses fonctionnalités et améliorations pour optimiser les performances de l'ensemble de ses domaines de fonctionnalités, notamment relationnelle de traitement des transactions en ligne (OLTP) bases de données; Online Analytical Processing (OLAP) bases de données des rapports et des données d'extraction, transformation et chargement (ETL) processus.
Relational Database Performance
Dans la plupart des environnements d'entreprise, bases de données relationnelles sont au cœur des applications stratégiques et des services.
Alors que les volumes de données augmentent, et le nombre d'utilisateurs et les applications qui dépendent de données relationnelles magasins se développe, les organisations doivent être en mesure d'assurer un rendement constant et la réactivité de leurs systèmes de données.
SQL Server 2008 fournit un moteur de base de données solide qui accompagne les grandes bases de données relationnelles et le traitement des requêtes complexes.
Mesurables, Real-World Performance
SQL Server 2008 s'appuie sur les meilleures performances du marché des versions précédentes de SQL Server pour fournir le plus haut niveau possible de performance de base de données à votre organisation.
Après avoir démontré les capacités de haute performance de SQL Server dans le passé avec le TPC Transaction Processing Performance Council-C de référence, Microsoft a été le fournisseur de base de données premier à publier des résultats pour les plus récents de référence TCP E, ce qui représente plus de précision la nature des charges de travail OLTP que sont monnaie courante dans les organisations modernes.
En outre, SQL Server démontre ses capacités de performance à grande échelle, les données d'entreposage des charges de travail par le biais des résultats TPC-H dans la 3-téraoctet et 10 catégories de téraoctets. (Pour les résultats actuels de référence, consultez le site Web de PTC à www.tpc.org.)
High Performance du traitement des requêtes de moteur
La haute performance du moteur du traitement des requêtes de SQL Server permet aux utilisateurs d'optimiser leurs performances applicatives. Le moteur de traitement des requêtes évalue les requêtes et génère optimale des plans d'exécution de requêtes qui sont basées sur des statistiques à jour régulièrement sur les index, les principaux sélectivité, et les volumes de données.
Vous pouvez verrouiller ces plans de requête dans SQL Server 2008 pour assurer une performance constante pour les requêtes fréquemment exécutées. Le moteur de traitement des requêtes peuvent également profiter du multi-core ou multi-processeurs et de générer des plans d'exécution qui tirent profit du parallélisme, pour augmenter encore.
Habituellement, l'opération la plus coûteuse en termes de performances des requêtes I / S disque Les capacités de mise en cache dynamique de SQL Server réduire la quantité d'accès disque physique qui est nécessaire pour récupérer et modifier des données, et le moteur de traitement des requêtes peuvent améliorer sensiblement le rendement global à l'aide de lecture balaye avance pour anticiper les pages de données qui sont nécessaires pour une donnée plan d'exécution et préventivement les lire dans le cache. En outre, le SQL Server 2008 prennent en charge native de la compression des données peut réduire le nombre de pages de données qui doivent être lues, ce qui améliore la performance sur les I / O-bound charges de travail.
SQL Server 2008 prend en charge le partitionnement des tables et des index, qui permet aux administrateurs de contrôler l'emplacement physique des données en attribuant des partitions à partir de la même table ou d'index pour des groupes de fichiers sur plusieurs périphériques de stockage physiques distincts. Optimisations pour le moteur de traitement des requêtes dans SQL Server 2008 lui permettent de paralléliser l'accès aux données partitionnées, ce qui améliore considérablement les performances.
Outils d'optimisation des performances
SQL Server 2008 inclut des profils SQL Server et la base de données Assistant Paramétrage du moteur. En utilisant SQL Server Profiler, vous pouvez capturer une trace des événements qui se produisent dans une charge de travail typique pour votre application, puis rediffusion que trace dans le Conseiller Paramétrage du moteur de base de données, ce qui génère et applique les recommandations pour l'indexation et le partitionnement de vos données, donc vous peut optimiser les performances de votre application.
Après la création des index et des partitions qui conviennent le mieux à la charge de travail de votre application, vous pouvez utiliser l'Agent SQL Server pour planifier un plan automatisé de bases de données de maintenance.
Le maintien automatique réorganise périodiquement ou reconstruit les index, et l'indice de mises à jour et de la sélectivité des statistiques, afin d'assurer constamment optimisé les performances sous forme d'encarts données et les modifications fragmenter les pages de données physiques de votre base de données.
Le gouverneur de ressources
Souvent, un seul serveur est utilisé pour fournir de multiples services de données. Dans certains cas, de nombreuses applications et les charges de travail reposent sur la même source de données. Comme la tendance actuelle de consolidation de serveurs continue, il peut être difficile d'offrir des performances prévisibles pour une charge de travail donnée en raison des charges de travail des autres sur le même serveur en compétition pour les ressources système.
Avec leurs multiples tâches sur un seul serveur, les administrateurs doivent éviter des problèmes comme une requête en fuite qui affame une autre charge de travail des ressources du système, ou à faible charge de travail prioritaires qui influent négativement élevé? Charges de travail prioritaires.
SQL Server 2008 inclut le gouverneur de ressources, ce qui permet aux administrateurs de définir les limites et assigner des priorités aux charges de travail individuels qui sont en cours d'exécution sur une instance de SQL Server.
Les charges de travail sont fondées sur des facteurs tels que les utilisateurs, les applications et bases de données. En définissant les limites des ressources, les administrateurs peuvent minimiser les risques d'emballement des requêtes aussi bien qu'à limiter les ressources qui sont disponibles pour des charges de travail qui monopolisent les ressources. En fixant des priorités, les administrateurs peuvent optimiser les performances d'une mission-critiques du procédé, tout en maintenant la prévisibilité pour les autres charges de travail sur le serveur.
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ....
Data Warehousing et analyse des performances
Environnements d'entrepôt de données doit faire face à des volumes croissants de données et les exigences des utilisateurs et de maintenir des performances optimales. Comme entrepôt de données requêtes deviennent complexes, chaque partie de la requête doit être optimisé pour maintenir des performances acceptables. Dans SQL Server 2008, l'optimiseur de requête peut introduire dynamiquement un filtre optimisé bitmap pour améliorer les performances de requête pour les requêtes de jointure en étoile.
Analyse des applications de services exigent généralement des calculs volumineux et complexes. Temps processeur précieux est gaspillé en calculant les agrégations régler la valeur NULL ou zéro.
Block calculs dans SQL Server 2008 Analysis Services utilise des valeurs par défaut, réduire au minimum le nombre d'expressions qui doivent être calculés, et la navigation de cellules limiter à une seule fois pour tout l'espace, plutôt qu'une seule fois pour chaque cellule, ce qui améliore considérablement les performances de calcul.
Bien multidimensionnelles OLAP (MOLAP) partitions offrir une plus grande performance des requêtes, des organisations qui nécessitent des capacités d'écriture dos étaient auparavant nécessaires pour utiliser Relational OLAP (ROLAP) partitions de maintenir la radiation des tableaux arrière.
SQL Server 2008 ajoute la capacité d'effectuer des opérations de back-écriture aux partitions MOLAP, qui élimine la dégradation des performances qui est causée par le maintien ROLAP écriture tableaux arrière.
Reporting Services pour la performance
Le SQL Server 2008 Reporting Services moteur a été retravaillé pour donner plus de performances et l'évolutivité de Reporting Services avec le traitement à la demande. Les rapports sont pas de mémoire plus lié parce que le traitement rapport utilise désormais un cache de système de fichiers pour s'adapter à la pression de mémoire. Rapport de traitement peut aussi s'adapter à d'autres processus qui consomment de la mémoire.
Une architecture de nouveau rendu supprime les problèmes d'utilisation de la mémoire à partir des versions précédentes de moteurs de rendu. Ces nouvelles dispositions prévoient également des moteurs de rendu des améliorations, comme un véritable moteur de rendu de données ajoutées au moteur de rendu CSV, et le soutien aux régions de données imbriquées et les sous-rapports imbriqués dans le Microsoft Office ® convertisseur Excel.
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ....
Scaling Up avec SQL Server 2008
La consolidation de serveurs, les grands magasins de données, et des requêtes complexes exigent des ressources matérielles pour aider les charges de travail différentes en cours d'exécution sur un serveur. SQL Server 2008 a la capacité de tirer pleinement parti des technologies matérielles les plus récentes.
Plusieurs instances de base de données du moteur et des services d'analyse de multiples instances peuvent être installés sur un serveur unique pour consolider l'utilisation du matériel. Pas moins de 50 cas peuvent être installés sur un serveur unique sans compromettre les performances ou la réactivité.
Support matériel
SQL Server 2008 tire pleinement parti du matériel moderne, y compris 64 bits, les systèmes multi-processeur, et pluriethnique. Pour appuyer la croissance de rapports, d'analyse et les chargements de données Access, SQL Server peut adresser jusqu'à 64 Go de mémoire et prend en charge l'allocation dynamique de la mémoire AWE mappée sur le matériel 32 bits et peut traiter jusqu'à 8 téraoctets de mémoire sur 64 bits matériel.
Quand un grand nombre de processeurs sont ajoutés à un serveur, un accès mémoire peut être ralenti si le transformateur doit accéder à la mémoire qui n'est pas local pour le processeur. Matériel construit pour l'accès mémoire non uniforme (NUMA) architecture surmonte ces limitations d'accès mémoire en permettant aux transformateurs d'accéder à la mémoire locale.
SQL Server est conscient de matériel NUMA le prévoit, les entreprises avec une plus grande évolutivité et plus d'options de performance. Vous pouvez profiter de Numa-ordinateurs sans changement de configuration d'application. SQL Server 2008 prend en charge la fois le matériel et soft-NUMA NUMA.
Hot-Ajout de matériel
Bien que vous pouvez facilement élargir une instance SQL Server par l'ajout de mémoire ou de CPU, la programmation des temps d'arrêt d'ajouter du matériel à l'échelle de vos applications critiques de mission et vingt-quatre heures par jour, sept jours par semaine, les opérations de semaine peut être difficile .
Avec SQL Server 2008, vous pouvez faire évoluer votre serveur en ajoutant des processeurs et de mémoire pour machines compatibles sans avoir à interrompre vos services de base de données.
Les conditions suivantes doivent être remplies à chaud ajouter de la mémoire:
- * SQL Server 2008 Enterprise Edition
* Windows ® Server 2003 Enterprise Edition ou Windows Server 2003 Datacenter Edition
* 64 bits de SQL Server ou 32 bits de SQL Server avec prise en charge AWE activée
* Matériel de votre fournisseur de matériel qui prend en charge plus de mémoire, ou le logiciel de virtualisation
* SQL Server a démarré avec l'option-h
Les conditions suivantes doivent être remplies à chaud ajouter CPUs:
- * SQL Server 2008 Enterprise Edition
* Windows ® Server 2008 Enterprise Edition pour systèmes Itanium ou Windows Server 2008 Datacenter Edition pour systèmes x64 bits
* 64 bits de SQL Server
* Matériel prenant en charge les ajouts du processeur, ou un logiciel de virtualisation
Advanced Features Concurrency
Le but de l'élargissement de votre serveur de base de données est de soutenir un nombre croissant d'utilisateurs ou d'applications. Comme le nombre d'utilisateurs augmente, la réactivité peut être affectée par les problèmes de concurrence lorsque plusieurs transactions tenter d'accéder aux mêmes données.
SQL Server 2008 fournit des niveaux d'isolation de nombreuses initiatives pour promouvoir une variété de solutions que l'équilibre concurrentiel avec intégrité lire. Pour la ligne? Niveau des versions de soutien, SQL Server 2008 comprend un niveau d'isolation READ COMMITTED qui utilise l'option de base de données READ_COMMITTED_SNAPSHOT et un niveau d'isolement de capture instantanée qui utilise l'option de base de données ALLOW_SNAPSHOT_ISOLATION.
En outre, l'escalade de verrous fixation sur une table vous permet d'améliorer la performance et de maintenir la concurrence, en particulier lors des requêtes sur des tables partitionnées.
Évolutivité avec SQL Server 2008
En plus de la généralisation des serveurs individuels à un soutien croissant des environnements de données, SQL Server 2008 propose des outils et des capacités à l'échelle des bases de données pour accroître les performances des bases de données très importantes et pour déplacer les données à proximité des utilisateurs.
Bases de données partagée évolutive
Les entrepôts de données sont généralement utilisées par plusieurs consommateurs de données en lecture seule, tel que l'analyse et des solutions de reporting, et peuvent être surchargés de demandes de données, ce qui diminue la réactivité.
Pour surmonter ce problème, SQL Server 2008 prend en charge évolutive des bases de données partagées, qui offrent un moyen à l'échelle des bases de données en lecture seule déclarations entre plusieurs instances de serveur de base de données distribue la charge de travail moteur de recherche et d'isoler les requêtes de ressources intensives.
La base de données partagée évolutive fonctionnalité permet aux administrateurs de créer une lecture dédié uniquement source de données par des copies d'un montage en lecture seule base de données sur les serveurs de rapports multiples. Applications d'accès à une copie conforme des données, indépendante du serveur d'exploitation à laquelle ils se connectent.
Données dépendantes de routage
Quand une entreprise décide à l'échelle de sa structure de base de données dans une base de données fédérées, il doit déterminer la façon de diviser les données de façon logique entre les serveurs et comment router les demandes vers le serveur approprié.
Avec SQL Server 2008, vous pouvez mettre en œuvre le routage de données dépendantes en service en utilisant Service Broker pour les requêtes route vers les endroits appropriés.
Peer-to-Peer de réplication
Peer-to-peer de réplication peut fournir une échelle efficace-out solution dans laquelle des copies identiques d'une base de données sont distribués à divers endroits dans l'organisation, afin que les modifications apportées à la copie locale des données sont propagés automatiquement dans les autres copies répliquées. SQL Server 2008 vous aide à réduire le temps nécessaire pour mettre en œuvre et gérer un peer-to-Peer solution de réplication avec le nouveau pair-to-Peer assistant Topologie et concepteur visuel.
En utilisant le peer-to-peer de réplication, vous pouvez permettre aux applications de lire ou modifier des données dans l'une des bases de données qui participent à la réplication.
Tandis que les versions précédentes de SQL Server requis aux administrateurs de mettre fin aux activités sur les tables publiées sur tous les noeuds avant de fixer un nouveau nœud à un nœud existant, SQL Server 2008 permet aux nouveaux nœuds à être ajoutés et connectés, même pendant l'activité de réplication.
Query Notifications
La plupart des applications d'entreprise sont basés sur une architecture à trois niveaux dans lesquels les données sont récupérées à partir du serveur de base de données par un ou plusieurs serveurs d'application (souvent une batterie de serveurs Web), qui est à son tour accessible par les ordinateurs client. Pour améliorer les performances, serveurs d'applications de nombreuses données en cache pour fournir des temps de réponse plus rapide pour les utilisateurs.
Une des limites de données mises en cache est la nécessité d'actualiser les données, car si les données ne sont pas actualisées assez fréquemment, les utilisateurs peuvent recevoir des données obsolètes qui ne sont plus exactes. Actualiser les données plus fréquemment ajoute un surcoût qui peut finir par ralentir la performance sur le serveur d'applications. SQL Server 2008 permet aux applications d'utiliser cache de l'application plus efficacement en utilisant les notifications de requête permettant de notifier automatiquement les applications de couche-Orient lorsque les données mises en cache est dépassée.
Le serveur d'application peut souscrire à la notification de requête de sorte qu'il est informé, lors des mises à jour qui affectent les données mises en cache sont effectuées sur la base de données. Le serveur d'application peut alors actualiser dynamiquement la mémoire cache avec les données mises à jour.
Scalable bases de données partagées pour Analysis Services
Bien que SQL Server 2005 Analysis cubes Server sont généralement en lecture seule des bases de données, chaque instance conserve son dossier de fichiers. Bien que vous pouvez créer plusieurs copies d'une base de données Analysis Services en cubes de synchronisation entre plusieurs serveurs, le processus de synchronisation cube introduit mai latence qui est inacceptable dans de nombreux environnements d'entreprise.
SQL Server 2008 Analysis Services permet de surmonter ces problèmes en soutenant un scale-out Analysis Services de déploiement dans lequel un seul, centralisé lire la copie de la base de données Analysis Services est partagé entre plusieurs instances et accessible via une adresse IP virtuelle unique, comme le montre la figure 2 .
Conclusion
SQL Server 2008 fournit un environnement riche et puissant pour tous vos besoins en données. Il est optimisé pour fournir les meilleures performances de pointe grâce à son moteur de base de données relationnelle, Analysis Services, Reporting Services et Integration Services.
Nouveaux et bien établis des outils et des techniques de travailler ensemble pour aider les entreprises à déployer n'importe quelle taille de l'environnement de données et de maintenir des performances optimales.
SQL Server 2008 prend en charge les dernières tendances technologiques pour donner aux entreprises la flexibilité nécessaire pour élargir les serveurs individuels et consolider les charges sur ces serveurs. Il fournit également aux entreprises les technologies qui sont nécessaires pour intensifier les bases de données les plus importantes.
Pour plus d'informations:
- Microsoft SQL Server 2008
- SQL Server Developer Center
- SQL Server TechCenter
«Reproduit à partir de SQL Server 2008 Performance and Scale papier blanc avec l'autorisation de Microsoft Corporation. Tous droits réservés. Le texte intégral mai se trouve ici. "
Sphere: Related Content Désirez-vous plus critiques de logiciels Web, des nouvelles et des conseils / astuces?
Ensuite, assurez-vous vous abonner à notre flux RSS!
Tags: base de données, Microsoft, les performances, l'évolutivité, la solution, sql server 2008, livre blanc































Laissez une réponse
Remarques complémentaires powered by BackType