Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Designfrage Neuling

Dieses Thema im Forum "Datenmodellierung, Datenbank-Design" wurde erstellt von SZapf, 18 August 2021.

  1. SZapf

    SZapf Neuer Benutzer

    Hallo zusammen,

    unsere IT stellt mir ab Herbst eine SQL Datenbank zu Verfügung damit ich alle unsere Daten, die zur Zeit in verschiedenen Excel-Tabellen und einer Menge CSV Dateien liegen, dort ablegen kann.
    Zum einen weil die Sache mit der Datensicherung dann von denen erledigt wird und zum anderen weil unsere Daten dann auch mit Grafana Dashboard visualisiert werden sollen, wo immer das Sinn macht.

    Die meisten Sachen sind leicht umgesetzt, aber mit den Messdatensätzen die bei den Leistungsprüfungen anfallen weiß ich nicht wie ich die am besten soll damit man sie später gut auswerten und darstellen kann.

    Die Messdaten liegen als CSV Dateien vor und sehen in etwa so aus.

    Dateiname [ID des Testmotors]_[Nr der Leistungsprüfung]_[Abspeicherdatum]

    1 Reihe - Kanalnamen
    2 Reihe - Kanaleinheit
    3 Reihe bis Ende Daten
    ...
    ...

    Date;Time;Speed;cout;cin;trq;ebp
    dd:mm:yyyy:hh:mm:ss;°C;°C;Nm;kPa
    18.08.2021;11:28:14;1000;90,1;85,2;170,6;14,2
    18.08.2021;11:29:14;1500;90,2;85,2;171,6;14,2
    18.08.2021;11:30:14;2000;90,4;85,2;172,6;14,2
    18.08.2021;11:31:14;2500;90,2;85,2;173,6;14,2

    Was die Sache für für so kompliziert macht ist das weder Anzahl der Typ der Spalten noch die Anzahl der Reihen Fix ist. Die Kanäle unterscheiden sich je nach Motor oder Prüfstand.

    Die Spalten sind ebenfalls variable. Mal mehr mal weniger

    Bisher habe ich soweit abgebildest

    Tabelle der Tests

    -------
    n
    TestID (Key)
    Seriennummer
    Motortyp
    Prüfstandsnummer
    --------

    Tabelle der Leistungsprüfungen

    -----
    n
    PC_Num
    TestID
    Result
    -------


    Tabelle der Kanäle
    --------
    n
    Kanalname
    Kanaleinheit
    Beschreibung
    ----


    Mein erster Impuls war in einer Tabelle, die Spalten als CSV String abzulegen zusammen mit den für die zuordnung nötigen Infos. Also TestID;PC_Num;KanalName;[Werte der Spalte mit ";" getrennt]

    Weiter auflösen heißt die Daten 4 Dimensional ablegen. Das wir defintiv Fummelei hinterher.

    Das Datenaufkommen selber ist nicht so irre große, mehr als 1000 Prüfungen werden es pro Jahr nicht werden.

    Hat jemand einen Ansatz wie man das macht um später so wenig wie möglich Aufwand betreiben muss?

    Klingt alles nach JSON, aber zwei der 5 Systeme bieten mir keine möglichkeit an die Daten selbst für die Ausgabe zu Formatieren, da geht nur CSV Datei oder Datenbankserver.

    Sry für die WOT und das ich noch kein Modellierungstool habe.
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Ja. Mit PostgreSQL kannst Du relationale Daten mit JSON-Daten prima kombinieren - falls PostgreSQL zur Auswahl steht.
     
  3. dabadepdu

    dabadepdu Datenbank-Guru

    Ja, JSON. Aber was danach kommt, habe ich nicht verstanden. Du schreibst oben von CSV oder Excel, hier von Systemen und Möglichkeiten, die im Angebot sind.
    Der gesamte Ansatz klingt aber so, als ob Du ein Tool baust, das aus CSV Sammelsurium in ein Gesamtmodell überführst, Prüfunglauf- und Messdatenverwaltung.
    Also wäre es Deine Aufgabe, die JSON Konvertierung zu implementieren?

    Messdaten sind im DB Design glaub ich häufig etwas falsch verstanden. Man will normalisieren und alles ordentlich und einheitlich machen, aber das sind Messdaten nun mal nicht.
    M.E. kann man einen Messlauf als ein Datum auffassen. Viele Aspekte, die sonst eine Normalisierung erfordern, gelten für Messdaten nicht. Sie werden nie editiert, erst Recht nicht collaborativ. Durch die Readonly Eigenschaft gibt es auch keine Probleme mit (neu entstehenden) Anomalien (die für sich genommen in den Originalmessdaten natürlich trotzdem stecken könnten).

    Die Frage ist dann nur noch, was auch immer man am Ende damit macht, außer sie zu haben, zu hüten und bei Bedarf abfragen zu können. RDBMS sind für Abfrage und Visualisierung nicht strukturierter Daten dann eben nicht wirklich gut geeignet. DokumentDB oder DB, die (unstrukturierte) Dokumentdaten verarbeiten können, sind dann angesagt. Oder Tools, die denen man sowas reinkippen kann.
     
  4. dabadepdu

    dabadepdu Datenbank-Guru

    Sag ich doch. ;)
     
  5. SZapf

    SZapf Neuer Benutzer

    Die Daten die ich in den Exceldateien habe sind allgemeine Daten zu den Motoren. Teilenummern die auf dem Prüfstand relevant sind, Öleinfüllmengen oder spezielle Drehzahlen.
    Allgemeinen Messdaten der Motoren die wir mit 10Hz erfassen gehen in eine Oracle-Datenbank.

    Die CSV Dateien um die es geht sind die Daten die bei einer Leistungsprüfung entstehen. Die normalen Messdaten sind nur für internen Gebrauch, aber die Daten der Leistungsprüfungen sollen für alle anderen Abteilungen erreichbar abgelegt werden. Ich will aber, wenn ich schon die Möglichkeit habe soweit es geht alles in die Datenbank legen. Es würde vieles einfacher machen.

    Ich habe schon länger vor da etwas zu machen. Und JSON war schon lange in meinem Kopf als bestes Format für die Aufgabe aber das fällt flach.
    Am wenigsten Aufwand und Geld würde der Microsoft SQL Server kosten, also wird es zu 90% der sein. Aber da ist noch keine Entscheidung gefallen.

    Ich werde mal ein ordentliches Modell erstellen, vielleicht sehe ich dann klarer.
     
  6. akretschmer

    akretschmer Datenbank-Guru

    wie hast Du das so glasklar erkannt, was für Alternativen gab es?
     
  7. SZapf

    SZapf Neuer Benutzer

    Ich habe das nicht erkannt, das wurde mir mitgeteilt als ich mich nach dem Stand erkundigte.
    Es sind halt freie Lizenzen da und genügend Ausgebildete Leute. Und da meine Anwendung weder Zeitkritisch noch Umfangreich ist, gibt es keinen Grund davon abzuweichen.
    Ist halt kein Wunschkonzert.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden