CRDTs: La clave para la Consistencia Eventual Fuerte

2025-09-09
CRDTs: La clave para la Consistencia Eventual Fuerte

Los CRDT (Tipos de Datos Replicados sin Conflictos) son estructuras de datos que se pueden replicar en varios nodos, editar de forma independiente y fusionar sin problemas. Este artículo profundiza en cómo los CRDT logran la Consistencia Eventual Fuerte (SEC), un modelo más robusto que la consistencia eventual tradicional. La SEC garantiza que, incluso con actualizaciones independientes en varios nodos, los conflictos se resuelven de forma automática y determinista, lo que lleva a una baja latencia, una alta tolerancia a fallos y una funcionalidad sin conexión. El autor argumenta que los CRDT son bloques de construcción fundamentales para sistemas consistentemente eventualmente fuertes, con aplicaciones que se extienden mucho más allá de la edición colaborativa y las listas de tareas para varios jugadores, hasta las bases de datos distribuidas y más allá.

Leer más

NIH es más barato que la dependencia incorrecta

2025-07-18
NIH es más barato que la dependencia incorrecta

Este artículo cuestiona la suposición común de que las dependencias de software siempre son beneficiosas. El autor argumenta que las dependencias conllevan costos significativos, incluidas las curvas de aprendizaje, la sobrecarga de mantenimiento, los riesgos de seguridad y la complejidad de la implementación. Utilizando la base de datos TigerBeetle como ejemplo, el artículo destaca las ventajas de una política de 'cero dependencias'. Se propone un marco para evaluar las dependencias, que abarca la ubicuidad, la estabilidad, la profundidad, la ergonomía y la estanqueidad. Las llamadas al sistema POSIX, los códigos de control de terminal ECMA-48 y la plataforma web se utilizan para ilustrar la aplicación del marco. El artículo concluye instando a los desarrolladores a evaluar críticamente los costos y beneficios de las dependencias antes de tomar decisiones.

Leer más
Desarrollo

¿Quieren los archivos ser actores? io_uring y la convergencia de paradigmas computacionales

2025-01-04
¿Quieren los archivos ser actores? io_uring y la convergencia de paradigmas computacionales

En aplicaciones Linux de alto rendimiento, io_uring está revolucionando la interacción con el SO. Utiliza colas de envío y de completado, permitiendo E/S asíncrona sin esperar a las llamadas al sistema. Simplemente coloque las operaciones en la cola y continúe con el cálculo. Esto se asemeja notablemente al modelo Actor: los objetos envían mensajes para realizar cálculos concurrentes. El envío de operaciones a descriptores de archivos y la recepción asíncrona de respuestas en io_uring es sorprendentemente similar. Esto sugiere un cambio hacia un comportamiento de SO asíncrono y autónomo; los métodos tradicionales de llamada al sistema podrían ser una abstracción obsoleta.

Leer más
Desarrollo E/S Asíncrona