pre aggregazione di documenti mongodb

1

Nella nostra attuale configurazione, la maggior parte delle nostre chiamate al database sono aggiornamenti in cui incrementiamo una chiave di 1.

Se tutto ciò che si sta facendo è incrementare alcune chiavi su un documento (molto) in mongodb, e ci sono diversi server delle applicazioni che lo fanno contemporaneamente, ha sempre senso aggregare questi incrementi a livello di applicazione e quindi inviare i documenti pre-aggregati al database mongodb principale ogni intervallo di tempo impostato?

Capisco che potrebbe essere rischioso perché se in qualche modo perdi uno di questi documenti pre-aggregati puoi potenzialmente perdere più dati, ma questa tecnica è mai stata utilizzata? Capisco anche che il sharding sia il modo accettabile per ridimensionare le scritture, ma ero solo curioso di sapere se questa tecnica fosse mai usata perché sembra che potrebbe potenzialmente ridimensionare se fatta bene, potrei essere completamente sbagliato qui però.

    
posta tonyl7126 16.07.2013 - 03:52
fonte

1 risposta

2

Certo, è un modo intelligente se è fattibile per il tuo prodotto. Salva molte chiamate al database e questo semplifica il ridimensionamento. Le cose che non occupano risorse non devono essere ridimensionate.

La considerazione più importante è la fiducia. Quanti dati puoi perdere e potresti rilevare il fatto che stai perdendo dati.

Lo schema che descrivi sembra un po 'come mettere una coda davanti al tuo database per ridurre l'impatto del ridimensionamento sul server del database. Potresti dare un'occhiata a questo tipo di scenari.

    
risposta data 16.07.2013 - 11:25
fonte

Leggi altre domande sui tag