Résumé : Ce livre blanc décrit la fonctionnalité filestream de sql server 2008, qui permet le stockage et l'accès aux données blob en associant sql server 2008 et le système de fichiers ntfs.








télécharger 194.54 Kb.
titreRésumé : Ce livre blanc décrit la fonctionnalité filestream de sql server 2008, qui permet le stockage et l'accès aux données blob en associant sql server 2008 et le système de fichiers ntfs.
page4/11
date de publication05.07.2017
taille194.54 Kb.
typeRésumé
ar.21-bal.com > loi > Résumé
1   2   3   4   5   6   7   8   9   10   11

À quel moment utiliser FILESTREAM


Bien que la technologie FILESTREAM dispose de nombreuses fonctionnalités attrayantes, elle n'est pas optimale dans toutes les situations. Comme indiqué précédemment, la taille des données BLOB et les modèles d'accès sont des facteurs importants lorsque vous décidez si vous allez stocker les données BLOB entièrement dans la base de données ou en utilisant FILESTREAM.

La taille affecte les éléments suivants :

  • Efficacité avec laquelle les données BLOB sont accessibles à l'aide de l'un des mécanismes
    de stockage. Comme indiqué précédemment, l'accès en continu des données BLOB est plus efficace avec FILESTREAM, mais les mises à jour partielles sont (potentiellement) plus lentes.

  • Efficacité de sauvegarde des données combinées structurées et BLOB à l'aide de l'un des mécanismes de stockage. Une sauvegarde qui associe les fichiers de base de données SQL Server et un grand nombre de fichiers FILESTREAM sera plus lente qu'une sauvegarde des fichiers de base de données SQL Server de taille totale équivalente. Cela est causé par la charge supplémentaire de sauvegarde de chaque fichier NTFS (un pour chaque valeur de données FILESTREAM). Cette surcharge est plus notable lorsque les fichiers FILESTREAM sont plus petits (car la surcharge de temps représente un plus grand pourcentage de la durée totale de la sauvegarde par Mo de données).

Par exemple, le graphique suivant indique le débit relatif des lectures locales de différentes tailles de données BLOB à l'aide de varbinary (max), FILESTREAM dans Transact-SQL et FILESTREAM dans NTFS. Vous constatez (sur la ligne bleue) que l'accès Win32 des données FILESTREAM devient plusieurs fois plus rapide que l'accès Transact-SQL des données varbinary (max) à mesure que la taille des données augmente. Notez que les mesures de débit sont en mégabits par seconde (Mbit/s).

filestreamwhitepaper1.gif

Illustration 1 : Performances de lecture de différentes tailles de BLOB

Les chiffres NTFS incluent le temps nécessaire pour démarrer une transaction, pour extraire le chemin d'accès et le contexte de transaction de SQL Server et pour ouvrir un descripteur Win32 dans les données FILESTREAM. Chaque test a été effectué sur le même ordinateur avec quatre cœurs de processeur et un pool de mémoires tampons SQL Server à chaud.

L'autre facteur à prendre en considération consiste à savoir si le client ou le niveau intermédiaire peut être écrit (ou modifié) de façon à utiliser les API de diffusion en continu Win32, ainsi qu'un accès normal
à SQL Server. Si ce n'est pas le cas, FILESTREAM n'est pas nécessaire, car les meilleures performances sont obtenues avec les API de diffusion en continu Win32.

Configuration de Windows pour FILESTREAM


Comme avec tout autre déploiement, avant de déployer une application qui utilise FILESTREAM, il est important de préparer le serveur Windows qui va héberger la base de données SQL Server et les conteneurs de données FILESTREAM associés. Cette section explique comment configurer le matériel de stockage et le système de fichiers NTFS en prévision de l'utilisation de FILESTREAM. Elle explique ensuite comment activer FILESTREAM au niveau Windows.

Sélection du matériel et configuration


