IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

utilité de plusieurs fichiers dans le groupe de fichier


Sujet :

Développement SQL Server

  1. #1
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut utilité de plusieurs fichiers dans le groupe de fichier
    Salut
    Je voudrais savoir l'utilité de définir plus d'un fichier dans un groupe de fichiers si on ne peut utiliser que le groupe de fichier dans la définition d'une table ou d'un indexe?
    merci d'avance.
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Bonjour,

    Le groupe de fichiers permet d'organiser l'allocation de vos tables, index etc ..
    C'est par lui que vous devez passer lorsque vous crééer vos tables.

    Vous pouvez par exemple organiser votre base avec un groupe de fichiers pour vos index, un pour vos datas etc..

    Maintenant vous pouvez également avoir plusieurs fichiers par groupe pour augmenter les performances IO lors de vos accès IO si vous possédez plusieurs axes physiques concernant vos données. (ceci n'est pas valable pour les fichiers concernant le JT)

    ++

  3. #3
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut et merci pour la réponse
    Dois-je comprendre par là, que je peut définir un fichier (dans un groupe) sans pouvoir y faire référence lors de la création d'un objet, et que c'est sqlserver qui juge de l'opportunité d'un fichier dans une action donnée?
    Comprenez que je suis un débutant avec sqlserver.
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Bonsoir,

    Disons qu'il faut faire le distinguo entre le niveau logique (structures de données) et le niveau physique des données (Fichiers)

    - Vos tables sont gérées au niveau logique (Groupe de fichiers = conteneur logique).
    - La répartion des fichiers dans ces groupes de fichiers se fait quant à elle, au niveau physique.

    Ceci respecte parfaitement la règle 8 de Codd : L'indépendance physique des données. Un changement à ce niveau ne doit pas avoir d'impact sur le niveau logique.

    ++

  5. #5
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut et merci pour la reponse
    Permettez moi d'insister...
    Voici un exemple pratique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    --(livre de sqlpro page 61)
    CREATE DATABASE B_FORUM
    ON PRIMARY
    (NAME=F_CATALOG,
    FILENAME='D:\DATASQL\FORUM\F_CATALOG.D0',
    SIZE =10 GB
    FILEGROWTH=100 MB)
    FILEGROUP FG_DATA1
    (NAME=F_DATA1
    FILENAME='E:\DATASQL\FORUM\F_DATA1.D1',
    SIZE =80 GB
    MAXSIZE =160 GB
    FILEGROWTH=250 MB)
    (NAME=F_DATA2
    FILENAME='E:\DATASQL\FORUM\F_DATA2.D2',
    SIZE =80 GB
    MAXSIZE =160 GB
    FILEGROWTH=250 MB)
    FILEGROUP FG_INDEX1
    (NAME='F:\DATASQL\FORUM\F_INDEX1.I1',
    SIZE =80 GB
    MAXSIZE =160 GB
    FILEGROWTH=250 MB)
    LOG ON 
    (NAME='F_LOG'
    FILENAME='G:\LOGSQL\FORUM\F_LOG1.L1',
    SIZE =100 GB)
    Là on voie deux fichiers dans FG_DATA1.
    supposons je crée une table...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE TABLE matable
    (id INTEGER NOT NULL PRIMARY KEY,
    nom CHAR(20) NOT NULL) 
    ON FG_DATA1
    en plaçant cette table dans "FG_DATA1", dans lequel des fichiers (F_DATA2 ou F_DATA1) sera-t-elle placée?
    Quelle est alors l'importance de créer plusieurs fichiers dans un groupe si lors de la création de ma table je ne pas indiquer directement le fichier qui le prendra?
    Merci et @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Dans les deux fichiers....

    En effet, il y a équipartition, c'est à dire que SQL Server cherche à optimiser tout ce qu'il peut et s'il voit que l'espace de stockage comporte deux fichiers alors il va mettre la moitié des lignes de la table dans l'un des fichiers et l'autre moitié dans l'autre.
    Cela permet de diviser par deux les temps physiques d'insertion des données, comme de remontée des données en RAM lors des lectures physiques, sachant que ce qui prends le plus de temps est justement les lectures et écriture des disque (10 000 fois plus lent que la RAM environ).

    ATTENTION cependant, car cela n'est valable que si les storages sont physiquement indépendant, ce que n'est pas le cas dans cet exemple car les deux fichiers du filegroup FG_DATA1 pointent sur le même lecteur E. Il aurait été plus sage de faire pointer l'un des fichiers sur un autre lecteur, à condition que la machine qui héberge cette base en soit doté d'un nombre suffisant !

    A +

    PS : je suis l'auteur du livre.... et il m'arrive de mettre quelques pièges dans mes exemples afin de voire la sagacité de mes lecteurs !
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  7. #7
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Merci beaucoup pour la réponse.
    Et @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplacement de chaîne de caractères automatique dans un groupe de fichiers
    Par nicolas823 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 26/03/2014, 02h01
  2. [WD18] Afficher nom de fichier dans le selecteur de fichier
    Par buzz68180 dans le forum WinDev
    Réponses: 2
    Dernier message: 07/12/2013, 12h49
  3. Chercher un mot dans un groupe de fichier
    Par pedro570 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 11/03/2013, 21h04
  4. Réponses: 0
    Dernier message: 14/11/2010, 19h54
  5. [WD12] MAJ Fichiers dans analyse à partir de fichiers externes
    Par windsor dans le forum WinDev
    Réponses: 4
    Dernier message: 12/07/2009, 23h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo