Egal welch schöne Verwaltungsoberflächen man strickt, manchmal ist es einfach angenehmer den Datenbankinhalt in den Editor zu schieben, dort zu Suchen und Ersetzen und das Ergebnis wieder in die Datenbank zu schieben. Ich denke da an einen einfachen Query-Generator, der die Tabelle als CSV in einer Textarea ausgibt und diese direkt als Update akzeptiert:
Schlagwort: Datenbank
Von Data-Warehouses und Website-Statistiken
Schon vor längerer Zeit habe ich im Rahmen meiner damaligen Firma ein Analysewerkzeug für Website-Besuche geschrieben. Leider ist das ganze recht organisch gewachsen, so dass es heute schwer fällt die Software zu verbessern. Wie lässt sich eine belastbare Architektur entwickeln? Ein Stichwort, an dass ich im Zusammenhang mit großen Datenmengen stets denken muss: Data-Warehouses.
SQL-Datenbankänderungen testen
Manchmal dauert es ein wenig, bis man auf das Offensichtliche kommt. Ich habe hin und her überlegt, wie ich ein Update und Alter Table testen kann, ohne die Daten zu gefährden. Die Lösung ist elementarer Bestandteil einer jeden SQL-Datenbank: Eine Transaktion. Transaktionen in PostgreSQL begin; alter table mytable rename column id to name; \d mytable
Probleme mit falschen Liquibase-Checksummen beheben
Liquibase ist eine nette Sache, um die Evolution von Datenbankschemata zu verwalten. Nervig wird es, wenn man während der Entwicklung ein bereits ausgeführtes Changeset noch einmal ändern muss und infolge dessen die Checksummen nicht mehr stimmen: liquibase.exception.ValidationFailedException: Validation Failed: 1 change sets check sum changelog.xml::changeSetId::author is now: 3:eeeedcadbc71ae018f46bd682e9132c7 Die Lösung ist recht einfach: Der betroffene… Probleme mit falschen Liquibase-Checksummen beheben weiterlesen
Referenzen bei Problemen mit großen Datenmengen
In einem größeren PHP-Projekt hatte ich kürzlich das Problem, dass große Teile der Datenbanken in Arrays geschoben wurden um von dort aus weiterverarbeitet zu werden. Dies ist generell kein schöner Ansatz, war in der besagten Situation aber nicht mehr zu ändern. Ein Kollege kam auf die rettende Idee, die ich hier kurz notieren möchte, so dass ich sie nicht vergesse.
Große Datenmengen mit Extbase verarbeiten
Extbase ist an sich eine schöne Sache: Man kann mit relativ geringem Aufwand auch komplexe Anwendungen schreiben. Ein großes Problem ist jedoch die Effizienz. Das vollständige Auslesen von Objekten aus einer Datenbank in ein Array, um diese nachfolgend zu bearbeiten, ist speicherintensiv und merklich langsam. Möchte man einfach eine lange Liste an Logs ausgeben, fällt das besonders auf. Ich möchte hier einen eleganten Weg zeigen, wie man möglichst direkt jede Datenbankzeile in die Ausgabe schreibt.