fBetter pratica per la enorme dimensione della tabella su Ruby on Rails 4/ActiveRecordmigliore pratica per la enorme dimensione della tabella su Ruby on Rails 4/ActiveRecord
Come potrei partizionare un big table
nel postgreSQL
con Active Record
on Rails 4
Preferisco PostgreSQL o altri RDBMS, perché l'ho provato in MongoDB. E 'davvero lento su di esso.
È Rails 4
che supporta una buona soluzione per un unico grande tavolo?
(il mio caso: più di
50 billions
di record, la dimensione è di circa20TB
)
Descrizione dei dati
dotato di tavolo User
contenente name, personal_data, year
campi.
I dati possono essere divisi per year
ei dati verranno suddivisi equamente.
Idee
penso che sia not practical
per creare il modello più simile User_1950, User_2001,..., User_2015
voglio partition
intero dati year
Ci sono due avvicinò mi viene in mente
- diviso in diversi
physical table
nello stesso database. (sharding?) - suddiviso in diversi
physical database
sui diversi database. (Potrebbe funziona bene con Rails)
voglio la soluzione può compatibile con Active Record
si comporterà come
User.find(name: xxx, year: 1988)
User.find(name: xxx, year: 2012)
In modo che non mi importa di come per accedere alle tabelle multiple partizionate.
Per quanto ne so
ho trovato un gioiello partitioned
ma che non sta sostenendo Rails 4
Usa [eredità] (http://www.postgresql.org/docs/current/static/tutorial-inheritance.html) per partizionare le tabelle: http : //www.depesz.com/2015/06/07/partitioning-what-why-how/ –
@a_horse_with_no_name Ciao, ma potrebbe anche supportare il record attivo sui binari 4. non sembra fortunato su di esso? – newBike
Sembra che la gemma 'partizionata' che stavi cercando possa supportare Rails 4 ora https://github.com/fiksu/partitioned/issues/44 –