Cómo los ingenieros lucharon contra el teorema CAP en la guerra global contra la latencia

Cómo los ingenieros lucharon contra el teorema CAP en la guerra global contra la latencia

CockroachDB EC-1 Parte 2: Diseño técnico

CockroachDB estaba destinado a ser una base de datos global desde el principio. Los fundadores de Cockroach Labs querían asegurarse de que los datos escritos en una ubicación pudieran verse inmediatamente en otra ubicación a 10,000 millas de distancia. El caso de uso fue simple, pero el trabajo necesario para que esto sucediera fue enorme.

La compañía está apostando por la granja a que puede resolver uno de los mayores desafíos para las aplicaciones a escala web. El enfoque que está adoptando es inteligente, pero es un poco complicado, especialmente para el lector no técnico. Dada su historia y talento en ingeniería, la compañía está en proceso de lograrlo y tener un gran impacto en el mercado de bases de datos, convirtiéndola en una tecnología que vale la pena comprender. En resumen, es valioso profundizar en los detalles.

El uso de la función multirregional de CockroachDB para segmentar los datos de acuerdo con la proximidad geográfica cumple con la directiva principal de Cockroach Labs: obtener los datos lo más cerca posible del usuario.

En la parte 1 de este EC-1, proporcioné una descripción general y un vistazo a los orígenes de Cockroach Labs. En esta entrega, cubriré los detalles técnicos de la tecnología con miras al lector no técnico. Voy a describir la tecnología de CockroachDB a través de tres preguntas:

¿Qué hace que leer y escribir datos en una geografía global sea tan difícil? ¿Cómo aborda CockroachDB el problema? ¿Qué significa todo esto para quienes usan CockroachDB? ¿Qué hace que leer y escribir datos en una geografía global sea tan difícil?

Spencer Kimball, director ejecutivo y cofundador de Cockroach Labs, describe la situación de esta manera:

Hay muchas otras cosas que debe tener en cuenta al crear aplicaciones globales, especialmente en torno a la gestión de datos. Tomemos, por ejemplo, el sitio web de preguntas y respuestas Quora. Digamos que vive en Australia. Tiene una cuenta y almacena los detalles de su identidad de usuario de Quora en una partición de base de datos en Australia.

Pero cuando publica una pregunta, en realidad no desea que esos datos se publiquen en Australia. Desea que los datos se publiquen en todas partes para que todas las respuestas a todas las preguntas sean las mismas para todos, en cualquier lugar. No quiere tener una situación en la que responde una pregunta en Sydney y luego puede verla en Hong Kong, pero no puede verla en la UE. Cuando ese es el caso, terminas obteniendo diferentes respuestas dependiendo de dónde te encuentres. Eso es un gran problema.

Leer y escribir datos en una geografía global es un desafío prácticamente por la misma razón por la que es más rápido recibir una pizza desde el otro lado de la calle que desde el otro lado de la ciudad. Se aplican las limitaciones esenciales de tiempo y espacio. Ya sea que se trate de datos digitales o de una pizza de pepperoni, cuanto más lejos esté de la fuente, más tardará en llegarle el material.


Source link