56 votes

Xml ou Sqlite, Quand abandonner Xml pour une base de données ?

J'aime beaucoup Xml pour sauvegarder des données, mais quand est-ce que sqlite/base de données devient la meilleure option ? par exemple, quand le xml a plus de x ou est supérieure à y MB ?

Je suis en train de coder un lecteur rss et je crois que j'ai fait le mauvais choix en utilisant xml plutôt qu'une base de données sqlite pour stocker un cache de todos les éléments de l'alimentation. Il y a des flux qui ont un fichier xml de ~1mb après un mois, un autre a plus de 700 éléments, tandis que la plupart n'ont que ~30 éléments et ont une taille de ~50kb après un mois. plusieurs mois.

Pour l'instant, je n'ai pas l'intention de mettre en place un plafond, car j'aime pouvoir effectuer des recherches dans tous les domaines.

Donc, mes questions sont :

  1. Quand la surcharge de sqlite/bases de données est-elle justifiée par rapport à l'utilisation de xml ?
  2. Est-ce que les quelques gros fichiers xml justification suffisante pour la base de données lorsqu'il y a beaucoup de petits même les plus petites grandiront avec le temps ? (une longue long temps)

actualisé (plus d'infos)

Chaque fois qu'un flux est sélectionné dans l'interface graphique, je recharge tous les éléments du fichier xml de ce flux.

Je dois également modifier l'état de lecture/non-lu, ce qui semble très compliqué lorsque je parcours en boucle tous les nœuds du fichier xml pour trouver l'élément et le mettre en lecture/non-lu.

1voto

Martin Beckett Points 60406

Une base de données est idéale dans le cadre de votre programme. Si l'interrogation des données fait partie de votre logique commerciale. XML est le meilleur format de fichier, surtout si le format de vos données est :

1, Hiérarchique
2, Susceptible de changer à l'avenir d'une manière que vous ne pouvez pas deviner.
3. Les données vont vivre plus longtemps que le programme.

0voto

Sebastian Redl Points 18816

Je dis que ce n'est pas une question de taille de données, mais de type de données. Si vos données sont structuré utilisent une base de données relationnelle. Si vos données sont semi-structuré Si vous avez besoin d'une base de données, utilisez le XML ou, si la quantité de données est trop importante, une base de données XML.

0voto

Si vous cherchez, allez-y avec un db. Vous pouvez répartir les fichiers xml dans des répertoires pour faciliter la recherche, mais les frais de gestion deviennent facilement très lourds. Vous obtenez également beaucoup plus que de simples performances avec une base de données sql...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X