Parte II. Sistemas distribuidos

Un sistema distribuido es aquel en el que el fallo de un ordenador que ni siquiera sabías que existía puede inutilizar tu propio ordenador.

Leslie Lamport

Sin los sistemas distribuidos de, no podríamos hacer llamadas telefónicas, transferir dinero o intercambiar información a larga distancia. Utilizamos sistemas distribuidos a diario. A veces, incluso sin reconocerlo: cualquier aplicación cliente/servidor es un sistema distribuido.

Para muchos sistemas de software modernos, el escalado vertical (escalar ejecutando el mismo software en una máquina más grande y rápida, con más CPU, RAM o discos más rápidos) no es viable. Las máquinas más grandes son más caras, más difíciles de sustituir y pueden requerir un mantenimiento especial. Una alternativa de es escalar horizontalmente: ejecutar el software en varias máquinas conectadas a través de la red y que funcionen como una única entidad lógica.

Los sistemas distribuidos pueden diferir tanto en tamaño, desde un puñado a cientos de máquinas, como en características de sus participantes, desde pequeños dispositivos portátiles o sensores a ordenadores de alto rendimiento.

La época en que los sistemas de bases de datos se ejecutaban principalmente en un único nodo ya pasó, y la mayoría de los sistemas de bases de datos modernos tienen varios nodos conectados en clusters para aumentar la capacidad de almacenamiento, mejorar el rendimiento y aumentar la disponibilidad.

Aunque algunos de los avances teóricos ...

Get Internos de la base de datos now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.