fBetter Praxis für große Größe Tabelle auf Ruby on Rails 4/ActiveBessere Praxis für enorme Größe der Tabelle auf Ruby on Rails 4/Active
Wie kann ich ein big table
im postgreSQL
mit Active Record
on Rails partitionieren 4
Ich bevorzuge PostgreSQL oder andere RDBMS, weil ich es in MongoDB versuchte. Es ist sehr langsam.
Ist Rails 4
Unterstützung gute Lösung für eine ganze große Tabelle?
(meinem Fall: mehr als
50 billions
von Datensätzen, die Größe ist etwa20TB
)
Datenbeschreibung
Es gibt eine User
Tabelle mit name, personal_data, year
Felder aus.
Die Daten können durch geteilt werden und die Daten werden gleichmäßig aufgeteilt. mehrere Modell zu erstellen, wie User_1950, User_2001,..., User_2015
Ich möchte partition
ganze Daten von year
Es gibt zwei näherte ich denken kann
- aufgeteilt in verschiedene
physical table
in der gleichen Datenbank. (sharding?) - aufgeteilt in verschiedene
physical database
auf den verschiedenen Datenbanken. (Konnte es funktioniert gut mit Rails)
Ideen
Ich denke, es not practical
ist
Ich möchte die Lösung kompatibel mit Active Record
es wird wie wirken
User.find(name: xxx, year: 1988)
User.find(name: xxx, year: 2012)
Damit ich nicht egal, wie um auf die partitionierten multiplen Tabellen zuzugreifen.
Soweit ich weiß,
ich ein Juwel partitioned
gefunden, aber die unterstützt nicht Rails 4
Verwenden [Erbe] (http://www.postgresql.org/docs/current/static/tutorial-inheritance.html) die Tabellen zu partitionieren:
werden Ihre Anfragen so etwas wie werden http : //www.depesz.com/2015/06/07/partitioning-what-why-how/ –
@a_horse_with_no_name Hallo aber könnte es auch aktive Aufzeichnung auf Schienen unterstützen 4. Es scheint kein Glück darauf zu sein? – newBike
Es sieht so aus, als ob das "partitionierte" Juwel, das du dir angeschaut hast, nun Rails 4 unterstützt https://github.com/fiksu/partitioned/issues/44 –