Une des causes les plus courantes de charge de travail qui ne fonctionne pas correctement est une configuration matérielle qui n'est pas adaptée. Parfois, la mémoire est insuffisante, ce qui entraîne une surexploitation dans le pool de mémoires tampons de SQL Server, et parfois cela est simplement dû au fait que le matériel de stockage ne possède pas la fonction de débit d'E/S demandée par la charge de travail. Pour les applications qui utilisent FILESTREAM pour la diffusion en continu hautes performances de données BLOB à l'aide des API Win32, le choix et la configuration du matériel de stockage sont essentiels.

Les sections suivantes décrivent certaines des meilleures pratiques de sélection et disposition du stockage. Pour une présentation plus approfondie, consultez le livre blanc TechNet relatif à la conception du stockage de base de données physique (http://www.microsoft.com/technet/prodtechnol/sql/2005/
physdbstor.mspx
). Après avoir conçu une disposition optimale, il est prudent de réaliser des tests de charge pour valider les performances du sous-système d'E/S. Ce sujet est abordé en détail dans l'article TechNet sur les meilleures pratiques SQL Server intitulé « Meilleures pratiques pour les E/S de prédéploiement » (http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/pdpliobp.mspx).

Disposition du stockage physique


Veillez à prendre en compte la charge de travail anticipée sur un conteneur de données FILESTREAM lorsque vous déterminez son emplacement, ainsi que les charges de travail sur tous les conteneurs de données colocalisés ou fichiers SQL Server. Chaque conteneur de données FILESTREAM devra peut-être se trouver sur son propre volume, car le fait d'avoir plusieurs conteneurs de données avec un nombre élevé de charges de travail sur un seul volume peut provoquer une contention.

Le point à retenir ici est que sans tenir compte des charges de travail impliquées, le fait de tout placer sur un seul volume peut entraîner des problèmes de performances. Le degré de séparation nécessaire varie d'un client à l'autre.

Il est également possible de créer un schéma de table dans SQL Server, qui permet l'équilibrage de la charge brute des données FILESTREAM entre plusieurs volumes. Cette opération est décrite dans la section « Équilibrage de la charge des données FILESTREAM ».

Option de niveau RAID


Les avantages liés à l'utilisation de la technologie RAID sont connus, et on a déjà beaucoup écrit sur la sélection d'un niveau RAID adapté aux besoins de l'application. C'est pourquoi, ce livre blanc n'essaie pas de reprendre toutes ces informations. Comme mentionné précédemment, le livre blanc « Conception du stockage de base de données physique » comporte une excellente section sur les niveaux RAID et la sélection du niveau RAID. Ce qui suit est une simple présentation des facteurs à prendre en compte.

Les niveaux RAID diffèrent de plusieurs façons, plus particulièrement en termes de performances de lecture/écriture, de résilience aux défaillances et de coût. Par exemple, RAID 5 est relativement faible coût, il peut gérer l'échec d'un seul lecteur de la baie RAID, et peut ne pas être adapté aux charges de travail avec un nombre d'écritures élevé. En revanche, RAID 10 fournit d'excellentes performances en lecture et en écriture. Ce niveau permet de gérer plusieurs échecs de lecteur (selon le degré de mise en miroir impliqué), mais il est plus coûteux, étant donné qu'au moins la moitié des lecteurs de la baie RAID sont redondants. Voici les trois facteurs principaux impliqués dans la sélection d'un niveau RAID.
Le choix du niveau RAID peut être différent pour le volume sur lequel chaque base de données utilisateur est stockée, et peut même être différent entre le volume de stockage des fichiers de données et le volume de stockage des fichiers journaux d'une seule base de données.

Si la charge de travail comporte de la diffusion en continu hautes performances de données FILESTREAM, le choix immédiat peut être de faire en sorte que le conteneur de données FILESTREAM utilise le niveau RAID qui offre les performances de lecture les plus élevées. Toutefois, ce choix peut ne pas fournir un niveau élevé de résilience aux défaillances. Par ailleurs, le choix immédiat peut être d'utiliser le même niveau RAID que pour les autres volumes qui stockent les données de la base de données. Cependant,
il est possible qu'il ne fournisse pas les niveaux de performances requis par la charge de travail.

