Usage général les bases de données que de ne jamais supprimer ou mettre à jour les données sur place

Je suis très inspiré par l'approche de la gestion des données préconisée par Rich Hickey, et mis en œuvre dans Datomic, où les données ne sont jamais muté en place, toutes les versions sont toujours préservé et requête-mesure, et le temps est un concept de première classe.

Bien sûr, il existe des bases de données spécialisées correspondant à cette description, comme Git, ou tout autre système de contrôle de source. La question est de savoir si il y a de tout (plus ou moins) à usage général SGBD-es de relationnel, graphique, hiérarchique, un document ou toute autre saveur qui peut être utilisé efficacement dans, disons, un e-commerce de l'application Web. Ou est Datomic le seul choix alors?

  • Je pense que les deux le BerkeleyDB Java Edition et CouchDB comme ça en interne. Mais dans les deux cas, il y a "la récupération d'espace" processus de purge des anciens données et je ne sais pas si l'histoire est vraiment exposé comme un concept de première classe (par opposition à "juste" être utilisé pour faire des travaux d'isolation de transaction).
  • C'est le droit. Je suis avec CouchDB droit maintenant. La vue' map-reduce fonctions ne peuvent pas accéder aux anciennes versions.
  • Il y a aussi Git Ketch qui est a multi-master Git management system that replicates information across multiple Git servers for resilience and scalability., ajouter ici git extensions pour les fichiers binaires volumineux et bénéficiez d'une capacité de stockage adaptée pour certains types d'applications.
  • Apache HBase ne pas muter des données sont en place et les versions précédentes queryable.
  • Je pense que Google Clé est telle base de données, c'est à dire old versions of data are subject to configurable garbage-collection poli- cies; and applications can read data at old timestamps. and F1 maintains a logical history log of all changes, which is written into Spanner itself as part of every transaction. F1 takes full snapshots of data at a timestamp to initialize its data structures, and then reads incremental changes to update them.. Son spin-off CockroachDB peut avoir des caractéristiques identiques.
  • Noms est versionné, forkable, syncable, ajouter seulement de la base de données. Il est possible de voir toute l'histoire de la base de données
  • Il y a aussi Bigtable
  • LiteTree SQLite avec des Branches
  • github.com/sirixdb/sirix
  • juxt.pro/crux