Frage

Ich habe eine Menge von Logfile-Daten, dass ich dynamisches Diagramme angezeigt werden soll aus, für grundsätzlich beliebige Zeiträume, ggf. gefiltert oder durch unterschiedliche Spalten aggregiert (das konnte ich vorab generiert wird). Ich frage mich, über den besten Weg, um die Daten in einer Datenbank und greifen Sie zum Anzeigen von Diagrammen zu speichern, wenn:

  • die Zeitauflösung Variable von einer Sekunde bis zu einem Jahr sein sollte
  • gibt es Einträge, die mehrere ‚Zeit Eimer‘ erstrecken, z.B. eine Verbindung könnte für ein paar Tage waren offen, und ich möchte für jede Stunde um den Benutzer zählen und zeigt sie verbunden war, nur nicht in der Stunde ‚Slot‘ wurde die Verbindung hergestellt oder fertig

Gibt es bewährte Methoden oder Tools / Plugins für Schienen, die helfen Griff diese Art und Menge der Daten? Gibt es vielleicht Datenbank-Engines speziell auf diese zugeschnitten sind, oder mit hilfreichen Funktionen (z CouchDB Indizes)?

EDIT: Ich bin für eine skalierbare Möglichkeit, diese Daten und Zugriffsmuster zu handhaben. Dinge, die wir in Betracht gezogen: Führen Sie eine Abfrage für jeden Eimer, merge in app - wahrscheinlich viel zu langsam. GROUP BY-Zeitstempel / Granularität - zählt nicht Verbindungen korrekt. Vorverarbeitung von Daten in Reihen durch kleinste Granularität und Neuberechnung auf Abfrage -. Wahrscheinlich der beste Weg,

War es hilfreich?

Lösung 2

So wie ich es am Ende gelöst war die Daten in pro Minute Eimer vorverarbeitet, so gibt es eine Zeile für jede Veranstaltung und Minute. Das macht es einfach und schnell genug zu wählen und die Erträge korrekte Ergebnisse. Um unterschiedliche Granularität zu erhalten, können Sie auf dem Zeitstempel Spalten Integer-Arithmetik tun - wähle abs (Zeitstempel / Faktor) * Faktor und Gruppe von abs (Zeitstempel / Faktor) * Faktor

.

Andere Tipps

Ich glaube, Sie mysql Zeitstempel für diese verwenden können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top