Diseño de aplicaciones con uso intensivo de datos, 2nd Edición
by Martin Kleppmann, Chris Riccomini
capítulo 5. Codificación y evolución
Todo cambia y nada permanece.
Heráclito de Éfeso, citado por Platón en Cratilo (360 a. C.)
Las aplicaciones cambian inevitablemente con el tiempo. Se añaden o modifican características a medida que se lanzan nuevos productos, se comprenden mejor los requisitos de los usuarios o cambian las circunstancias empresariales. En Capítulo 2 introdujimos la idea de la capacidad de evolución: debemos aspirar a crear sistemas que faciliten la adaptación al cambio (consulta “Evolutividad: facilitar el cambio”).
En la mayoría de los casos, un cambio en las características de una aplicación también requiere un cambio en los datos que almacena. Quizás sea necesario capturar un nuevo campo o tipo de registro, o presentar los datos existentes de una nueva manera.
Los modelos de datos que comentamos en Capítulo 3 tienen diferentes formas de hacer frente a ese cambio.
Las bases de datos relacionales suelen asumir que todos los datos de la base de datos se ajustan a un esquema. Aunque
ese esquema se puede cambiar (mediante migraciones de esquema, es decir, sentencias ALTER), solo
un esquema está en vigor en un momento dado. Por el contrario, las bases de datos de esquema en lectura (“sin esquema”)
no imponen un esquema, por lo que la base de datos puede contener una mezcla de formatos de datos antiguos y nuevos
escritos en diferentes momentos (consulta “Flexibilidad del esquema en el modelo de documento”).
Cuando cambia un formato de datos o un esquema, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access