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

Welche Storage Engine

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von TinTin, 3 Oktober 2015.

  1. TinTin

    TinTin Neuer Benutzer

    Hi

    was Datenbanken an geht bin ich leider ziemlicher Anfänger.

    Ich weiß nur dass ich meine Daten in einer Datenbank halten möchte. Es geht darum, in einem bestimmten festen Zeitintervall T Datensätze über einen Zeitraum T_Zeitraum wegzuschreiben.
    Es genügt, wenn ich die Daten lediglich auslesen kann, ich muss sie Nachhinein nicht wieder verändern können.
    T_Zeitraum: >= 50 Jahre .
    T: Wählbar 1 min bis 20 min (Je nach dem wie viele Einträge die Datenbank verkraftet)
    Zum Beispiel wenn ich 50 Jahre in 5 Minutenschritten Einträge mache, dann brauche ich:

    (60(min/Stunde)) / (5(min/Eintrag)) = 12 (Eintrag/Stunde)
    12(Eintrag/Stunde) * 24 (Stunden/Tag) *265 (Tag/Jahr) = 76320 (Eintrag/Jahr)
    76320 (Eintrag/Jahr) * 50 (Jahr) = 3816000 (Einträge)

    Muss ich jetzt die Anzahl der Einträge (Zeilen) in ein Datenvolumen umrechnen um sicher zu stellen, dass meine Sotrage Engine die Anzahl der Einträge schluckt ?? Also wenn ich zum Beispiel pro Eintrag Fünf Integer Spalten und einen Zeitstempel habe.

    Der Datenbankserver läuft auf einem Linuxsystem (Synology Disk Station).

    Welche Storage Engine ist denn für meine Zwecke am besten geeignet ??

    Viele Grüße TinTin
     
  2. akretschmer

    akretschmer Datenbank-Guru

    50 Jahre?

    Zuerst einmal solltest Du beachten, daß ein Jahr nicht nur 265 Tage hat, sondern 365.25 wegens Schaltjahres aller 4 Jahre, sind also schon mal je Jahr über 100 Tage mehr als in Deiner Rechnung. Da kommst schon auf über 5 Milliarden Records. Dafür würde ich kein MySQL nehmen, sondern etwas mit mehr Zukunft. Also PostgreSQL. Je nachdem wie die Abfragen dann laufen sollen / aussehen solltest Du über Partitionierung nachdenken.
     
  3. TinTin

    TinTin Neuer Benutzer

    MySQL ist leider schon fest. Da kann ich nichts dran ändern.
    Eine Partitionierung ist doch wenn ich mehrere Tabellen habe, welche auf verschiedenen Volumes gespeichert werden.
    Ich denke das geht.
    "SHOW VARIABLES LIKE '%partition%';" => Yes
    Liege ich richtig, wenn ich behaupte dass es eher auf die Speicherkapazität ankommt, als auf die Anzahl der Einträge (Zeilen) in der Datenbank ??

    Zur Abfrage: Im Grunde sollte ich die Daten lediglich nach Zeitstempel geordnet auslesen können.

    Würde es viel Aufwand darstellen, wenn ich die Daten nicht nach Zeitstempel geordnet eintragen würde, aber sie gerne nach Zeitstempel geordnet auslesen möchte ??
     
    Zuletzt bearbeitet: 3 Oktober 2015
  4. akretschmer

    akretschmer Datenbank-Guru

    Partitionierung: PostgreSQL: Documentation: 9.4: Partitioning

    Ja nach Abfrage kann es einen erheblichen Unterschied machen, wie viele Einträge in der Tabelle sind. Constraint Exclusion ist sehr mächtig - wenn sie greift.
     
  5. Distrilec

    Distrilec Datenbank-Guru

    Solange du nicht gerade eine Index organisierte Tabelle anlegst, unterscheidet die Datenbank da sowieso nicht... Von daher: Nein, das macht 0 Aufwand...
     
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