¿Recomienda Redis con Node.js para datos muy grandes? Estoy hablando de millones de datos. ¿Sería bueno si Facebook / Amazon usara Redis?

La pregunta es “para qué”? ¿Qué es lo que estás tratando de lograr? Expresaste la escala pero no el propósito. Debe elegir las herramientas con mucho cuidado en comparación con sus objetivos.

¿Redis sería lo suficientemente bueno para FB / AZ? Es difícil saberlo, pero creo que sí. No me sorprendería si ya lo usaran, por supuesto. Pero “¿a qué escala?”, No estoy seguro.

Con respecto al “volumen” de datos, probablemente Redis pueda manejar su carga. Si necesita “más” datos y tiene “muchos” servidores, también puede escalar redis a través de clústeres. Redis es en general muy sólido.

Ahora, otras opciones que serían “aceptables” para Facebook o Amazon para conjuntos de datos “grandes” en “muchos” servidores (teniendo en cuenta que mencionó a esos dos grandes personajes debido a la escala de lo que intenta lograr), también podría considerar :

  1. Cassandra para series temporales no críticas escalables horizontalmente
  2. Kafka para colas de mensajes muy muy escalables

Hay más, pero creo que necesitaría más información sobre lo que intenta lograr primero.

Última palabra: piense “escalabilidad” temprano, pero no diseñe “Facebook” desde un enfoque de arriba hacia abajo. Resuelva el problema que tiene primero y elija las herramientas adecuadas para los problemas correctos.

Además, “millones de datos” no son “datos muy grandes”. A menos que “millones de datos” signifique “millones de tablas” en un mundo RDBMS.

Sí, es muy posible usar Redis con Node para millones de puntos de datos. Podemos crear clústeres de Redis y colocar los servidores Node detrás de un equilibrador de carga para garantizar una escala adecuada.

La pregunta es más sobre el propósito. Si bien desde un punto técnico esta escala es alcanzable, ¿cuál es el objetivo desde un punto funcional?

Redis no proporciona consultas más allá de cierto punto. Entonces, si los tipos simples de consultas son el objetivo, entonces es posible.

Creo que los usuarios de Twitter son grupos de Redis. Y estoy seguro de que la escala es similar a lo que estás hablando

Por qué no? Es lo suficientemente escalable para acomodar la carga.

Está siendo utilizado por varias empresas con una gran carga de datos (Tumblr, Trello, Kikstarter … TechStacks)

Yo no. La memoria ejecutable se agotará muy rápido y es muy costoso agregarla. Una vez que comience a persistir en el disco, Redis se volverá más lento que en cualquier base de datos relacional moderna.