sehr große Datenmengen

OP #2093938
Lesenswert?

Hallo allerseits,

ich habe folgendes Problem:

Ich nehme eine sehr serh große Menge Daten über einen sehr langen 
Zeitraum auf.
Dabei handelt es sich um Leistungsdaten.

Nun möchte ich den Gesamtverbrauch nach einer Messzeit von z.B. 60 
Minuten ermitteln.
Es werden pro Sekunde 10k Werte aufgenommen. Nach einer Stunde sind also 
bereits 36 Millionen Werte vorhanden... und ggf. soll der Testlauf einen 
Tag oder länger dauern.

Die Gesamtleistung erhalte ich durch schlichte Addition der gesamten 
Werte... Problem ist nur die unglaubblich hohe Datenmenge...

Excel kann nur 65.000 Stück, ab Version 2007 nur 1,3Millionen Werte 
verarbeiten.

Welche Alternativen Möglichkeiten habe ich diese Megnen an Daten zu 
addieren?

macht Matlab dies mit oder meckert es, wenn ich dort einen 1x1G Vektor 
reingebe und von diesem den Betrag ermittel?

Achja... die daten liegen in einem Textfile vor.
Gast #2093946
Lesenswert?

Hallo,

Du könntest die Daten in ein RDBMS einlesen und dann die Datenbank 
rechnen lassen.
Wenn Du einer Scriptsprache (Perl, Ruby, Python o.ä.) mächtig bist, 
lässt sich das in einer Stunde realisieren.

Beste Grüße

Alfred
Persönliche Seite #2093949
Lesenswert?

Du willst also nur alle Werte addieren? Dann könntest Du Dir in einer 
beliebigen Programmiersprache folgenden hochkomplexen Algorithmus 
zusammenbasteln:

summe = 0
öffne datei
für jede zeile in datei
   bestimme wert in zeile
   summe = summe + wert

schließe datei
summe ausgeben


Alternativ könnte man darüber nachdenken, ob nicht eventuell das Ding, 
das die Werte liefert, auch die Summierung übernehmen könnte. Statt 
10kWerte pro Sekunde in eine Datei zu schreiben, dürfte es erheblich 
einfacher sein, diese Werte einfach nur zu addieren und die Summe in 
eine Datei zu schreiben.
Gast #2093989
Lesenswert?

Ich würde an deiner Stelle auch beim Messen schon addieren. Spart auch 
Platz bzw. Man kann die Werte addieren und jede Minute oder so über USB 
an den PC senden (oder halt auf einer SD-Karte speichern). Allerdings 
frag ich mich auch, wozu du eine Stunde (oder später dann länger) jede 
100µs ein Wert brauchst. Würde mich mal interessieren. Manchmal kann man 
auch an einer anderen Stelle helfen/Probleme lösen.
#2094028
Lesenswert?

also bei solch großen datenmengen halte ich es für sinnvoll bestimmte 
oft benutzte werte in echtzeit zu erzeugen und zusätzlich in der 
datenbank zu speichern, obwohl man sie jederzeit aus den bereits 
vorhandenen daten berechnen könnte.

z.b. durchschnittswerte für jede minute oder 30 sekunden sind recht 
einfach zu handhaben und damit kriegst du eine schnellen überblick ohne 
großes rechnen hin. wenn du einen bestimmten bereich dann genauer willst 
kannst du die "fraglichen minuten" aus der datenbank genauer auflösen. 
das sind dann wieder überschaubare datenmengen und geht bei bedarf sehr 
schnell.
Gast #2094177
Lesenswert?

Moin

bei der summe an zahlen, die da addiert werden sollen, spielen zumindest 
der zahlenbereich eine rolle, und ggf additionsverfahren wenn es dan 
flote werden sollte (supbtraktionskatastrophe).

ggf im controller die zahlen schon aufsummieren und in einer sepparaten 
datei ablegen. ggf noch ein paar statistik daten wie min / max oder 
ähnliches.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren