quindi c'è qualcosa di cui dovrei avere paura?
Non avere backup. Come qualsiasi dispositivo di archiviazione, può morire. Mantieni backup.
Se il caricamento dei dati richiederà secoli, eseguirò il backup del db di sola lettura una volta eseguito il caricamento dei dati, interrompendolo e copiandolo. In questo modo se qualcosa andasse storto sarebbe più facile ricrearlo in seguito.
Posso mettere l'intero DB sull'unità SSD o solo sugli indici?
Se si adatta, conservare l'intero DB.
In caso contrario, inserire un tablespace sull'unità SSD e utilizzarlo per archiviare gli indici e il numero di tabelle fortemente interrogate che si adatteranno.
Sono necessari consigli / tutorial specifici per la messa a punto di PostgreSQL per gli SSD?
La maggior parte dei vantaggi degli SSD riguarda i carichi di scrittura OLTP. Il vantaggio principale per i carichi di sola lettura è la ricerca rapida, e lo ha fatto Slardiere.
Potresti voler impostare effective_io_concurrency = 5
o qualcosa per riflettere il fatto che gli SSD possono fare letture casuali veloci e fortemente pipeline ... ma influisce solo sulle scansioni dell'indice bitmap e in pratica lo random_page_cost
incorpora già.
Per un carico di sola lettura non fa molta differenza.
Per il caricamento iniziale dei dati, vedere:
Nota che ho una buona workstation con un i7 e 32Gb di RAM, quindi forse puoi offrire qualche consiglio anche lì.
Impostare un grande maintenance_work_mem
per il caricamento dei dati. Userei almeno 8GB
.
Impostare un grande work_mem
per il lavoro di interrogazione. La dimensione appropriata dipende un po 'dalla complessità della query. Inizia con 500MB
e sali da lì.
Aumenta il tuo checkpoint_segments
(in modo massiccio) per il caricamento iniziale dei dati.
Ricorda di disabilitare l'overcommit della VM! (vedi il manuale PostgreSQL: http://www.postgresql.org/docs/current/static/kernel-resources.html )