Pour ce livre blanc, le point à souligner est qu'un choix de niveau RAID conscient doit être effectué pour les volumes de conteneur de données FILESTREAM après avoir évalué les compromis impliqués. Il ne faut pas prendre une décision en fonction d'un seul facteur.

Choix de l'interface du lecteur


Dans les bases de données classiques liées à des données BLOB, la taille totale des données BLOB peut être plusieurs fois supérieure à la taille totale des données structurées. Lors de l'implémentation d'une solution impliquant des données FILESTREAM stockées dans des volumes distincts, vous souhaiterez peut-être utiliser le stockage le moins cher, tel que IDE ou SATA (appelé simplement « SATA » ci-après), plutôt qu'un stockage SCSI plus onéreux. Avant de faire ce choix, vous devez comprendre les compromis impliqués. Cette section fournit une présentation des différentes caractéristiques de SCSI et IDE/SATA pour prendre une décision en toute connaissance de cause en fonction des performances, de la fiabilité et du coût.

Capacité et performances

Les lecteurs SATA sont susceptibles d'avoir une capacité plus élevée que les lecteurs SCSI, mais ils ont une vitesse de rotation (tr/min) moins élevée que les lecteurs SCSI. Il existe des lecteurs SATA
à 10 000 tr/min, mais la plupart sont à 5 400 ou 7 200 tr/min. Des lecteurs SCSI hautes performances sont disponibles de 10 000 à 15 000 tr/min. Bien que le tr/min puisse être une mesure de comparaison utile, les deux chiffres qui doivent réellement être utilisés pour effectuer une comparaison sont la latence (le délai d'attente jusqu'à ce que la tête du disque soit à la position appropriée sur la surface du disque)
et les taux de transfert moyens (volume de données pouvant être transféré vers/à partir de la surface du disque par seconde). Il est également important que les lecteurs soient en mesure de traiter des modèles complexes d'E/S efficacement. Lorsque vous choisissez des lecteurs, vérifiez que les lecteurs SATA prennent en charge NCQ (Native Command Queue) et les lecteurs SCSI prennent en charge CTQ (Command Tag Queue), ce qui leur permet de traiter plusieurs E/S entrelacées pour offrir de meilleures performances.

En résumé, les lecteurs SCSI ont généralement une meilleure latence et des taux de transfert plus élevés et fournissent ainsi de meilleures performances de diffusion en continu, mais à un coût plus élevé.

Fiabilité

SQL Server s'appuie sur un tri des écritures et une durabilité garantis pour fournir fiabilité et récupération via son mécanisme de journal WAL (Write-Ahead Log). Pour plus d'informations sur ces spécifications d'E/S, consultez le livre blanc TechNet « Notions de base sur les E/S SQL Server » (http://www.microsoft.com/technet/prodtechnol/sql/2005/iobasics.mspx).

Pour la fiabilité, SCSI est généralement plus adapté que SATA, car cette technologie prend en charge l'écriture forcée des données sur le disque contrairement à SATA. Cette opération s'effectue par prise en charge de la double écriture, où les données à écrire ne sont pas du tout mises en cache, ou par prise en charge du vidage de force du contenu du cache sur le disque. L'absence de l'une ou l'autre peut avoir un impact sur la récupération après une défaillance matérielle, logicielle ou une panne d'alimentation. Tous les types d'interfaces prennent en charge le remplacement à chaud pour autoriser des réparations tout en préservant la disponibilité.

La fonctionnalité FILESTREAM repose sur les garanties de tri des écritures et de durabilité :

  • Durabilité des données lors de la validation des transactions

  • Journalisation WAL pour la création et la suppression de fichiers FILESTREAM

