Soy nuevo en el teorema de CAP. ¿Qué letra se descarta (C o A) en las configuraciones comunes de bases de datos distribuidas?

CAP no tiene nada que ver con las estrategias de replicación utilizadas por los administradores de datos “monolíticos”, que es el contexto habitual de las nociones de “maestro-maestro” o “maestro-esclavo”. En estos entornos, todo el conjunto de datos está destinado a mantenerse en la “cosa principal” y la “otra cosa”.

Muchas de las bases de datos distribuidas inherentemente de NoSQL usan arreglos “en anillo” que son similares, en principio, a los esquemas RAID utilizados por los controladores de disco (y más recientemente SSD): se usa algún tipo de clave de fragmentación para esencialmente “dividir” los datos en varios instancias del servidor, por lo que si uno falla, puede usar los datos almacenados en otras instancias para “ponerse al día” con el servidor una vez que vuelva a funcionar o para reconstruirlo por completo si está muerto y reemplazado por una instancia vacía que comienza “en blanco”.

La mayoría de los sistemas de bases de datos de los que he escuchado que implementan arquitecturas como las anteriores generalmente apuntan a Consistencia (sistemas de bases de datos) versus Disponibilidad (la mayoría de estas arquitecturas tienen un “nodo activo” que acepta escrituras y envía errores si la escritura original no lo hace) t pasar) y Tolerancia de partición (esencialmente la propiedad “RAIDy” anterior en el contexto de una base de datos).

Apache Cassandra, que más conozco, tiene varias configuraciones de quórum de “quórum” (computación distribuida) para establecer el número de nodos de instancia que desea requerir para aceptar una escritura antes de que devuelva “éxito” a la aplicación. Esto le permite controlar el nivel de consistencia que desea (a costa de un rendimiento de escritura efectivo).

Este libro (gratuito, en línea) responde a esta pregunta con cierta profundidad. Sistemas distribuidos

Y este blog también lo cubre: Sistemas distribuidos, en teoría y en la práctica.

Y esto solo en: “Por favor, deje de llamar a las bases de datos CP o AP”.

En algunos sistemas, la disponibilidad se ve comprometida, lo que provoca tiempos de respuesta para diferentes datos. Los datos locales son más rápidos y los datos no locales son más lentos.

También es importante recordar que no tiene que ser todo o nada. Puede haber niveles de compromiso.

Muchos de los sistemas tienen poca consistencia (la consistencia eventual no lo es), y con suficiente replicación, la tolerancia y la disponibilidad de la partición pueden ser buenas, por lo que supongo que C es el más maleable de los tres en la práctica.

More Interesting

Soy ingeniero de proyectos en Wipro con 2 años de experiencia. ¿Cuáles son las mejores opciones de carrera para mí en la industria de TI?

Tengo 33 años y no tengo trabajo. Tengo suficiente dinero para jubilarme cómodamente en otro país. ¿Debo intentar comenzar otra compañía o escapar de la carrera de ratas?

¿Por qué obtengo un valor negativo del coeficiente de elevación en un ángulo de ataque de cero grados para el perfil simétrico NACA 0012? La velocidad es de 200 m / s.

Quiero desarrollar una comprensión sólida de los pagos en línea. Supongamos que no tengo conocimiento en el área, pero tengo una buena formación técnica y mucha buena voluntad. ¿Dónde empiezo?

Tengo 20 años y soy de Europa del Este (Ucrania). ¿Cómo debo invertir $ 20k gratis si tengo la meta de convertirme en millonario antes de cumplir 27 años?

He aprobado la prueba escrita para MRPL y he recibido una llamada de entrevista. ¿Qué temas debo cubrir para la entrevista y qué debo hacer para impresionar al panel?

¡Tengo un canal de YouTube con toneladas de visitas y suscriptores! ¡Otras personas tienen un 50% menos de visitas y 5 veces más subs! ¿Qué estoy haciendo mal?

Quiero comprar una consola de videojuegos. ¿Cuál es mejor por debajo del precio de 15000?

Quiero comenzar a jugar Dungeons & Dragons. Como nunca antes había jugado, ¿cómo debo comenzar?

Estoy comprando mi primera bicicleta, ¿cuál debo elegir para la calle Bajaj Pulsar 150 o Bajaj Avenger 150 o debería considerar otra cosa?