Bei zirka 1 Terabyte ist es schon eine sehr große Datenbank. Joins können sehr langsam werden (wieviel Terabyte
RAM hat der Server, und wie schnell und groß ist sein Festplatten-Speichersystem?).
Von den genannten Datenbanken würde ich mir vor allem PostgreSQL genauer ansehen. Je nach Anforderungsprofil kommt aber auch eine
NoSQL Datenbank in Frage. Viele NoSQL-Implementierungen unterstützen verteilte Datenbanken mit redundanter Datenhaltung auf vielen Servern, beispielsweise unter Nutzung einer verteilten Hashtable. Damit können die Systeme einfach skalieren und Ausfälle einzelner Server überstehen.
Firebird ist für die kleinen Installationen
IMHO eine gute Lösung. Es kann unter Linux installiert werden und ist wartungsarm.