Laden...

Anwendung zur Messdatenaufbereitung und Datensammlung in einer Datenbank - Was ist eure Meinung?

Erstellt von anj100xl vor 7 Jahren Letzter Beitrag vor 7 Jahren 2.584 Views
A
anj100xl Themenstarter:in
4 Beiträge seit 2017
vor 7 Jahren
Anwendung zur Messdatenaufbereitung und Datensammlung in einer Datenbank - Was ist eure Meinung?

Hallo liebe Community!

Ich habe bereits ein Tool entwickelt welches Messdaten nach bestimmten Anforderungen und via COM-Schnittstellen durch weitere Tools aufbereitet. Das funktioniert alles auch einwandfrei. Nun werde ich (leider) Opfer meines Erfolgs und die Anwendung soll wie folgt erweitert werden.

Die Anwendung soll nun am besten auf einem Server oder extra Rechner laufen und immer über Nacht eine riesen Datenmenge im Stapelprinziep durchlaufen. Die dabei gewonnenen Daten sollen in einer Datenbank zentral abgelegt werden. Die Datenbank wird mit Sicherheit schnell wachsen und sollte beliebig erweiterbar sein.

Zudem soll eine Useranwendung entwickelt werden mit der es Möglich ist auf die Datenbank zugreifen zu können.

Leider habe ich von Datenbanken und Server/Client-Anwendungen mal absolut überhaupt keine Ahnung. Vielleicht kann mir jemand mit mehr Kompetenz als ich einen Denkanstoß geben. Mich interessiert das allgemeine Vorgehen, Was ist der Stand der Technik, Wie würdet ihr an die Aufgabe herangehen?

Wenn die grundlegende Herangehensweise klar ist, würde es mir erheblich leichter fallen in die richtige Richtung zu recherchieren und mir die benötigten Grundlagen anzueignen.

Ich Danke euch vielmals im Voraus für eure Bemühungen und freue mich auf eure Kommentare! 🙂

1.029 Beiträge seit 2010
vor 7 Jahren

Hi,

das kann man anhand deiner Infos jetzt schlecht beurteilen.

Wo kommen die Daten her?
Wer soll die Bearbeitung anstoßen?
Was genau soll denn die Oberfläche eigentlich genau anzeigen?

Im simpelsten Fall - kann man hingehen - eine SqlServer installieren (SqlExpress z.B.) - eine Datenbank erstellen. Dann entwickelt man ein simples Kommandozeilentool, was die Auswertungen in die DB schreibt und beispielsweise über die Windows-Aufgabenverwaltung täglich gestartet wird. Dann noch eine WinForms oder WPF-Anwendung zum drüberschauen (denk an Paging!) - und du hast was womit man arbeiten könnte.

Lässt sich natürlich auch als WebServer aufziehen - aber wenn du noch nie etwas mit Datenbanken gemacht hast - würde ich an deiner Stelle ohnehin mal ein paar Tutorials machen mit ADO.NET (pur), EntityFramework, etc. damit du einen Überblick bekommst...

LG

A
anj100xl Themenstarter:in
4 Beiträge seit 2017
vor 7 Jahren

Hallo Taipi88!

Besten Dank für deine Antwort. 😃

Die Daten entstehen als Produkt einer Auswertung der Messdatein. Ich erläutere das mal an einem Beispiel.

Auf einem Laufwerk landen tagtäglich eine Menge von Messdatein. Diese Messdaten stammen von unterschiedlichen Loggern. Die Anwendung nimmt sich nacheinander eine Messdatei und überprüft die Messdatei hinsichtlich gewisser Trigger (Bis hier funktioniert alles). Nun soll jetzt die Anwendung bespielsweise abends um acht damit beginnen die neu hinzugekommen Messdatein abzuarbeiten. Wurde in einer Messdatei von Logger_1 ein Trigger_1 und Trigger_2 registriert so soll nun diese Detektion mit Zeitstempel in einer Datenbank abgelegt werden.

