Guten Abend 🌙 Es ist Zeit für mein wöchentliches Tagebuch 📖
Diese Woche habe ich meine persönliche Website auf eine andere Datenbank migriert. Von SQLite zu PostgreSQL. Die Aufgabe dauerte ungefähr 16 Stunden.
Ich verglich die Geschwindigkeit der Textsuche in meinen Blog-Beiträgen:
- SQLite: 60 Millisekunden
- PostgreSQL: 45 Millisekunden
Das Ergebnis überraschte mich. Ich hatte erwartet, dass SQLite schneller sein würde. Ich fragte mich, warum das so ist, und kam zu dem Schluss, dass die Hauptursache der Verbindungspool liegt.
- Meine SQLite-Version der Anwendung öffnete und schloss die Verbindung zur Datenbank bei jedem HTTP-Anfrage des Clients.
- Im PostgreSQL-Modus habe ich hingegen zunächst den Connection Pooling über die Go-Bibliothek jackc/pgx/v5/pgxpool aktiviert.
Ich werde mich nicht tiefer in dieses Thema vertiefen. Es genügt, dass die Suche jetzt schnell funktioniert.
Die Suche ist auf der Seite https://hinst.github.io/dynamic/#/personal-goals-s... verfügbar. Man kann zum Beispiel das Wort "Pascal" eingeben und alle meinen öffentlichen Beiträge mit Erwähnungen von Pascal finden. Die Antwortzeit für Anfragen wird allerdings etwas länger sein, da TailScale etwa 100 Millisekunden Latenz hinzufügt 🐌
Ich habe bereits wöchentliche Sicherungskopien der Datenbank über das Kommando pg_dump eingerichtet und alle alten Reste der SQLite-Integration entfernt. Laut meinen Berechnungen sollte PostgreSQL mit etwa 300 MB Arbeitsspeicher auskommen, während mein Orange Pi Mikrocomputer über 4 GB verfügt. Der Speicher ist also ausreichend.
Ich habe meinen Schreibtisch neu angeordnet, um bequemer sitzen zu können. Hier sind die Bilder von vorher und nachher. Beim alten Design war das Schlimmste, dass mein Ellbogen in der Luft hing, ohne Unterstützung, und nach 8 Stunden Arbeit hatte ich schmerende Hände. Aber ein Pluspunkt des alten Designs war, dass das Tageslicht vom Monitor abgeschirmt war. Im neuen Design hindert das Fensterlicht allerdings am Arbeiten. Bei Sonnenuntergang muss ich die Helligkeit erhöhen, und nach dem Sonnenuntergang wieder verringern ☀️🫡