Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. EXPERIMENTELL: JsonL Datenbank für js-controller

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

EXPERIMENTELL: JsonL Datenbank für js-controller

Geplant Angeheftet Gesperrt Verschoben Tester
187 Beiträge 20 Kommentatoren 29.1k Aufrufe 28 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • AlCalzoneA AlCalzone

    @dr-bakterius Es kann auch sein, dass neue Objekte dazu gekommen sind und dass demnach die Bedingung "doppelt so groß wie nötig" erst später erfüllt wird.

    Dr. BakteriusD Online
    Dr. BakteriusD Online
    Dr. Bakterius
    Most Active
    schrieb am zuletzt editiert von
    #47

    @alcalzone, @apollon77 Also nachdem bis jetzt die objects.jsonl nicht neu geschrieben wurde, habe ich mal den ioBroker beendet und das File vorher und nachher verglichen.

    • vorher: ....... 46.209.486 Byte - 21.201 Zeilen
    • nachher: .... 15.569.482 Byte - 10.744 Zeilen

    Da müsste doch schon lange das File neu geschrieben worden sein, oder?

    Und noch etwas ist mir aufgefallen:

    user@iobroker:~$ iobroker upgrade self
    No connection to databases possible ...
    

    Besteht da ein Zusammenhang mit der neuen Datenbank?

    apollon77A 1 Antwort Letzte Antwort
    0
    • Dr. BakteriusD Dr. Bakterius

      @alcalzone, @apollon77 Also nachdem bis jetzt die objects.jsonl nicht neu geschrieben wurde, habe ich mal den ioBroker beendet und das File vorher und nachher verglichen.

      • vorher: ....... 46.209.486 Byte - 21.201 Zeilen
      • nachher: .... 15.569.482 Byte - 10.744 Zeilen

      Da müsste doch schon lange das File neu geschrieben worden sein, oder?

      Und noch etwas ist mir aufgefallen:

      user@iobroker:~$ iobroker upgrade self
      No connection to databases possible ...
      

      Besteht da ein Zusammenhang mit der neuen Datenbank?

      apollon77A Offline
      apollon77A Offline
      apollon77
      schrieb am zuletzt editiert von
      #48

      @dr-bakterius naja doppelte grösse ... 10744*2 = 21.488 ... :-) Vllt wäre es "bald" gegangen :-))

      Den Fehler kann ich bei mir nicht nachstellen ... master/slave oder single host?

      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
      Dr. BakteriusD 2 Antworten Letzte Antwort
      0
      • apollon77A apollon77

        @dr-bakterius naja doppelte grösse ... 10744*2 = 21.488 ... :-) Vllt wäre es "bald" gegangen :-))

        Den Fehler kann ich bei mir nicht nachstellen ... master/slave oder single host?

        Dr. BakteriusD Online
        Dr. BakteriusD Online
        Dr. Bakterius
        Most Active
        schrieb am zuletzt editiert von
        #49

        @apollon77 Hieß es nicht doppelte Größe und 1.000 Zeilen? Es hat die dreifache Größe und über 10.000 Zeilen mehr!

        Ich habe nur einen single Host in einem LXC unter Proxmox. Bis zur Umstellung hatte ich diesen Fehler nie...

        AlCalzoneA 1 Antwort Letzte Antwort
        0
        • apollon77A apollon77

          @dr-bakterius naja doppelte grösse ... 10744*2 = 21.488 ... :-) Vllt wäre es "bald" gegangen :-))

          Den Fehler kann ich bei mir nicht nachstellen ... master/slave oder single host?

          Dr. BakteriusD Online
          Dr. BakteriusD Online
          Dr. Bakterius
          Most Active
          schrieb am zuletzt editiert von
          #50

          @apollon77 sagte in EXPERIMENTELL: JsonL Datenbank für js-controller:

          Den Fehler kann ich bei mir nicht nachstellen

          Auch bei iobroker update kommt diese Fehlermeldung wenn der ioBroker nicht läuft. Läuft er, kann das update durchgeführt werden. :shrug:

          apollon77A 1 Antwort Letzte Antwort
          0
          • Dr. BakteriusD Dr. Bakterius

            @apollon77 sagte in EXPERIMENTELL: JsonL Datenbank für js-controller:

            Den Fehler kann ich bei mir nicht nachstellen

            Auch bei iobroker update kommt diese Fehlermeldung wenn der ioBroker nicht läuft. Läuft er, kann das update durchgeführt werden. :shrug:

            apollon77A Offline
            apollon77A Offline
            apollon77
            schrieb am zuletzt editiert von
            #51

            @dr-bakterius Also gerade auf allen meinen 3.2.16er testsystemen (file, redis, jsonl) getestet ... tut überall. Hat der host viel zu tun? versuch mal in der iobroker.json den connectTimeout in der objects sektion hochzusetzen. müsste auf 2000 stehen.

            Der Fehler kommt wenn quasi innerhalb von 2s der Server nicht startet, was aber an sich im Normalfall passieren sollte

            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
            Dr. BakteriusD 1 Antwort Letzte Antwort
            0
            • apollon77A apollon77

              @dr-bakterius Also gerade auf allen meinen 3.2.16er testsystemen (file, redis, jsonl) getestet ... tut überall. Hat der host viel zu tun? versuch mal in der iobroker.json den connectTimeout in der objects sektion hochzusetzen. müsste auf 2000 stehen.

              Der Fehler kommt wenn quasi innerhalb von 2s der Server nicht startet, was aber an sich im Normalfall passieren sollte

              Dr. BakteriusD Online
              Dr. BakteriusD Online
              Dr. Bakterius
              Most Active
              schrieb am zuletzt editiert von Dr. Bakterius
              #52

              @apollon77 Ich habe mal auf 20 Sekunden gestellt - dauert aber geht. Dann 5 Sekunden - geht auch. Und danach wieder auf 2 Sekunden. Geht jetzt plötzlich auch wieder. Dauert aber länger als gewöhnlich (wenn der Broker läuft geht es sofort). Der Host läuft auf Sparflamme und hat nicht viel zu tun. Was soll ich sagen...

              Bleibt noch das Thema mit der nicht komprimierten objects.jsonl.

              apollon77A 1 Antwort Letzte Antwort
              0
              • Dr. BakteriusD Dr. Bakterius

                @apollon77 Ich habe mal auf 20 Sekunden gestellt - dauert aber geht. Dann 5 Sekunden - geht auch. Und danach wieder auf 2 Sekunden. Geht jetzt plötzlich auch wieder. Dauert aber länger als gewöhnlich (wenn der Broker läuft geht es sofort). Der Host läuft auf Sparflamme und hat nicht viel zu tun. Was soll ich sagen...

                Bleibt noch das Thema mit der nicht komprimierten objects.jsonl.

                apollon77A Offline
                apollon77A Offline
                apollon77
                schrieb am zuletzt editiert von
                #53

                @dr-bakterius Naja ok das es wenn iobroker nicht läuft kurz dauert (und bissl länger also bei controller 3.1.x) ist normal.

                Wenn kein iobroker läuft dann ist die DB nicht da, also startet der CLI Kommando erstmal eine DB damit er dahin verbinden kann. Das sind halt die paar Sekunden. Und das muss er nicht wenns schon läuft - dann ists ja schon am laufen.

                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                Dr. BakteriusD 1 Antwort Letzte Antwort
                0
                • apollon77A apollon77

                  @dr-bakterius Naja ok das es wenn iobroker nicht läuft kurz dauert (und bissl länger also bei controller 3.1.x) ist normal.

                  Wenn kein iobroker läuft dann ist die DB nicht da, also startet der CLI Kommando erstmal eine DB damit er dahin verbinden kann. Das sind halt die paar Sekunden. Und das muss er nicht wenns schon läuft - dann ists ja schon am laufen.

                  Dr. BakteriusD Online
                  Dr. BakteriusD Online
                  Dr. Bakterius
                  Most Active
                  schrieb am zuletzt editiert von
                  #54

                  @apollon77 Okay, alles klar. Vielleicht dauert es jetzt länger weil die Datenbank größer ist? Mit zwei Sekunden hat es doch nicht geklappt (hatte zu speichern vergessen), aber mit drei Sekunden geht es jetzt.

                  apollon77A 1 Antwort Letzte Antwort
                  0
                  • Dr. BakteriusD Dr. Bakterius

                    @apollon77 Okay, alles klar. Vielleicht dauert es jetzt länger weil die Datenbank größer ist? Mit zwei Sekunden hat es doch nicht geklappt (hatte zu speichern vergessen), aber mit drei Sekunden geht es jetzt.

                    apollon77A Offline
                    apollon77A Offline
                    apollon77
                    schrieb am zuletzt editiert von
                    #55

                    @dr-bakterius Wenn das einlesen einer jsonl DB wegen dem gewählten Ansatz länger dauert als das lesen und parten eines reinen JSOns (was gut sein kann), dann könnte da was dran sein.
                    @AlCalzone

                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                    1 Antwort Letzte Antwort
                    0
                    • Dr. BakteriusD Dr. Bakterius

                      @apollon77 Hieß es nicht doppelte Größe und 1.000 Zeilen? Es hat die dreifache Größe und über 10.000 Zeilen mehr!

                      Ich habe nur einen single Host in einem LXC unter Proxmox. Bis zur Umstellung hatte ich diesen Fehler nie...

                      AlCalzoneA Offline
                      AlCalzoneA Offline
                      AlCalzone
                      Developer
                      schrieb am zuletzt editiert von AlCalzone
                      #56

                      @dr-bakterius sagte in EXPERIMENTELL: JsonL Datenbank für js-controller:

                      Hieß es nicht doppelte Größe und 1.000 Zeilen? Es hat die dreifache Größe und über 10.000 Zeilen mehr!

                      Mit doppelte Größe war die Anzahl der Zeilen gemeint. @apollon77 hat das schon richtig wieder gegeben.

                      Komprimiert wird, wenn die Anzahl der Zeilen (d.h. Schreib- und Löschoperationen) in der Datei doppelt so hoch ist wie nötig und nur dann wenn diese Anzahl mindestens 1000 beträgt.
                      Es wäre also tatsächlich nach weiteren 287 Updates passiert. An den Zahlen können wir durchaus noch schrauben - das war ein erster Wurf.

                      Und ja, es kann sein, dass das Starten länger dauert, weil mehr geparsed wird. Ich hab ne Idee wie man das optimieren könnte. Kannst du deine (recht große) Objects DB teilen (auch gerne privat per E-Mail) oder stehen da zu viele Geheimnisse drin?

                      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                      Dr. BakteriusD 1 Antwort Letzte Antwort
                      0
                      • AlCalzoneA AlCalzone

                        @dr-bakterius sagte in EXPERIMENTELL: JsonL Datenbank für js-controller:

                        Hieß es nicht doppelte Größe und 1.000 Zeilen? Es hat die dreifache Größe und über 10.000 Zeilen mehr!

                        Mit doppelte Größe war die Anzahl der Zeilen gemeint. @apollon77 hat das schon richtig wieder gegeben.

                        Komprimiert wird, wenn die Anzahl der Zeilen (d.h. Schreib- und Löschoperationen) in der Datei doppelt so hoch ist wie nötig und nur dann wenn diese Anzahl mindestens 1000 beträgt.
                        Es wäre also tatsächlich nach weiteren 287 Updates passiert. An den Zahlen können wir durchaus noch schrauben - das war ein erster Wurf.

                        Und ja, es kann sein, dass das Starten länger dauert, weil mehr geparsed wird. Ich hab ne Idee wie man das optimieren könnte. Kannst du deine (recht große) Objects DB teilen (auch gerne privat per E-Mail) oder stehen da zu viele Geheimnisse drin?

                        Dr. BakteriusD Online
                        Dr. BakteriusD Online
                        Dr. Bakterius
                        Most Active
                        schrieb am zuletzt editiert von
                        #57

                        @alcalzone Okay, danke für die Erklärung. Dann habe ich dich beim ersten Mal falsch verstanden. Alles gut. Nachdem das ganze noch experimentell ist, vermutet man hinter jeder Sache gleich einen Bug. :blush:

                        Ich denke, mit 10.700 Objekten bin ich eher im Durchschnitt.

                        1 Antwort Letzte Antwort
                        0
                        • A Offline
                          A Offline
                          Adnim
                          schrieb am zuletzt editiert von
                          #58

                          Hi!
                          habe heute morgen umgestellt. Master läuft auf den ersten Blick einwandfrei. Disk I/o scheint nun in einer andern Welt zu sein.

                          Mein Slave bekomme ich aber noch nicht ins Rennen.

                          Bekomme nur die Fehlermeldung dort:
                          No Connection to Database Possible...

                          Current configuration:
                          - Objects database:
                            - Type: jsonl
                            - Host/Unix Socket: 192.165.175.15
                            - Port: 9001
                          - States database:
                            - Type: jsonl
                            - Host/Unix Socket: 192.165.175.15
                            - Port: 9000
                          - Data Directory: ../../iobroker-data/
                          

                          Muss ich hier noch was anpassen?
                          Iobroker Log des Slaves hat auch nur die Fehlermeldung drinne, verbunden mit Restarts deswegen.

                          apollon77A 1 Antwort Letzte Antwort
                          0
                          • A Adnim

                            Hi!
                            habe heute morgen umgestellt. Master läuft auf den ersten Blick einwandfrei. Disk I/o scheint nun in einer andern Welt zu sein.

                            Mein Slave bekomme ich aber noch nicht ins Rennen.

                            Bekomme nur die Fehlermeldung dort:
                            No Connection to Database Possible...

                            Current configuration:
                            - Objects database:
                              - Type: jsonl
                              - Host/Unix Socket: 192.165.175.15
                              - Port: 9001
                            - States database:
                              - Type: jsonl
                              - Host/Unix Socket: 192.165.175.15
                              - Port: 9000
                            - Data Directory: ../../iobroker-data/
                            

                            Muss ich hier noch was anpassen?
                            Iobroker Log des Slaves hat auch nur die Fehlermeldung drinne, verbunden mit Restarts deswegen.

                            apollon77A Offline
                            apollon77A Offline
                            apollon77
                            schrieb am zuletzt editiert von
                            #59

                            @adnim wie sieht die Master konfig aus?

                            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                            A 1 Antwort Letzte Antwort
                            0
                            • apollon77A apollon77

                              @adnim wie sieht die Master konfig aus?

                              A Offline
                              A Offline
                              Adnim
                              schrieb am zuletzt editiert von
                              #60

                              @apollon77

                              Current configuration:
                              - Objects database:
                                - Type: jsonl
                                - Host/Unix Socket: 127.0.0.1
                                - Port: 9001
                              - States database:
                                - Type: jsonl
                                - Host/Unix Socket: 127.0.0.1
                                - Port: 9000
                              - Data Directory: ../../iobroker-data/
                              
                              
                              apollon77A 1 Antwort Letzte Antwort
                              0
                              • A Adnim

                                @apollon77

                                Current configuration:
                                - Objects database:
                                  - Type: jsonl
                                  - Host/Unix Socket: 127.0.0.1
                                  - Port: 9001
                                - States database:
                                  - Type: jsonl
                                  - Host/Unix Socket: 127.0.0.1
                                  - Port: 9000
                                - Data Directory: ../../iobroker-data/
                                
                                
                                apollon77A Offline
                                apollon77A Offline
                                apollon77
                                schrieb am zuletzt editiert von
                                #61

                                @adnim Jupp der Master erlaubt nur lokale Verbindungen. Schreib in die konfig beim Master mal 0.0.0.0 als ip rein bei beiden dbs. Dann klappt’s auch.

                                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                A ? 2 Antworten Letzte Antwort
                                0
                                • apollon77A apollon77

                                  @adnim Jupp der Master erlaubt nur lokale Verbindungen. Schreib in die konfig beim Master mal 0.0.0.0 als ip rein bei beiden dbs. Dann klappt’s auch.

                                  A Offline
                                  A Offline
                                  Adnim
                                  schrieb am zuletzt editiert von Adnim
                                  #62

                                  @apollon77

                                  Ja dann klappts auch :) Danke!

                                  Datenbank läuft Stabil, Write Load ist komplett verschwunden super Sache.

                                  1 Antwort Letzte Antwort
                                  0
                                  • FredFF Online
                                    FredFF Online
                                    FredF
                                    Most Active Forum Testing
                                    schrieb am zuletzt editiert von
                                    #63

                                    @apollon77 @AlCalzone
                                    Angeregt durchs mitlesen des Disk Write Beitrags und auch schon längeren Überlegungen ob ich mein System auf redis umstellen soll oder nicht, habe ich mich nun mal getraut auf jsonl umzustellen.

                                    Bilder sagen oft mehr als tausend Worte:


                                    Diskwrites.PNG


                                    DiskwritesJSONI.PNG

                                    Einfach Toll wie mit euren stetigen Optimierungen und Verbesserungen die ihr anscheinend aus dem Nichts zaubert (kommt mir nicht wissenden zumindest so vor) ioBroker so weiter entwickelt wird.

                                    Weiter so!

                                    1 Antwort Letzte Antwort
                                    2
                                    • apollon77A apollon77

                                      @adnim Jupp der Master erlaubt nur lokale Verbindungen. Schreib in die konfig beim Master mal 0.0.0.0 als ip rein bei beiden dbs. Dann klappt’s auch.

                                      ? Offline
                                      ? Offline
                                      Ein ehemaliger Benutzer
                                      schrieb am zuletzt editiert von
                                      #64

                                      @apollon77

                                      sieht ja echt interessant aus, lohnt es sich von Redis auf jsonl umzustellen??

                                      Ich betreibe auf dem iobroker auch ein Redisserver und n Slave auf der Syno..

                                      apollon77A 1 Antwort Letzte Antwort
                                      0
                                      • ? Ein ehemaliger Benutzer

                                        @apollon77

                                        sieht ja echt interessant aus, lohnt es sich von Redis auf jsonl umzustellen??

                                        Ich betreibe auf dem iobroker auch ein Redisserver und n Slave auf der Syno..

                                        apollon77A Offline
                                        apollon77A Offline
                                        apollon77
                                        schrieb am zuletzt editiert von
                                        #65

                                        @ilovegym das musst du wissen. Am Ende kann redis genau so sparsam sein wenn man ihn richtig einrichtet ;-))

                                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                        ? 1 Antwort Letzte Antwort
                                        0
                                        • apollon77A apollon77

                                          @ilovegym das musst du wissen. Am Ende kann redis genau so sparsam sein wenn man ihn richtig einrichtet ;-))

                                          ? Offline
                                          ? Offline
                                          Ein ehemaliger Benutzer
                                          schrieb am zuletzt editiert von
                                          #66

                                          @apollon77

                                          Danke, ok, ich wart mal ab, was die Erfahrungen in den nächsten Wochen so zeigen, und wenn ich Zeit habe, teste ich das mit nem Clone mal aus.

                                          Denke aber, mein Redis ist schon echt flott.

                                          Bin gerade fertig mit der Umstellung von den Xiaomi-Gateways auf n CC26X2R, und hab 140 Sensoren neu angelernt.. :D

                                          S 1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          757

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe