...un dibujo no debe tener líneas innecesarias y una máquina no debe tener piezas innecesarias. -William Strunk Jr., Elementos de estilo

En el libro Diseño de aplicaciones intensivas en datos: Las grandes ideas de los sistemas fiables, escalables y fáciles de mantenerMartin Kleppmann ha escrito sobre las características y compensaciones de los elementos de la infraestructura de datos para las aplicaciones modernas. En ese libro, ha dibujado la "Figura 1-1. Una arquitectura posible para un sistema de datos que combina varios componentes". Esto es una exploración de ese ejemplo y posible arquitectura con Couchbase.

Ejemplo 1:

La figura 1 es la arquitectura del libro.Figure 1: Modern data architecture

Utilicemos una base de datos moderna como Couchbase que simplifica la infraestructura proporcionando Caché, Base de datos, Buscar eny Tratamiento de eventos dentro del mismo producto. Uno por uno, podemos sustituir cada componente independiente por una función escalable en Couchbase función (en rojo).Figure 2. simplification.

 

Eliminemos las partes innecesarias para obtener la nueva arquitectura.Example 1. Architected with Couchbase

Ejemplo 2:   He añadido un caso de uso común adicional: análisis de datos y DataViz.

Después de usar la misma técnica para usar Couchbase y eliminar componentes innecesarios, obtenemos esto:

De nuevo, eliminemos las partes innecesarias para obtener la nueva arquitectura. Aquí, hemos explotado el Servicio de análisis disponible en Couchbase.

Esto no significa que todo pueda ser simplemente rediseñado para utilizar uno o dos productos. La tendencia de cualquier infraestructura es aumentar la complejidad. Más componentes aumentarán la complejidad. Esta es una guía para añadir, eliminar y refactorizar continuamente los componentes para cumplir su objetivo empresarial y luchar contra la complejidad.

Autor

Publicado por Keshav Murthy

Keshav Murthy es Vicepresidente de Couchbase R&D. Anteriormente, estuvo en MapR, IBM, Informix, Sybase, con más de 20 años de experiencia en diseño y desarrollo de bases de datos. Dirigió el equipo de I+D de SQL y NoSQL en IBM Informix. Ha recibido dos premios President's Club en Couchbase y dos premios Outstanding Technical Achievement en IBM. Keshav es licenciado en Informática e Ingeniería por la Universidad de Mysore (India), es titular de diez patentes estadounidenses y tiene tres pendientes.

3 Comentarios

  1. ¿Qué tiene que ver Mesos con algo como la ejecución de UDF?

    --- Texto incluido ---
    Por otro lado, las herramientas de despliegue y gestión de clústeres como Mesos, YARN, Docker, Kubernetes y otras están diseñadas específicamente para ejecutar código de aplicaciones. Al centrarse en hacer bien una cosa, son capaces de hacerlo mucho mejor que una base de datos que ofrece la ejecución de funciones definidas por el usuario como una de sus muchas características.

  2. ¿Qué significa que las transacciones serializables se ejecuten en un ámbito pequeño?

    --- Texto incluido ---
    Por ejemplo, un sistema de este tipo podría operar distribuido en múltiples centros de datos en una configuración multi-líder, replicando asíncronamente entre regiones. Cualquiera de los centros de datos puede seguir funcionando independientemente de los demás, ya que no es necesaria la coordinación síncrona entre regiones. Un sistema de este tipo tendría escasas garantías de puntualidad -no podría ser linealizable sin introducir coordinación-, pero aún así podría tener fuertes garantías de integridad.

    En este contexto, las transacciones serializables siguen siendo útiles como parte del mantenimiento del estado derivado, pero pueden ejecutarse en un ámbito pequeño donde funcionan bien.

  3. ¿Qué significa presentar anomalías de escritura?

    --- Texto incluido ---
    Personalmente he visto casos de MySQL fallando en mantener correctamente una restricción de unicidad y el nivel de aislamiento serializable de PostgreSQL exhibiendo anomalías de desviación de escritura, aunque MySQL y PostgreSQL son bases de datos robustas y bien consideradas que han sido probadas por mucha gente durante muchos años.

Dejar una respuesta