La durabilité des données est obtenue par le pilote du système de fichiers FILESTREAM qui effectue un vidage explicite des fichiers modifiés avant de valider des transactions (les détails du mécanisme dépassent l'objet de ce livre blanc). Cela garantit qu'en cas de panne de courant, tous les disques qui n'ont pas de cache protégé par batterie suffisant ne sont pas validés, mais les données FILESTREAM non vidées seront perdues. Si les lecteurs SATA ne prennent pas en charge une opération de vidage forcé, la récupération peut être affectée et des données peuvent être perdues.

La journalisation WAL repose sur la cohérence des métadonnées NTFS. Elle-même dépend de la fiabilité des disques sous-jacents. Il n'y a aucun problème avec SCSI, mais si les lecteurs SATA ne prennent pas en charge le vidage forcé, certaines modifications apportées aux métadonnées NTFS peuvent être perdues en cas de panne d'alimentation. Cela peut provoquer un certain nombre de scénarios :

  • Impossible de récupérer NTFS et de monter le volume (c.-à-d., le conteneur de données FILESTREAM est essentiellement hors connexion).

  • NTFS récupère, mais les modifications apportées aux métadonnées NTFS sont perdues et SQL Server ne sait pas restaurer une transaction non validée qui effectue une insertion de données FILESTREAM (c.-à-d., les données FILESTREAM sont perdues).

  • NTFS récupère, mais les modifications apportées aux métadonnées NTFS sont perdues et SQL Server ne sait pas restaurer une transaction non validée qui effectue une suppression de données FILESTREAM (c.-à-d., les données FILESTREAM sont perdues).

Notez que ces trois scénarios ne sont pas pires que si les données BLOB étaient stockées en dehors de la base de données sur un volume NTFS avec des lecteurs SATA sous-jacents qui ne prennent pas en charge l'application forcée des données sur le disque. Dans ce cas, l'utilisation de FILESTREAM sur un volume avec des lecteurs SATA est plus adaptée que le stockage des données BLOB dans des fichiers NTFS bruts sur le même volume, car la cohérence au niveau du lien de FILESTREAM fournit un mécanisme pour détecter à quel moment ces corruptions se sont produites (via l'exécution de DBCC CHECKDB sur la base de données).

Pour résumer, les données FILESTREAM peuvent être stockées de manière fiable sur des volumes avec stockage SATA sous-jacent, tant que les lecteurs SATA prennent en charge l'application forcée des données sur le disque via le vidage du cache.
1   2   3   4   5   6   7   8   9   10   11

similaire:

Résumé : Ce livre blanc décrit la fonctionnalité filestream de sql server 2008, qui permet le stockage et l\Résumé : le clustering de basculement sql server, qui inclut la prise...

Résumé : Ce livre blanc décrit la fonctionnalité filestream de sql server 2008, qui permet le stockage et l\Installation du driver Microsoft sql server pour php
«Framework php sous iis : Copix Framework» pour l’installation de sql server Express 2008

Résumé : Ce livre blanc décrit la fonctionnalité filestream de sql server 2008, qui permet le stockage et l\2011 Certification sql server 2008: ts database Development 2010

Résumé : Ce livre blanc décrit la fonctionnalité filestream de sql server 2008, qui permet le stockage et l\Lieu du stage
«Système de gestion de base de données relationnelles» dont le moteur de base de données est sql server

Résumé : Ce livre blanc décrit la fonctionnalité filestream de sql server 2008, qui permet le stockage et l\Avertissement
«Framework php sous iis : Copix Framework» pour l’installation de sql server Express 2008

Résumé : Ce livre blanc décrit la fonctionnalité filestream de sql server 2008, qui permet le stockage et l\Éléments fondamentaux de l'architecture de sql server

Résumé : Ce livre blanc décrit la fonctionnalité filestream de sql server 2008, qui permet le stockage et l\Dbms : Oracle, Mysql, sqlite,sql server cm tools

Résumé : Ce livre blanc décrit la fonctionnalité filestream de sql server 2008, qui permet le stockage et l\Résumé : les groupes de disponibilité sql server 2012 AlwaysOn offrent...

Résumé : Ce livre blanc décrit la fonctionnalité filestream de sql server 2008, qui permet le stockage et l\Résumé : Les instances de cluster de basculement (fci) sql server...

Résumé : Ce livre blanc décrit la fonctionnalité filestream de sql server 2008, qui permet le stockage et l\Performance Tuning Guidelines for Windows Server 2008 R2








Tous droits réservés. Copyright © 2016
contacts
ar.21-bal.com