Die User möchten nun morgens nachschauen welche Logger welche Trigger detektiert hat. Dabei sollen sie auch suchen und filtern können, am besten mit einer grafischen Benutzeroberfläche. Da die User auf die Auswertungen angewiesen sind, muss die Benutzeroberfläche einfach bedienbar und wartungsfrei arbeiten können. Die WebServer-Idee gefällt mir ganz gut. Wäre es auch ratsam einen extra Rechner als Server aufzubauen?

VG.

O
79 Beiträge seit 2011
vor 7 Jahren

IMHO sieht das nach einer Zweiteilung aus. Teil 1 ist eine simple Konsolenanwendung, die einfach per geplantem Task angestoßen wird und die Dateien bearbeitet. Ich bin mir ziemlich sicher, das da schon ein SQL-Server existiert - an den kannst du dich bestimmt "dranhängen" und dort deine usgewerteten Daten hineinschreiben. Teil 2 wäre dann eine GUI-Anwendung, die einfach aus den Daten aus dem SQL-Server die gewünschten Infos extrahiert und zur Anzeige bringt.

Webserver halte ich da für eher ungeeignet.

1.029 Beiträge seit 2010
vor 7 Jahren

Dann würde ich es in der Tat so machen, wie in meiner "simplen" Vorgehensweise und von OlafSt beschrieben.

Erstellst dir einfach eine Datenbank auf eurem Datenbank-Server, schreibst erst mal die Konsolenanwendung und den Task - und danach kommt der Client, welcher ja sicher auf die selbe Datenbank zugreifen kann.

Anzeigen / Suchen / Filtern kannst du sowohl mit WinForms als auch WPF recht einfach.
Würde mir die Technologie aussuchen, die du schon beherrschst. Vom Prinzip ist ohne Vorkenntnisse WinForms einfacher - wird wenn du dich nicht auskennst allerdings am Ende sehr unübersichtlich bis frickelig. Wenn das ganze Zeit hat und du WPF noch nicht kennst würde ich dir WPF in Verbindung mit MVVM empfehlen. Wird deutlich übersichtlicher - dauert aber wenn du's ordentlich machst wohl seine Zeit.

LG

16.807 Beiträge seit 2008
vor 7 Jahren

Messdaten sind i.d.R. Rohdaten. Und Rohdaten werden in GUIs i.d.R. nicht angezeigt; sie werden vorher transformiert.

Deiner meine Meinung, bzw. machen wir das selbst so:

* Rohdatenerfassung (Console / Windows Service): Schreibt die Rohdaten in die Datenbank
* ETL Prozess (ETL-Prozess) ( Console / Windows Service): liest die Rohdaten und baut darauf basierend die Daten für das Auswerten auf.
* UI Applikation (bei uns eine Webanwendung): zeigt die aufgearbeiteten Daten / Auswertungen an.

Insbesondere wenn die Rohdaten-Datenbank schnell wächst, kommst Du um einen ETL Prozess nicht drum herum.
Ansonsten werden Auswertungen viel viel viel zu langsam. Daher ist im Big Data Bereich auch ETL taglich Brot; es geht gar nicht mit großen und flexiblen Datenmengen anders.

Das alles ist übrigens mit PowerPI in wenigen Minuten umsetzbar (außer man braucht irgendwelches Custom-Zeugs).

Ich weiß natürlich nicht, was bei euch große Datenmengen heisst; aber ich komm aus der Maschinenbaubranche und hier haben Laserköpfe von Werkzeugmaschinen teilweise 20 GB Daten am Tag produziert, auf das Predictive Maintenance Analysen geworfen wurden - nur die Köpfe.

A
anj100xl Themenstarter:in
4 Beiträge seit 2017
vor 7 Jahren

Vielen Dank für eure Antworten! Vorallem der ETL-Ansatz gefällt mir sehr gut - hier werde ich ansetzen 8)