所有本机修订的数据库在哪里? [英] Where are all the native revisioned databases?

查看:392
本文介绍了所有本机修订的数据库在哪里?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已阅读所有的SO问题,编码恐怖文章和Googled我的大脑,寻找最好的方法来修订控制数据。他们都工作,他们都有基于用例等适当的实现。我真正想知道的是,为什么没有一个数据库被写入本机支持修订在数据级?

I've read all the SO questions, the Coding Horror articles, and Googled my brains off searching for the best ways to revision control data. They all work and they all have their appropriate implementations based on use cases and so on. What I really want to know is why hasn't a database been written to natively support revisioning on the data-level?

我困惑的是,已经实际上与交易。我们开始一个事务,更改一些数据,并提交。我们正在对数据库进行身份验证,所以指责是存在的。我的公司存储我们整个数据库的月末版本,用于会计目的,相当于标签。这不是尖叫RCS?

What I am baffled with is that the API is already practically in place with transactions. We start a transaction, change some data, and commit. We are authenticating against the database too so blame is present. My company stores end of month versions of our entire database for accounting purposes which equate to tags. Does this not scream RCS?

分支是一个数据库可以从大大受益于模式而不是数据。因为我真的只关心数据,这将增加实现的难度,我将坚持只是标签和提交。

Branching is something that databases could benefit from greatly too in regards to schema more than data. Since I really only care about data and this would increase the difficulty of implementation by a massive degree I'll stick to just tags and commits.

现在我知道数据库令人难以置信的时间关键应用程序,所以任何不必要的开销避免被遗忘,一些数据库是史诗级巨大,修订版只会取得这个大小。每个表,选择性修订控制无疑在中小型环境中有一个地方,在这些环境中有几毫秒的空间,而数据历史具有一定的重要性。我想要提交,我想要日志,我想要还原,我想要的差异,我想怪,我想要的标签,我想要结帐。我想要MF修复控制。

Now I know that databases are incredibly time-critical applications so any unnecessary overhead is shunned into oblivion and some databases are epic-level huge and revisions will only exponentiate that size. A per-table, opt-in revision control undoubtedly has a place in small to medium scale environments where there are milliseconds to spare and data history has a degree of importance. I want commits, I want logs, I want reverts, I want diffs, I want blame, I want tags, and I want checkouts. I want MF-ing revision control.

我有一个问题在某处...

I have a question in there somewhere...

推荐答案

一个本地解决方案是Oracle的闪回数据库(aka总回忆)。这是一个额外的企业版收费,但它是相当酷。它透明地存储数据的版本,只要我们想要保留它,并提供语法查询旧版本的数据。

One native solution is Oracle's Flashback Database (aka Total Recall). It is a chargeable extra to the Enterprise Edition, but it is pretty cool. It transparently stores versions of the data for as long as we want to retain it, and supplies syntax to query old versions of the data. It can be enabled on a table-by-table basis.

基本上,Flashback DB就像使用触发器在跟踪表中存储记录,但是光滑,高性能和不可见的正常加工。

Essentially Flashback DB is like using triggers to store records in tracking tables, but slick, performant and invisible to normal working.

这篇关于所有本机修订的数据库在哪里?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