Est-ce que quelqu'un a utilisé SQL Server 2008 comme base de données de document xml? Que pensez-vous de le faire. L'indexation et l'interrogation du type de données XML sont-elles suffisantes pour prendre en charge ce type de rôle? Les performances de requête de XML sont-elles acceptables?SQL Server 2008 en tant que base de documents de document xml
Répondre
Je ne sais pas exactement quelles sont vos exigences, et combien de documents et de tailles nous parlons ici. SQL Server 2005 vous permet de spécifier des schémas XML afin que vous puissiez certainement obtenir une validation dans l'équation, ce qui est certainement bénéfique pour SQL Server 2005. En ce qui concerne l'indexation XML, vous pouvez indexer trois stratégies différentes une fois que vous avez créé un index XML primaire de base.
- le premier type d'index plus pour optimiser le XPath à un noeud XML unique lorsque vous faites beaucoup de requêtes basées sur XPath pour les noeuds (
CREATE XML INDEX ..... FOR PATH
) - le second type d'index plus pour optimiser l'accès aux valeurs dans votre XML noeuds, lorsque vous effectuez une recherche plus fondé sur des valeurs dans le document XML (
CREATE XML INDEX ..... FOR VALUE
) - le troisième est en quelque sorte un hybride des deux ci-dessus (que je jamais tout à fait moi-même groked, pour être honnête,
CREATE XML INDEX ..... FOR PROPERTY
)
Les index XML fonctionnait assez bien dans nos échantillons, mais le principal inconvénient dans notre cas était la taille des index sur le disque. Notre base de données de 1,3 Go est passée à plus de 11 Go simplement en ajoutant un XML PRIMARY et un index XML FOR PATH à environ 45 000 entrées avec un champ XML. En raison de contraintes de disque, nous avons fini par avoir à supprimer ces indices :-(
Ce n'est vraiment pas surprenant étant donné que l'index XML sera construit avec des entrées pour chaque nœud XML, attribut et ainsi de suite - Ce que nous avons fait à la fin est de créer un certain nombre de fonctions stockées qui atteignent le XML à partir de notre table Entry
, et nous extrayons les morceaux dont nous avons le plus souvent besoin. maintenant stockés sur la table Entry
calculé, a persisté propriétés. Ceci est aussi rapide que les champs « appropriés » sur la table Entry
, il est toujours à jour et se règlent automatiquement lorsque de nouvelles données sont insérées, et nous avons besoin presque jamais vraiment utiliser une significan t Requêtes XQuery plus. Ce que je peux dire par expérience personnelle est que le support XML dans SQL Server 2005 est vraiment très profond et bien pensé, à mon avis. Donc dans l'ensemble, je dirais - allez-y essayer! Vous ne serez pas vraiment en mesure de dire si cela fonctionne et échelles assez bien dans votre cas spécifique jusqu'à ce que vous l'avez essayé.
Marc
Je ne l'ai pas essayé, mais XML me semble un peu trop bavard pour. Je me dis que je peux générer du XML à partir de mes données plus tard, pourquoi s'inquiéter de le stocker en XML.
- 1. Créer document XML en utilisant C# avec SQL Server en tant que source de données
- 2. Fichier XML en tant que base de données?
- 3. Installer EXE en tant que service sur Windows 2008 Server
- 4. Bibliothèque de documents Sharepoint en tant que destination dans SSIS
- 5. SQL Server Management Studio en tant que plateforme d'applications
- 6. recherche en texte intégral sur XML dans SQL Server 2008
- 7. Impossible d'importer en tant que valeur null SQL Server 2008 fichier TSV
- 8. Encoder les valeurs des colonnes xml en tant que xml dans le serveur SQL
- 9. .NET stockable à SQL Server procédure stockée en tant que XML
- 10. Insertion de données XML de l'enfant parent dans SQL Server 2008
- 11. SQL Server en tant que client Serivce Web
- 12. Importation de la base de données Sql Server 2005 dans Sql Server express 2008
- 13. Transférer la base de données de SQL Server 2005 vers SQL Server 2008
- 14. Comment puis-je migrer la base de données de SQL Server 2008 vers SQL Server 2000
- 15. Windows Server 2008 en tant que machine de développement - étape par étape
- 16. Base de données SQL Server 2008 drop, create et fill
- 17. Fusion de documents XML en vrac
- 18. ASP classique sur Server 2008 et SQL Server 2008
- 19. Questions de base sur MS SQL Server 2008
- 20. SQL Server 2008 R2
- 21. Enregistrer Acrobat PDF avec des tampons et du texte ajouté en tant que document de base
- 22. Rétrogradation de SQL Server 2008 vers SQL Server 2005
- 23. Générique Xml Manipulation de documents
- 24. Modification de XML en tant que dictionnaire en python?
- 25. Sélection de noeuds XML en tant que lignes
- 26. Le déclencheur Sql Server 2000 qui référence une base de données Sql Server 2008 échoue
- 27. Impossible d'enregistrer .doc en tant que .xml
- 28. Choisir la base de données FILEGROWTH en tant que% ou en tant que Taille fixe
- 29. Sql Server 2008 Replicate Synonym?
- 30. Rendu XHTML en tant que document MS Word - En-têtes
J'ai des documents qui sont en XML et ce serait bien de tirer parti de cette structure et de les interroger. Beaucoup plus simple que l'analyse syntaxique du fichier xml pour extraire les éléments d'intérêt dans les tableaux. –
@Aaron Fischer, il y aura de la douleur: soit en les tirant à part pour les stocker facilement, soit en les stockant facilement, mais en les démontant douloureusement pour les interroger. vous choisissez! J'aime le faire une fois, en les insérant, pas toujours pour les interroger. mais encore une fois, je ne me suis pas vraiment fâché avec eux pour vraiment comprendre l'impact de leur performance par rapport aux structures de table traditionnelles. –