8
votes

Stockez des fichiers sur SQL Server ou conservez-les sur le serveur de fichiers?

Actuellement, nous avons actuellement des milliers de fichiers Microsoft Word, des fichiers Excel, des PDF, des images, etc. stockées dans des dossiers / sous-dossiers. Celles-ci sont générées par une application régulière et peuvent être consultées à tout moment dans cette application. Comme nous cherchons à mettre à niveau, nous cherchons maintenant à stocker tous ces documents dans SQL Server 2005 à la place. Les raisons de cela sont basées sur la possibilité de compresser les documents, d'ajouter des champs supplémentaires à stocker plus d'informations sur ces documents et d'appliquer l'index du cas échéant.

Je suppose que ce que je suis après est le pros et les inconvénients de l'utilisation de SQL Server en tant que référentiel de documents au lieu de les garder sur le serveur de fichiers, ainsi que toute expérience que vous pourriez avoir pour le faire.

Nous utiliserions C # et Windows Workflow pour effectuer cette tâche.

Merci pour vos commentaires.

Edit


Quelle est la taille des fichiers?

entre 100k = 200K de taille (AVG. 70 Ko)

Combien sera?

au moment où il s'agit d'environ 3,1 millions de fichiers (allant de Word / Excel et PDF), qui peut augmenter de 2 600 par jour. (La croissance augmentera également avec le temps)

Combien de lectures?

Celui-ci est difficile à quantifier car notre ancien système / application permet de travailler cela difficile à travailler.


Un autre lien utile souligné sur un post similaire couvre les avantages et les inconvénients des deux méthodes.

Fichiers Stocké sur DB VS FileSystem - Avantages et contre


4 commentaires

Quelle est la taille des fichiers? Combien sera? Combien de lectures? Des décisions comme celle-ci devraient toujours être faites de mesures.


Dupliquer possible ... voir Stackoverflow.com/questions/616762/...


Certainement similaire que je n'ai pas reporté lors de la création de mienne. Bons avantages et inconvénients là-bas.


Si votre taille moyenne est inférieure à 256 Ko, laquelle il est plus optimal de l'enregistrer dans la DB.


7 Réponses :


1
votes

Quel genre de documents parlons-nous?

stocker des documents de votre serveur SQL peut être utile car vous pouvez relier les documents à d'autres tableaux et utiliser des techniques telles que l'indexation de texte intégral et faire des choses comme des recherches floues.

Un inconvénient est qu'il pourrait être un peu plus difficile de créer une sauvegarde des documents. Et la compression est également possible avec la compression NTFS ou d'autres techniques.


3 commentaires

Ils seraient des documents Microsoft Word.


Sry ... aussi des fichiers Excel et PDF aussi.


En outre, stockez des images aussi bien des images JPEG & BMP.



8
votes

J'aurais les deux.

Je garderais les fichiers renommés à un nom unique, ce qui faciliterait la gestion, et je garderais toutes les métadonnées à l'intérieur de la base de données (nom de fichier, type de contenu, emplacement sur le système de fichiers, la taille, la description, la description, la description, la description, la forme, la forme Les fichiers sont accessibles via la base de données (indirectement).

Avantages:

    Les fichiers
  • sont faciles à manipuler; Vous pouvez apporter plusieurs lecteurs dans le mélange
  • La base de données peut conserver un nombre quelconque d'informations méta, y compris la description de fichier sur laquelle vous pouvez rechercher contre.
  • garder une piste sur les accès des fichiers et autres informations statistiques
  • Réorganisez les fichiers à l'aide de divers paradigmes: arborescence (structure de répertoire), balises, recherche ou contexte

    Vous pouvez également avoir une compression sur un lecteur. Vous pouvez avoir un raid pour la sauvegarde et la vitesse.


0 commentaires

1
votes

Ces documents sont basés sur ces documents et utilisez-vous l'utilisation de la recherche de texte complète de SQL Server pour rechercher ces documents? Sinon, je ne vois aucun avantage à stocker ces documents sur la base de données. Bien sûr, vous pouvez toujours stocker les métadonnées liées aux documents, y compris les informations de chemin à la base de données.


1 commentaires

Nous allions utiliser la recherche de texte complète et l'ajout de champs supplémentaires à stocker des métadonnées sur ces documents.



1
votes

Un grand avantage de Stroing Docs dans la DB est qu'il devient beaucoup plus facile de contrôler l'accès à la sécurité, car vous pouvez tout faire via un contrôle d'accès dans votre application. Les stocker sur un serveur de fichiers nécessite de traiter avec accès privilégié au niveau du fichier et du dossier afin d'éviter tout accès direct. Donnez-les également dans un DB pour un seul point de sauvegarde, vous pouvez donc plus facilement faire une copie complète et / ou déplacer-la si nécessaire.


0 commentaires

12
votes

Si vous mettez à niveau tout le chemin, sur SQL Server 2008, vous pouvez utiliser la nouvelle fonctionnalité FileStream, qui permet au document d'apparaître sous forme de colonne dans une table, encore de résider en tant que fichier sur une part, où il peut être directement accessible par un programme (comme Word).


1 commentaires

Nice, ne savait pas à propos de cette capacité.



17
votes

règle de base pour la taille du document est la suivante:

size < 256 kb: store in db
265 kb < size < 1 MB: test for your load
size > 1 Mb: store on file system


0 commentaires

1
votes

Plutôt que d'écrire un DMS personnalisé (système de gestion de documents), vous devez probablement envisager d'acheter un ou à l'aide de WSS / SharePoint, car cela traitera tous les détails mondains (stockage, indexation, méta-données) et vous permettra de créer votre fonctionnalité personnalisée. sur le dessus.


5 commentaires

SharePoint a été considéré mais le coût a été trop considéré! :(


Qui coûte? C'est gratuit Per-Server.


Ma compréhension était que Windows SharePoint Services (WSS) est la version gratuite qui vient avec beaucoup de limitation. La version sous licence que j'étais sur A propos était Microsoft Office SharePoint Server (Moss). Toutes mes excuses pour toute confusion.


Nice lien sur les limitations WSS: social.technet.microsoft.com/forums/en-us/sharepointgeneral/ ...


Peut-être mérite peut-être la recherche de DMS open-source alors (Mind You, Moss est un bon rapport qualité-prix pour ce que vous obtenez - si vous utilisez beaucoup d'intégration de connectivité / bureau). SharePoint ou un DMS fournit la "forte levée" - stocker des millions de documents (de manière fiable), d'indexation, de métadonnées, etc. signifie que les travaux de développement ne réinventent pas la roue ...