Es posible que su esquema deba modificarse con el tiempo para adaptarse a los cambios en los requisitos técnicos. Cuando su esquema cambie, puede usar patrones de diseño de esquemas para conservar la estructura original de sus documentos. Al conservar versiones históricas de documentos y esquemas, evita migraciones de esquemas que consumen mucho rendimiento y tiempos de inactividad.
Casos de uso
Utilice patrones de control de versiones cuando sus requisitos de datos cambien y desee conservar los datos históricos en su formato original. Los patrones de control de versiones son más útiles cuando su aplicación cumple alguna de estas condiciones:
El tiempo de inactividad de la aplicación no es una opción para la migración.
La actualización de los documentos al nuevo esquema puede tardar horas, días o semanas.
Actualizar los documentos al nuevo esquema no es un requisito.
Los patrones de versiones le ayudan a decidir cómo se llevan a cabo las migraciones de datos y proporcionan más flexibilidad en relación con las bases de datos tabulares.
Considere estos casos de uso de aplicaciones específicas para patrones de versiones:
Una compañía de seguros permite a sus clientes modificar su póliza para asegurar artículos adicionales. Cuando un cliente cambia su póliza, la compañía mantiene un registro de los cambios a lo largo del tiempo. La compañía utiliza el patrón de Versiones de Documentos para realizar un seguimiento de las revisiones de la póliza, almacenando cada actualización en un documento independiente. Los datos históricos se almacenan en una colección independiente y no afectan las consultas sobre los datos actuales.
Una empresa almacena la información de contacto de sus clientes. En el esquema original, se utilizaban diversos métodos de contacto, como
homePhone,cellPhoneyemailse almacenan en campos individuales. Con el tiempo, menos clientes tienenhomePhonenúmeros, por lo que la empresa modifica el esquema para trasladar la información de contacto a uncontactsdocumento genérico, que tiene subcampos variables. Tras el cambio de esquema, la empresa implementa el patrón de control de versiones del esquema y añade unschemaVersioncampo para indicar a la aplicación cómo debe consultar cada documento.
Tareas
Para aprender cómo mantener un historial de cambios en documentos y esquemas, consulta estas páginas: