Ich recherchiere gerade, welche Datenbank ich für ein Projekt verwende, an dem ich gerade arbeite. Hoffentlich könnt ihr mir ein paar Tipps geben.
Das Projekt ist ein automatisierter Webcrawler, der Websites gemäß einer Benutzeranforderung überprüft, Daten unter bestimmten Umständen scrapt und Protokolldateien davon erstellt, was getan wurde.
Anforderungen:
Ich nehme an, dass es weder eine Graphdatenbank (keine komplexen Assoziationen) noch ein speicherbasierter Schlüssel / Wert-Speicher (zu viele Daten, die im Cache gespeichert werden sollen) sein wird. Ich bin immer noch am Zaun für jede andere Art von Datenbank, die ich finden könnte, jeder scheint seine Verdienste zu haben.
Also, irgendeinen Rat von den Profis, wie sollte ich entscheiden?
Danke.
Ich würde Vladimir zustimmen, dass Sie eine dokumentenbasierte Datenbank für dieses Szenario in Erwägung ziehen würden. Ich kenne MongoDB am besten. Meine Gründe für die Verwendung hier sind wie folgt:
Google hat eine Datenbank mit dem Namen "BigTable" für das Crawlen, Indizieren und das suchbezogene Geschäft erstellt. Sie haben ein Papier darüber veröffentlicht (googeln Sie nach "BigTable", wenn Sie interessiert sind). Es gibt mehrere Open-Source-Implementierungen für Big-Table-ähnliche Designs, eines davon ist Hypertable . Wir haben einen Blogbeitrag, in dem eine Crawler / Indexer-Implementierung ( Ссылка ) beschrieben wird, die von den Jungs von sehrch.com geschrieben wurde. Und auf Ihre Anforderungen schauen: Alle von ihnen werden unterstützt und sind häufige Anwendungsfälle.
(Disclaimer: Ich arbeite für hypertable.)
Tags und Links sql database web-crawler screen-scraping nosql