una tipos sirve que para informatica ejemplos definicion datos clasificacion caracteristicas bases database immutability survey database-versioning datomic

database - tipos - Bases de datos de propósito general que nunca eliminan o actualizan datos en el lugar



para que sirve una base de datos (2)

Estoy muy inspirado por el enfoque de gestión de datos defendido por Rich Hickey e implementado en Datomic , donde los datos nunca se modifican en el lugar, todas las versiones siempre se conservan y se pueden consultar, y el momento es el primero concepto de clase.

Por supuesto, hay bases de datos especializadas que coinciden con esa descripción, como Git, o cualquier otro sistema de control de origen. La pregunta es si hay algunos (más o menos) DBMS de propósito general de relacionales, gráficos, jerárquicos, documentos o cualquier otro sabor que pueda usarse efectivamente, por ejemplo, en una aplicación web de comercio electrónico. ¿O es Datomic la única opción entonces?


Existe un enfoque para diseñar sistemas con la idea de nunca eliminar o mutar datos llamados Event Sourcing. Básicamente, la idea es almacenar eventos (o hechos) que cambian el estado del sistema, en lugar de instantáneas del estado. La historia de los eventos se puede reproducir más adelante para producir una cierta proyección específica del propósito de cómo se veía el estado en cualquier momento. Las múltiples proyecciones construidas para diferentes propósitos pueden coexistir en el sistema. Se puede encontrar más información en los siguientes sitios web:

Está en línea con lo que está describiendo, pero en lugar de ser solo un modelo de base de datos, el Sourcing de Eventos y la Segregación de Responsabilidad de la Consulta de Comandos (CQRS) prescriben una forma especial de diseñar todo el sistema, incluyendo la base de datos y las capas de lógica empresarial.

Hay algunos marcos que siguen este enfoque, tales como:

Si bien esto no responde directamente a su pregunta, puede proporcionar una perspectiva diferente sobre el problema.


Irmin es una base de datos distribuida que sigue los mismos principios de diseño que Git.