Prólogo
Llevo varias décadas trabajando en el desarrollo de software para grandes empresas, y la gestión de datos siempre ha sido una cuestión arquitectónica importante. Al principio de mi carrera, había mucho entusiasmo por un único modelo de datos para toda la empresa, a menudo almacenado en una única base de datos para toda la empresa. Pero pronto aprendimos que tener una plétora de aplicaciones accediendo a un almacén de datos compartido era un desastre de acoplamiento ad hoc. Incluso sin eso, existían problemas más profundos. Las ideas centrales de una empresa, como un "cliente", requerían modelos de datos diferentes en las distintas unidades de negocio. Las adquisiciones corporativas enturbiaron aún más las aguas.
Como respuesta, las empresas más sabias han descentralizado sus datos, trasladando el almacenamiento, los modelos y la gestión de datos a distintas unidades de negocio. De este modo, las personas que mejor conocen los datos de su dominio son las responsables de gestionarlos. Colaboran con otros dominios a través de API bien definidas. Como estas API pueden contener comportamientos, tenemos más flexibilidad para decidir cómo se comparten esos datos y, lo que es más importante, cómo hacemos evolucionar la gestión de datos con el tiempo.
Aunque esto ha sido cada vez más el camino a seguir para las operaciones cotidianas, el análisis de datos ha seguido siendo una actividad más centralizada. Los almacenes de datos pretendían proporcionar un repositorio empresarial ...