Ich arbeite an dem Design für ein RoR-Projekt für mein Unternehmen, und unser Entwicklungsteam ist bereits in eine Debatte über das Design, speziell die Datenbank geraten.Wie groß ist zu groß für eine PostgreSQL-Tabelle?
Wir haben ein Modell namens Message
, das beibehalten werden muss. Es ist ein sehr, sehr kleines Modell mit nur drei db-Spalten anders als die ID, aber wahrscheinlich wird es eine Menge dieser Modelle geben, wenn wir in Produktion gehen. Wir suchen bis zu 1.000.000 Insertionen pro Tag. Die Modelle werden immer nur von zwei Fremdschlüsseln durchsucht, die indiziert werden können. Außerdem müssen die Modelle nie gelöscht werden, aber wir müssen sie auch nicht behalten, wenn sie erst drei Monate alt sind.
Wir fragen uns also, ob die Implementierung dieser Tabelle in Postgres ein erhebliches Leistungsproblem darstellt? Hat jemand Erfahrung mit sehr großen SQL-Datenbanken, um uns zu sagen, ob dies ein Problem sein wird oder nicht? Und wenn ja, mit welcher Alternative sollten wir gehen?
mit einer guten Cache-Layer und ein wenig Konfiguration in PG sollten Sie in Ordnung sein. Sie sollten Leistungsprobleme von Fall zu Fall angehen und eine Voroptimierung vermeiden. Das heißt, Partitionierung und Replikation sind immer großartige Optionen, die Sie nutzen können, sobald Sie auf Engpässe stoßen. –
Verwandte Frage [hier] (http://stackoverflow.com/questions/13639626/database-columns-in-select-or-create-statements/13639920#13639920) und [hier] (http://stackoverflow.com/ Fragen/12606842/Was ist die maximale Anzahl von Spalten in einer Postgresql-Select-Abfrage). –
Wir verarbeiten etwa 30 Millionen Nachrichten pro Tag in einer 5+ TB PostgreSQL-Datenbank, funktioniert gut. –