Je travaille sur un projet impliquant la datamining à partir de divers sites, une bonne analogie est la collecte de données statistiques sur les enchères eBay. Cependant, en plus de stocker les données clés, j'ai vraiment besoin d'assurer l'accès à la page d'origine, et sur certains sites, les pages d'origine peuvent ne pas être permanentes - comme si eBay a supprimé la page d'enchères après l'achèvement. J'aimerais idéalement avoir un système similaire à celui utilisé par Google pour mettre en cache des pages, par exemple stocker une copie de la page sur mon propre serveur. Cependant, j'ai été informé qu'il pourrait y avoir des complications ainsi qu'un grand impact sur les ressources nécessaires pour ma base de données.Le meilleur moyen de mettre en cache des pages dans une base de données?
Répondre
Même si chaque page que vous mettez en cache est seulement 5kb, cela ajoute encore au fil du temps - cache 200 pages et vous avez utilisé une addition 1mb dans votre DB; cache 20 000 pages et vous avez utilisé 100mb - et beaucoup de pages (lorsque vous considérez le balisage + contenu) vont être plus grandes que 5kb. Une autre option consisterait à enregistrer les pages sur le disque en tant que fichiers (potentiellement compressés) dans un répertoire, puis de simplement référencer le nom de fichier enregistré dans votre base de données - si vous n'avez pas besoin de rechercher dans le contenu du code de la page via requête après votre datamining initial, cette approche pourrait réduire la taille de votre base de données et les résultats de la requête tout en stockant les pages entières.
Je ferais écho à ce que Dav a dit, mais peut-être aussi envisager de stocker seulement les changements si vous indexez la même page encore et encore au fil du temps. Également stocker du texte comme varbinary irait le long chemin à économiser de l'espace. En ce qui concerne la recherche, vous pouvez configurer Lucene dans le parallélisme avec les pages d'index.
Est-ce un problème que la page enregistrée n'inclut pas les fichiers JS CSS côté serveur &, ce qui signifie qu'elle sera probablement rendue mal lorsqu'elle est fournie à partir du système de fichiers/base de données de mise en cache?
Qu'en est-il des photos ou des images sur la page?
Je pense que 5 Ko est faible pour une sauvegarde de page, et je me pose la question de l'enregistrement des pages qui contiennent des pages JS ... AJAX en particulier. Je trouve difficile de visualiser exactement ce qui se passerait, mais peut-être vous avez seulement besoin de voir le texte sur la page?
Quelqu'un sait-il comment fonctionne la mise en cache de Google?
- 1. Quel est le meilleur moyen de mettre en cache des images sur mon site Web?
- 2. Quel est le meilleur moyen d'ajouter des utilisateurs à plusieurs groupes dans une base de données?
- 3. Quel est le meilleur moyen de mettre des données tabulaires en python?
- 4. Bibliothèque pour mettre en cache des pages Web sur iPhone?
- 5. En C#, quel est le meilleur moyen de déterminer si une base de données est opérationnelle?
- 6. Microsoft Velocity - meilleur moyen de partager des données mises en cache sur un seul serveur
- 7. Meilleur moyen de rechercher base de données sqlite
- 8. Quel est le meilleur moyen d'extraire des données d'une base de données avec une mise à jour si nécessaire?
- 9. Meilleur moyen de récupérer des données hiérarchiques à partir de la base de données
- 10. Données de base de données de cache dans JSON
- 11. Quel est le meilleur moyen de mettre en ligne une petite application ruby?
- 12. Où est le meilleur endroit pour mettre la logique d'éviction de cache dans une application AppEngine?
- 13. Devrais-je mettre les données en cache de manière préventive?
- 14. Quel est le meilleur moyen de copier une base de données?
- 15. Quel est le meilleur moyen de stocker des données de modèle dans une application jQuery?
- 16. Quel est le meilleur moyen de gzip et cache des images statiques dans Asp.net mvc
- 17. Mettre en surbrillance le code de la base de données
- 18. Impossible de mettre à jour les modèles avec la mise en cache des pages
- 19. Mise en cache de pages liées dans ASP.NET
- 20. Meilleur moyen de câbler le menu piloté par base de données dans ASP.NET MVC
- 21. C#, Stockage de pages HTML dans une base de données SQLite
- 22. Quel est le meilleur moyen de calculer les hits de pages par jour dans MySQL?
- 23. Utilisation d'une variable statique pour mettre en cache des données
- 24. Mod_rewrite est-il une option valide pour mettre en cache des pages dynamiques avec Apache?
- 25. Meilleure façon de mettre en cache les données
- 26. .NET: mise en cache dans une base de données ou un système de fichiers avec CacheDependency
- 27. Meilleur moyen d'afficher des données via JSON en utilisant jQuery
- 28. Quel est le moyen le plus sec d'obtenir des données de ma base de données?
- 29. Quel est le moyen le plus efficace de stocker des objets dans une base de données SQLCe?
- 30. Quel est le meilleur moyen de conserver les données dans une application Java Desktop?