Wie gross sollte die MariaDB sein?

Hallo liebe Community

mein HAOS läuft auf einem Intel NUC der fünften Generation. Ich habe auch das MariaDB Addon installiert. Mein Problem, die DB wird immer größer und ist jetzt 7 GB groß. Ich habe pruge_keep_days auf 60 Tage eingestellt. Auch wenn ich die Zeit kürzer stelle, wird die Größe nicht kleiner. Grundsätzliche Frage: Ist die Größe der DB für die Dauer angemessen und wie schnell sollte die Größe nach der Verkürzung der Aufzeichnungsdauer reduziert werden?

1 „Gefällt mir“

Moin @guezli
Bist du dir sicher, dass die MariaDB wirklich so groß ist und nicht doch vielleicht die InfluxDB?
Ich nutze MariaDB seit 1,5 Jahren alles auf Standardeinstellungen. Meine ist 600 MB groß, die InfluxDB aber 3,5GB.
Ich nutze 20 Integrations mit vielen Geräte und denke dass ich wohl eher viele Entitäten haben/nutze.

Auto_repack läuft nur jeden 2. Sonntag nach dem auto Purge. Hast du so lange gewartet?

1 „Gefällt mir“

Das ist schwer zu beantworten, da wir dein setup nicht kennen. Um so mehr Daten anfallen desto größer wird die DB.

Ich benutze auch Maria db. Ich speichere 32 Tage. Da ich HA aber erst auf nen neuen PC umgezogen hab und mit ner neuen db gestartet hab, läuft sie erst ca 3 Wochen. Hat aber schon 3.3GB daher denke ich das deine Größe durchaus realistisch ist.


1 „Gefällt mir“

Hallo @oderturm
Nein, so lange habe ich nicht gewartet. Aber gut zu wissen. Die DB-Größenangabe kommt direkt aus der MariaDB (phpMyAdmin). Ich habe mein System ausgewertet und das ist mittlerweile sehr umfangreich.


Hey, @meowmoo
Coole Integration. Das hat mir noch gefehlt. Danke für den Link. Mein System ist ein wenig umfangreicher. Eine Übersicht findest Du in der Antwort an @oderturm. Zusammenfassend kann ich sagen, dass die Größe plausibel ist. Hilfreich war auch, dass die DB-Bereinigung nicht täglich, sondern jeden zweiten Sonntag stattfindet.

Vielen Dank an beide für das Feedback. Es hat mir sehr geholfen.

Wie bekomme ich denn diese Übersicht mit der Anzahl der jeweiligen genutzten Features?

Wenn du HACS installiert hast, kannst du dann die Integration Spook installieren.

Die Readme ist nicht grade vertraunserweckend

Schau mal von wem das addon kommt, da ist schon alles io

Ich brauchte auch ein paar Sekunden bis sich die Ironie verstanden hatte. Die Integration ist in Ordnung. Der Typ codet sehr viel für Home Assistant.

Ok, ich habe es installiert und HA neu gestartet.
Und wie erhalte ich jetzt diese Anzeige? Steh heute iwie auf dem Schlauch :grinning:

{{states | count}} zeigt mir 1057 Enititäten an…

Du musst auf Einstellungen > Integrationen gehen und dort die Integration Spook suchen und einrichten. Dann findest du Angaben dort drinnen.

1 „Gefällt mir“

:partying_face:

1 „Gefällt mir“

Dank diesem Thema wollte ich mir meine Datenbankgröße auch mal genauer anschauen und im Auge behalten. Ich gehe davon aus das der Großteil auch einen einen Sensor dafür erstellt hat um die jeweilige Größe der Datenbanken zu ermitteln. Ich für meinen Teil hatte bisher noch keine Sensoren dafür eingerichtet. Und da ich mich gerade damit beschäftigt habe, wollte ich das passend zum Thema kurz hier einfügen.
Ich nutze die MariaDB sowie InfluxDB. Ich habe für beide jeweils einen Sensor erstellt der die Größe in MB misst. Hier die benötigten Angaben dafür:

