Ankündigung

Einklappen
Keine Ankündigung bisher.

Datenbankanfrage visualisieren

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datenbankanfrage visualisieren

    Guten Abend,

    Ich habe eine postgresql Datenbank in der Handelsdaten niedergeschrieben sind.
    Die relevanten Spalten in der Tabelle sind : time (timestamp in ms), price und quantity

    Nun bin ich daran interessiert mir diese Daten und mögliche Berechnungen (beispielsweise ein gleitender Durchschnitt) mal anzuschauen. Zum Beispiel anbieten würde sich ein Liniendiagramm in dem Preis und Menge über die Zeit abgetragen werden.
    Kann mir dafür jemand ein Tool empfehlen was dazu fähig ist und zusätzlich noch mit großen Datenmengen umgehen kann?
    "Große Datenmengen" meint dabei ~100.000 bis ~5.000.000 Datensätze.

    Oder denkt ihr die einfachste Lösung ist selbst schreiben? Ein Diagramm zu erstellen ist grundsätzlich in den meisten Sprachen kein Hexenwerk und wohl die Alternative falls sich kein Tool findet.

    Liebe Grüße


  • #2
    Also mein erster Ansatz wäre alle Daten in der DB aggregieren und die paar Daten für das Diagramm dann in ein Spreadsheet Deiner Wahl kippen.
    Gerade wenn es mehrere Mio DS sind, sind gleitender Durchschnitt usw. am besten in der DB berechnet oder?
    PG hat schöne Windowfunktions.

    Kommentar


    • #3
      Gerade wenn es mehrere Mio DS sind, sind gleitender Durchschnitt usw. am besten in der DB berechnet oder?
      PG hat schöne Windowfunktions.
      Aufjedenfall, deshalb sind die Daten ja dadrin.

      Also mein erster Ansatz wäre alle Daten in der DB aggregieren und die paar Daten für das Diagramm dann in ein Spreadsheet Deiner Wahl kippen.
      Hier kann ich dir nicht ganz folgen. Viel "aggregiert" soll eigentlich nicht werden, so dass es am Ende eben nicht ein "paar Daten" sind sondern immernoch Mengen an Datensätzen mit denen zumindestens Excel nicht wirklich klar kam. Ich hatte einmal ~500.000 Datensätze versucht, da hat Excel bei der Diagrammerstellung eine Weile gerüttelt und irgendwann aufgegeben (vermutlich weil meine 8gb RAM nicht gereicht haben).

      Oder meinst du einfach nur jeden x-ten Wert aus der Datenbank zu holen und daraus dann ein Diagramm zu machen? (so in der Richtung hier: http://grokbase.com/t/postgresql/pgs...atensatz-holen)

      Kommentar


      • #4
        Man kann mit Excel direkt die Datenbank ansprechen. Wäre das keine Möglichkeit?

        Kommentar


        • #5
          Zitat von hellbringer Beitrag anzeigen
          Man kann mit Excel direkt die Datenbank ansprechen. Wäre das keine Möglichkeit?
          Das war mir so nicht bewusst, ich schau mir das mal an, danke für den Ratschlag.

          Kommentar


          • #6
            Zitat von ChromOxid Beitrag anzeigen
            Hier kann ich dir nicht ganz folgen. Viel "aggregiert" soll eigentlich nicht werden, so dass es am Ende eben nicht ein "paar Daten" sind sondern immernoch Mengen an Datensätzen mit denen zumindestens Excel nicht wirklich klar kam.
            Ok, es kommt drauf an, was man möchte. Mein Vorschlag drehte sich um ein paar (statische) Bilder, Charts, Balkendiagramme, Linien, ...
            Herleitung:
            Ein Monitor mit Full HD Auflösung und ein darauf angezeigtes Bild sind in der Auflösung begrenzt, weit unter 5 Mio.
            Man wählt also für die Erstellung des Bildes einen Zeitabschnitt, aggregiert die Daten aus der Zeit auf die gewünschte Genauigkeit, meinetwegen 200 Punkte oder sowas oder für ein Balkendiagram 12 Gruppen a 100 Merkmalswerte und fertig.

            Alles andere wäre m.E. (grafische) Datenanalyse, mit Drill Down, Fuck Up usw., dafür gibt es auch Tools.
            Ach und man kann auch LibreOffice nehmen, statt Excel. Schließlich sind wir ja hier in einem PHP Forum.

            Kommentar


            • #7
              Evtl. ist das was für Dich: https://www.2ndquadrant.com/en/resources/axle/
              PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

              Kommentar


              • #8
                Man kann mit Excel direkt die Datenbank ansprechen. Wäre das keine Möglichkeit?
                Leider war ich damit bisher noch nicht erfolgreich, auch nach der Installation des Ngpsql (https://support.office.com/de-de/art...f-2493c39e69e4) meldet sich Excel nur mit einer Fehlermeldung und beklagt einen mangelnden "Connector".

                Alles andere wäre m.E. (grafische) Datenanalyse, mit Drill Down, Fuck Up usw., dafür gibt es auch Tools.
                Vermutlich wäre die Wortwahl "grafische Datenanalyse" besser gewesen. Danke für das Stichwort.
                Hast du bezüglich der angesprochenen Tools direkt was im Sinn?

                Evtl. ist das was für Dich: https://www.2ndquadrant.com/en/resources/axle/
                Danke, schau ich mir an.

                Wünsche allen ein angenehmen Freitag und schönes Wochenende,
                Liebe Grüße

                Kommentar


                • #9
                  Zitat von ChromOxid Beitrag anzeigen
                  Leider war ich damit bisher noch nicht erfolgreich, auch nach der Installation des Ngpsql (https://support.office.com/de-de/art...f-2493c39e69e4) meldet sich Excel nur mit einer Fehlermeldung und beklagt einen mangelnden "Connector".
                  Noch nie benutzt, mit LibreOffice und Postgres, Orange Integration, entstanden aus axle
                  https://www.2ndquadrant.com/en/resources/2uda/



                  Kommentar


                  • #10
                    Zitat von ChromOxid Beitrag anzeigen
                    Guten Abend,

                    Ich habe eine postgresql Datenbank in der Handelsdaten niedergeschrieben sind.
                    Die relevanten Spalten in der Tabelle sind : time (timestamp in ms), price und quantity

                    Nun bin ich daran interessiert mir diese Daten und mögliche Berechnungen (beispielsweise ein gleitender Durchschnitt) mal anzuschauen. Zum Beispiel anbieten würde sich ein Liniendiagramm in dem Preis und Menge über die Zeit abgetragen werden.
                    Kann mir dafür jemand ein Tool empfehlen was dazu fähig ist und zusätzlich noch mit großen Datenmengen umgehen kann?
                    "Große Datenmengen" meint dabei ~100.000 bis ~5.000.000 Datensätze.

                    Oder denkt ihr die einfachste Lösung ist selbst schreiben? Ein Diagramm zu erstellen ist grundsätzlich in den meisten Sprachen kein Hexenwerk und wohl die Alternative falls sich kein Tool findet.

                    Liebe Grüße
                    Graphite und Grafana: Wie geschaffen für dich.

                    https://github.com/graphite-project/graphite-web
                    https://grafana.com/

                    Habe es selber jedoch noch nie eingesetzt (erst evaluiert und kommt noch zum Einsatz um Server-Metrics zu monitoren). Die beste Kombination ist Graphite als "DB"-Backend (hat einen sehr schnellen Key-Value-Store) und dann Grafana zum Visualisieren, weil es doch wirklich schön aussieht.

                    Wenn dir das zu viel ist, kannst du auch nur Grafana einsetzen. Das hat zumindest mehrere Backends, mit dem Daten angebunden werden können.

                    Die 5 Mio Datensätze dürften dann ein Kinderspiel zum Visualisieren sein (zumindest Performance-technisch).
                    GitHub.com - ChrisAndChris - RowMapper und QueryBuilder für MySQL-Datenbanken - Vagrant AMPP-Stack (Apache, MySQL, PHP, PgSQL), fully configured

                    Kommentar


                    • #11
                      Danke für alle Antworten. Mit Grafana komme ich meinem Ziel aktuell näher.

                      Kommentar

                      Lädt...
                      X