Gibt es etwas, vor dem ich Angst haben sollte?
Keine Backups. Wie jedes Speichergerät kann es sterben. Bewahren Sie Backups auf.
Wenn das Laden der Daten Ewigkeiten in Anspruch nehmen wird, würde ich die schreibgeschützte Datenbank nach dem Laden der Daten sichern, indem ich sie anhalte und kopiere. Auf diese Weise ist es später einfacher, etwas neu zu erstellen, wenn etwas schief gelaufen ist.
Kann ich die gesamte Datenbank oder nur die Indizes auf der SSD ablegen?
Wenn es passt, speichern Sie die gesamte DB.
Wenn dies nicht der Fall ist, platzieren Sie einen Tablespace auf der SSD und verwenden Sie ihn, um die Indizes und so viele der stark abgefragten Tabellen zu speichern, wie passen.
Gibt es spezielle Ratschläge / Anleitungen zum Optimieren von PostgreSQL für SSDs?
Die meisten Vorteile von SSDs sind für OLTP-Schreiblasten. Der Hauptvorteil für schreibgeschützte Ladevorgänge ist das schnelle Suchen, und slardiere hat dies abgedeckt.
Möglicherweise möchten Sie festlegen effective_io_concurrency = 5
oder etwas, um die Tatsache widerzuspiegeln, dass SSDs schnelle Zufallslesevorgänge mit hoher Pipeline-Auslastung ausführen können. Dies wirkt sich jedoch nur auf Bitmap-Index-Scans aus und berücksichtigt dies in der Praxis random_page_cost
bereits.
Bei einer schreibgeschützten Last macht dies keinen großen Unterschied.
Informationen zum erstmaligen Laden von Daten finden Sie unter:
Beachten Sie, dass ich eine gute Workstation mit i7 und 32 GB RAM besitze. Vielleicht können Sie dort auch Ratschläge geben.
Legen Sie einen großen Wert maintenance_work_mem
für das Laden der Daten fest. Ich würde zumindest verwenden 8GB
.
Stellen Sie ein großes work_mem
für die abfragende Arbeit ein. Die geeignete Größe hängt ein wenig von der Komplexität der Abfrage ab. Beginnen Sie mit 500MB
und gehen Sie von dort hoch.
Erhöhen Sie Ihren checkpoint_segments
(massiven) Aufwand für das anfängliche Laden von Daten.
Denken Sie daran, das VM-Overcommit zu deaktivieren! (Siehe das PostgreSQL-Handbuch: http://www.postgresql.org/docs/current/static/kernel-resources.html )