Almacenamiento / versionado de una gran cantidad de objects JSON

Nuestro service en la nube trata con trozos de datos JSON ( item ) que se manipulan todo el time. Se puede cambiar tan rápido como cada segundo.

En este momento, el item es un object JSON que se está modificando todo el time. Ahora necesitamos implementar versiones de estos artículos también.

Básicamente, cada vez que llega una request para modificar el object, se modifica, se guarda en DB y luego también tenemos que almacenar esa versión en algún lugar. Entonces, más adelante podrá decir "dame la versión 345 de este artículo".

Mi pregunta es: ¿cuál sería la forma ideal de almacenar esta historia? Eso sí, no necesitamos consultar o alterar los datos una vez guardados, todo lo que necesitamos es cargarlos si es necesario (0.01% de time) – básicamente, los datos son básicamente insignificantes.

Estamos investigando múltiples enfoques:

  • Archivos de text simple (sistema de files)
  • Almacenamiento en la nube (por ejemplo, S3)
  • Control de versiones (por ejemplo, GIT)
  • Base de datos (cualquiera)
  • Bóveda (por ejemplo, bóveda de hashicorp)

El problema principal es que dado que los artículos se actualizan cada segundo, terminamos con muchos blobs. Considere – 100 elementos, actualizados cada segundo – eso es 8,640,000 loggings en un solo día. Sin mencionar 100rps para DB.

¿Tiene alguna recomendación sobre cuál sería el enfoque óptimo? Necesitamos que sea escalable, rápido, confiable, encryption fuera de la caja sería una gran ventaja.