1 votes

Besoin d'un moyen simple et rapide de stocker de grandes quantités de XML sur un serveur

Notre logiciel client envoie actuellement de grandes quantités de xml à notre base de données SQL Server, stockées en tant que NTEXT, et la base de données devient énorme et les performances en souffrent. Ce xml n'a pas besoin d'être indexé, il doit simplement être persisté d'une manière ou d'une autre sur le disque. Existe-t-il un moyen facile et robuste de stocker ces données sur un serveur distant? J'ai examiné CouchDB, mais je suis sûr qu'il existe une manière plus simple de le faire. Je préfère une solution unix, mais tout fonctionne.

Merci!

1voto

Brad Koch Points 127

Je me servirais de rsync et le stockerais sous forme de fichiers plats; si vous n'avez pas besoin d'indexation, il n'y a pas besoin d'une base de données. De cette façon, lorsque vous avez besoin d'ajouter plus de données à ce qui est déjà là, vous n'avez pas à renvoyer le fichier entier.

Cela devrait être aussi simple que rsync -avz source/dir/ remote:/path/to/dest/dir, si le serveur distant a SSH en cours d'exécution; la page de manuel peut vous en dire plus (soyez prudent avec le truc de la barre oblique de fermeture, je peux vous aider davantage avec cela si vous me donnez plus de détails spécifiques si vous le souhaitez).

0 votes

Merci, Mickey. Malheureusement, le client utilise Windows, donc rsync n'est pas disponible par défaut. Mais les fichiers plats sont une bonne idée.

0 votes

J'ai eu beaucoup de succès en utilisant rsync via Cygwin; voir cette solution de sauvegarde pour Windows.

0voto

kevmoo Points 428

Étant donné qu'il n'est pas nécessaire d'utiliser des fonctionnalités SQL (comme le type XML dans Microsoft SQL Server), je suggérerais de stocker les fichiers directement sur le disque dur.

En fonction du contexte, vous pouvez créer un répertoire partagé avec un accès en écriture seulement (c'était possible sous Windows XP, donc c'est probablement possible avec une solution Unix).

Ou si le logiciel client est utilisé en dehors du réseau local, vous pouvez recevoir des données XML via des services Web et les stocker sur le disque dur. Ou si les performances sont une préoccupation majeure, vous pouvez utiliser directement le protocole HTTP (POST/PUT), au lieu d'utiliser des services Web.

0 votes

Merci, MainMa. Le client doit se connecter en dehors du LAN, donc le service web est la meilleure solution. Ou bien accédez simplement à notre serveur FTP.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X