2016-04-27 10 views
0

Ich arbeite an einer Webanwendung, die Artikel im Internet auf ihren Inhalt analysiert. Das Ziel besteht darin, Begriffe in diesen Artikeln zu identifizieren und zu kategorisieren, zu prüfen, ob diese Teil einer bestimmten Liste von Begriffen sind und zu zählen, wie oft sie erscheinen.Was ist die beste Speicherstrategie zum Speichern von Text Mining-Statistiken?

Entities sind:

  • Artikel (URL, Datum, eine kurze Beschreibung, Inhalt)
  • Bedingungen (Name, Typ, Frequenz)
  • Liste (Name, Liste der Begriffe)

Beispielabfragen würden gehören:

  • Liste aller Bezug auf eine bestimmte Art und deren Häufigkeit über alle Artikel zählen
  • für einen bestimmten Begriff, geben Sie den Artikel, in dem dieser Begriff am häufigsten, dass es

In Anbetracht tritt möglicherweise ein paar tausend Begriffe pro Artikel und Tausende von Artikeln sein Wie würden Sie die Daten speichern?

Ist eine normalisierte relationale Datenbank sinnvoll? Soll ich eine NoSQL-Datenbank denormalisieren oder verwenden?

Antwort

1

Eine normalisierte relationale Datenbank (RDBMS) macht immer Sinn für mich. Die Normalisierung verbessert die Konsistenz und Geschwindigkeit der häufigsten Abfragen.

Sie können auch NoSQL-Lösungen in Betracht ziehen, wenn Ihre Entitäten einfach sind (ID und eine Reihe von Attributen), deshalb brauchen Sie nicht wirklich die Leistung eines RDBMS.

In Ihrem Fall würde ich für eine gut gestaltete, einmal für alle, RDBMS-Lösung gehen. MySQL wäre mehr als perfekt für den Job.