Alle Artikel mit dem Schlagwort: Datenbanken

Performance-Tuning in PostgreSQL – Teil 1

PostgreSQL gilt seit Jahren als das fortschrittlichste Open-Source-Datenbankmanagementsystem und ist millionenfach im Einsatz. Ein Thema, das PostgreSQL-Administratoren unter anderem beschäftigt, ist Performance-Tuning – also die Frage, wie Anfragen und SQL-Befehle schneller gemacht werden können. Dieser Frage und anderen widmen sich auch die Autoren Peter Eisentraut und Bernd Hemle in ihrem Buch „PostgreSQL-Administration„. Wie man Enpässe oder Flaschenhälse, die die Ausführung eines SQL-Befehls verlangsamen, richtig erkennt und optimiert, erfahren Sie im ersten Teil des Buchauszugs. Heute geht es um CPU, RAM und Festplattendurchsatz. Im zweiten Teil wird es dann um Festplattenlatenz, Festplattenrotation und Netzwerkverbindungen gehen. CPU PostgreSQL startet pro Datenbankverbindung einen Prozess, und moderne Betriebssysteme verteilen diese Prozesse dann auf mehrere CPU-Kerne, falls vorhanden. Generell kann aber somit ein SQL-Befehl nur auf maximal einem CPU-Kern laufen. Sehr rechenintensive SQL-Befehle können einen CPU-Kern schon eine Weile auslasten. Das kann man dann einfach mit Betriebssystemwerkzeugen wie ps oder top beobachten. In der Praxis ist die CPU aber im Gegensatz zu den anderen aufgeführten Kandidaten eher selten das Problem. Wenn doch, dann bleibt einem in der Regel nichts anderes …

BUZZWORDS Berlin (Hadoop World) im Juni 2010

Am 7. und 8. Juni 2010 findet erstmals die BUZZWORDS in Berlin-Friedrichshain statt. Diese neue Konferenz bildet das breite Themenspektrum rund um skalierbare Suche, NoSQL Datenbanken und die verteilte Verarbeitung großer Datenmengen ab. Die Konferenzinhalte erstrecken sich von aktuellen Entwicklungen im Apache Projekt Hadoop über offene Suchmaschinen wie Lucene, katta und Solr bis hin zu NoSQL Projekten wie CouchDB, HBase und MongoDB. Die Konferenz bietet Keynotes, Vorträge und Workshops. Die Präsentationen richten sich besonders an Entwickler im High-Scalability Bereich. Hier werden einerseits Mitglieder der einzelnen Projekte über aktuelle Entwicklungen berichten, andererseits aber auch Anwender Applikationen im High Scalability Bereich vorstellen. Für die Keynotes konnten namhafte Referenten wie zum Beispiel Grant Ingersoll (PMC Chair Lucene, Co-Founder Lucid Imagination) gewonnen werden. Ebenfalls als Referent dabei ist auch Jan Lehnhardt, unser Autor von CouchDB – The Definitive Guide. Die Veranstalter rechnen mit ca. 300 Teilnehmern. Der Ausstellerbereich bietet Besuchern die Möglichkeit, sowohl mit Entwicklern hinter den Projekten als auch mit kommerziellen Nutzern ins Gespräch zu kommen. Anmeldung, Tickets und weitere Informationen können über die Webseite der Berlin Buzzwords …

CouchDB – ein neuer Datenbankansatz

Manchmal geschehen Dinge rund um die IT, die ich nicht verstehe. Rümpfe ich gelegentlich die Nase über Entwicklungen, die wahrlich nicht mehr taufrisch sind, aber dennoch als technische Revolution gefeiert werden, so schüttel‘ ich auch mal den Kopf, wenn wirklich neue und hoch interessante IT-Entwicklungen kaum Gehör bekommen. CouchDB ist so ein Fall. CouchDB ist Vertreter eines neuen Datenbanktyps, und zwar einer so genannten dokumentenbasierten Datenbank. CouchDB speichert Daten nicht in Tabellen, Zeilen und Spalten, sondern verwaltet sie in Dokumenten. Anders als bei relationalen Datenbanksystemen werden Abfragen nicht über die Datenbankabfragesprache SQL definiert, sondern über HTTP-Befehle entsprechend den Prinzipien des REST-Paradigmas: Speicheroperationen über HTTP PUT beziehungsweise POST und Leseoperationen über HTTP GET. Angefragte Daten werden im JSON-Format ausgegeben, das gerade bei Webprogrammierern bekannt und geschätzt ist. Gespeicherten Daten müssen nicht einer vorab erstellten Definition genügen, dem so genannten Schema, weshalb CouchDB auch als schemalose Datenbank bezeichnet wird. Im Mittelpunkt steht stets die Struktur der gespeicherten Dokumente. CouchDB ist dabei nicht als Ersatz für relationale Datenbanken zu betrachten. Jeder Ansatz hat unterschiedliche Stärken und Schwächen. Wenn …

„SQL is not horrible“, oder: Warum es sich doch lohnt, SQL besser kennenzulernen

„Man, I’m so tired of cleaning up bad SQL code. Code that makes hundreds of queries when one would suffice. Or tables that have no primary keys. Or code that never makes use of joins. SQL is not horrible. It’s worth understanding and knowing how to write well.” SQL gehört nicht zu den allerbeliebtesten Themen in der IT-Welt. Vielen erscheint es gähnend langweilig, wenn nicht überflüssig, diese altbewährte Datenbanksprache systematisch zu erlernen. Doch wer sich etwas intensiver damit beschäftigt, versteht, warum das bereits in den 70er Jahren entwickelte SQL nie von neueren Sprachen verdrängt worden ist: Eine gut entworfene SQL-Datenbank kann auch sehr große Datenmengen unübertroffen souverän bewältigen. „Im Umgang mit großen Datenmengen hat SQL einiges mit den todschicken Digitalkameras und ihren Hochleistungszooms gemeinsam: Mit SQL kann man große Datenmengen durchforsten oder einzelne Zeilen heranzoomen (oder irgendetwas dazwischen). […] Aus diesem Grund sind alle Versuche, relationale Datenbanken und SQL vom Thron zu stoßen, gescheitert. Auch wenn SQL eine ältere Sprache ist, wird es uns noch lange erhalten bleiben und blickt in eine glänzende Zukunft“, so …