Sto progettando un sistema in cui un componente chiave agisce come un "giornale", nel senso che memorizza un elenco di eventi sequenziali che possono modificare lo stato dell'intero sistema. Su richiesta, qualsiasi altro componente nel sistema può chiedere a questo componente l'elenco completo degli eventi accaduti dall'evento XXX.
Si può pensare all'ID evento sequenziale come chiave e all'evento stesso (un oggetto con codifica JSON di alcuni kb) come valore.
Il sistema deve conservare una cronologia di un paio di giorni di dati o, in alternativa, qualche milione di record, ma potrebbe essere necessario ridimensionarli a 10 s di milioni. Gli eventi passati dovrebbero essere facili da rimuovere automaticamente dallo spazio di archiviazione.
Preferibilmente, dovrebbe essere facile scalare questa memoria su più nodi usando la replica master-master o anche master-replica.
Qualsiasi suggerimento per tale archiviazione sarebbe utile.