Bessere Übung für große Tabellengröße in Ruby on Rails 4 / ActiveRecord

8

fBessere Übung für die große Größe der Tabelle in Ruby on Rails 4 / ActiveRecord

Wie könnte ich ein big table in postgreSQL mit Active Record auf Rails 4 partitionieren

  

Ich bevorzuge PostgreSQL oder andere RDBMS, weil ich es in MongoDB ausprobiert habe. Es ist wirklich langsam.

Ist Rails 4 eine gute Lösung für einen ganzen großen Tisch?

  

(mein Fall: mehr als 50 billions der Datensätze, Größe ist ungefähr 20TB )

Datenbeschreibung

Es gibt eine Tabelle User , die name, personal_data, year Felder enthält.

Die Daten können durch year geteilt werden und die Daten werden gleichmäßig aufgeteilt.

Ideen

Ich denke, es ist not practical , mehrere Modelle wie User_1950, User_2001,..., User_2015

zu erstellen

Ich möchte partition ganze Daten nach year

Es gibt zwei näherte, an die ich denken kann

  • in verschiedene physical table in derselben Datenbank aufgeteilt (sharding?)
  • in verschiedene physical database in den verschiedenen Datenbanken aufgeteilt. (Könnte es gut mit Rails funktionieren)

Ich möchte, dass die Lösung mit Active Record

kompatibel ist

wird sich wie

verhalten

User.find(name: xxx, year: 1988) User.find(name: xxx, year: 2012)

Es ist mir also egal, wie ich auf die partitionierten Tabellen zugreifen kann.

Soweit ich weiß

Ich habe einen Edelstein partitioned gefunden, der aber nicht Rails 4

unterstützt     
newBike 09.06.2015, 11:08
quelle

1 Antwort

3

Da Sie die Daten nach Jahren speichern, können Sie die Daten möglicherweise anhand von Jahren verwenden. Ich würde octopus zur Verwendung mit ActiveRecord vorschlagen.

Ihre Abfragen werden etwa wie folgt aussehen:

%Vor%     
usmanali 11.06.2015 12:26
quelle