MariaDB Sensor:
(Datenbankname "homeassistant)

sensor:
  - platform: sql
    db_url: !secret mariadb_url
    queries:
      - name: MariaDB Database Size
        query: 'SELECT table_schema "homeassistant", Round(Sum(data_length + index_length) / POWER(1024,2), 1) "value" FROM information_schema.tables WHERE table_schema="homeassistant" GROUP BY table_schema;'
        column: "value"
        unit_of_measurement: MB

Alternativ kann man hierfür (MariaDB) auch die “SQL Integration” nutzen und die Angaben bequem per UI machen.

InfluxDB Sensor:
(Datenbankname "homeassistant, IP anpassen!)

sensor:
  - platform: influxdb
    host: 192.168.1.xxx
    port: 8086
    username: homeassistant
    password: !secret influxdb_pass
    queries:
      - name: InfluxDB Database Size
        unit_of_measurement: MB
        value_template: "{{ (value | float(0) / 1024 /1024) | round(1) }}"
        group_function: sum
        measurement: '"monitor"."shard"'
        database: _internal
        where: '"database"=''homeassistant'' AND time > now() - 5m'
        field: diskBytes

Vielleicht benötigt das ja noch jemand :wink:

5 „Gefällt mir“

Hey, das ist ja richtig toll. Danke für den Code.

Hmm, ich hab da mal ne Frage, MariaDB als Addon oder als extra LXC unter Proxmox?
Weil mein Backup von der MariaDB hat nach einem Jahr mal gerade ein 1GB.
Habe zur Zeit etwa 60 ZigBee und 20 WLAN Geräte, also auch nicht gerade wenig.

@simon42 vielleicht kannst Du eine Sammelecke für nützlichen Code machen?

2 „Gefällt mir“

Hallo zusammen, ich habe eine purgetime von 400Tagen und meine Größe der MariaDB ist 5.8GB. Ich speichere nur ganz bestimmte Sensordaten, die mich über eine längere Zeit interessieren und regle das über (wie hier beschrieben: Recorder - Home Assistant)

include:
    domains:
      - xxx
    entity_globs:
      - sensor.xxx

Mich interessieren nicht irgendwelche Schaltzustände über die Zeit usw., sondern nur bestimmte Verbrauchsdaten für weitere Auswertungen über Grafana.

@Flens
Ich hatte mal einen ähnlichen Sensor im Einsatz und mit irgendeinem Update (Version weiß ich leider nicht mehr) des HA brauchte man diesen gar nicht mehr, da HA das mit integrierte. Ich habe ihn dann aus der config.yaml rausgelöscht und er funktionierte mit dieser Karte im Dashboard immer noch:

      - type: custom:bar-card
        title: Datenbankinfo Homeassistant
        title_position: inside
        icon: mdi:database
        max: 15000
        severity:
          - value: 10000
            color: '#40bf60'
          - value: 12000
            color: '#ffa500'
          - value: 14000
            color: '#e60000'
        entities:
          - entity: sensor.mariadb_size
            name: Datenbankgröße Home Assistant Recorder (MariaDB)

Scheinbar gibt es automatisch einen Sensor für die Datenbankgröße, wenn im recorder eine MariaDB angelegt wurde.

:crayon:by HarryP: Code-Zeilen ins Code-Format überführt und die Doppelpostings zusammengeführt.
*@ziooiz *
Bitte für Nachträge/Korrekturen die “bearbeiten” Funktion verwenden und Code-Zeilen entsprechend im Code-Format posten (liest sich besser). Über “bearbeiten” kannst Du auch mit “@”+User andere direkt ansprechen (s.o.). Danke!

Ich vermute du hast das mittlerweile über die Integration (SQL) gemacht. Automatisch gibt es die Entität nicht.

Eine direkte SQL Integration habe ich nicht bewusst erstellt, jedoch wurde aus dem Eintrag in der config.yaml eine neue Integration “MariaDB size” erstellt (oder meintest du diese als SQL-Integration):
grafik