Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Si has trabajado en ingeniería de software en los últimos años, especialmente en sistemas de servidor y backend, probablemente te habrán bombardeado con una plétora de palabras de moda relacionadas con el almacenamiento y procesamiento de datos. ¡NoSQL! ¡Big Data! ¡Escala web! ¡Fragmentación! ¡Consistencia eventual! ACID ¡Teorema CAP! ¡Servicios en la nube! MapReduce ¡En tiempo real!
En la última década hemos asistido a muchos avances interesantes en las bases de datos, en los sistemas distribuidos y en la forma de crear aplicaciones sobre ellas. Hay varias fuerzas impulsoras de estos avances:
-
Empresas de Internet como Google, Microsoft, Amazon, Facebook, LinkedIn, Netflix y Twitter manejan enormes volúmenes de datos y tráfico, lo que les obliga a crear nuevas herramientas que les permitan gestionar eficazmente tal escala.
-
Las empresas necesitan ser ágiles, probar hipótesis de forma barata y responder rápidamente a las nuevas perspectivas del mercado, manteniendo los ciclos de desarrollo cortos y los modelos de datos flexibles.
-
El software libre y de código abierto ha alcanzado un gran éxito y ahora se prefiere al software comercial o interno a medida en muchos entornos.
-
Las velocidades de reloj de las CPU apenas aumentan, pero los procesadores multinúcleo son estándar, y las redes son cada vez más rápidas. Esto significa que el paralelismo sólo ...