Redis,distribuido o no?

Pregunta 1:
Sé Redis cargar todos los datos en la memoria, mejorando así la velocidad de lectura/escritura. Así que, ¿significa que si el tamaño de la memoria es de 2gb, el máximo tamaño del conjunto de datos no debe ser mayor de 2G? Ahora mi base de datos tiene un 100G+ datos, la memoria de mi servidor no puede ser mayor que la de 32GB, así que, Redis ya no es el más adecuado para mí?

Pregunta 2:
Es Redis un sistema distribuido o no? Cuando yo uso google para buscar redis TAPA de la propiedad, dice Redis no es un sistema distribuido, por lo tanto, no tiene nada que ver con CAP
. Pero a partir de Wikipedia, se dice que tiene un maestro-esclavo de la arquitectura, uno de los maestros con muchos de los esclavos.
Cómo confuso.

InformationsquelleAutor wuchang | 2013-08-22

2 Kommentare

  1. 50

    Con respecto a la pregunta 1, Redis es un almacén de memoria con algunos persistencia de las capacidades. Todo el conjunto de datos debe caber en la memoria. Una sola instancia por lo tanto es limitado por la memoria máxima del servidor. Ahora, usted también puede fragmento de los datos a varias instancias Redis, que se ejecuta en varios servidores. Siempre que usted tiene el presupuesto para ello, es perfectamente posible almacenar hasta 100 gb – 1 tb de datos en un conjunto de Redis cajas. Tenga en cuenta la fragmentación no es automática: tiene que ser implementado por el cliente o la aplicación. También pone algunas restricciones en las operaciones que usted puede hacer en su base de datos (por ejemplo, no sería posible en el lado del servidor para calcular la intersección de dos conjuntos presentados por diferentes instancias Redis).

    Respecto a la pregunta 2, una sola instancia Redis no es un sistema distribuido. Se trata de un remoto almacén centralizado. Ahora mediante el uso de varias instancias Redis, usted puede construir un sistema distribuido. Porque es un do-it-yourself, usted puede decidir hacer un CP o sistema AP.

    Una única instancia puede replicar su actividad a los esclavos casos (que son, por lo tanto, finalmente, en consonancia con el maestro). La aplicación puede elegir conectar siempre con el maestro para leer y escribir. En ese caso, usted puede obtener un sistema CP. También puede escribir en el maestro, y leer en todos los casos (incluidos los esclavos), por lo que puede obtener de un sistema AP. Me dijo «puede», porque requiere de algunas obras significativas para construir tales sistemas en la parte superior de Redis.

    Puede mezclar la fragmentación y maestro/esclavo de replicación para construir el sistema distribuido que usted necesita. Sin embargo, Redis sólo proporciona los cimientos para ello. Especialmente, ofrecen muy poco para lidiar con la resistencia y HA (y la dirección de la P en el teorema del CAP). De la OMI, Redis sentinel por sí sola no es suficiente para apoyar una HA Redis de configuración, puesto que sólo cubre la administración de roles. Necesita complementar con un administrador de recursos, y poner una gran cantidad de lógica en el cliente/aplicación.

    Hay un proyecto llamado Redis Clúster, cuyo propósito es proporcionar un minimalista listos-para-usar sistema distribuido, pero aún carece de muchas cosas, y no es utilizable sin embargo, para la producción de propósito.

    Si usted necesita un off-the-shelf distribuidos de la tienda, Redis es probablemente no es una buena opción. Va a ser mejor servido por Cassandra, Riak, MongoDB, Couchbase, Aerospike, el Clúster MySQL, Oracle NoSQL, etc … sin Embargo, si usted quiere construir su propio sistema especializado, Redis es un excelente componente para generar.

    • Así ,su información es muy importante y sobre el punto para mí.Desde su descripción , redis no es realmente adecuado para mí, ya que tenemos interés en la creación de un sistema especializado,sólo un off-the-shelf base de datos NoSQL de almacenamiento de 100G+ datos.Estoy ahora pagan más attentiont a mongoDB y couchDB.
    • También, creo que Redis es una buena solución para almacenamiento en caché y no almacenar el conjunto de datos. Así, es posible almacenar una fragmentación de los datos para un uso frecuente y de acceso.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea