AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 2313
Accepted
Sebastien Diot
Sebastien Diot
Asked: 2011-04-22 10:03:31 +0800 CST2011-04-22 10:03:31 +0800 CST 2011-04-22 10:03:31 +0800 CST

描述“持久事务”的正确术语是什么?

  • 772

我有点像零管理 OODBMS 的管理员,但我主要从事编程工作。

我记得几年前读过一些 SQL 数据库,它有一个类似永久事务的概念。它可能是 Sybase。不管怎样,那个“东西”是什么,就像你开始的一个事务,它在连接之间持续存在,你可以用它来运行“正常”的事务。它基本上为您提供了该数据库的“视图”,该数据库可能与主数据库不同,但在同一台服务器上运行,因此共享大部分资源,而不必拥有它的“自己的”服务器。我希望你现在明白我的意思了。

无论如何,那种东西叫什么,它在现代数据库中是否仍然可用。特别是,是否有任何奇特的分布式 NoSQL 数据库可以做到这一点?

我问的原因是因为我可以使用类似的东西在主数据库上运行我的软件的下一个版本的暂存,这样我就不需要拥有一个与主系统一样强大的暂存系统,而且同步从主要到测试的更改的麻烦/带宽。我会开始“永久事务”,测试新软件几天,可能会让一些用户预览,完成后丢弃更改。然后我进行真正的部署,并为下一个版本启动一个新的“永久事务”......

注意:我无法放置有意义的标签,因为这是我的第一篇文章,我没有发明标签的权利,而且没有像“持久”、“永久”甚至“长期运行”这样的东西......

transaction
  • 2 2 个回答
  • 605 Views

2 个回答

  • Voted
  1. Best Answer
    Gaius
    2011-04-22T14:24:04+08:002011-04-22T14:24:04+08:00

    我明白您的意思,我们使用NetApp FlexClones在存储上执行此操作。FlexClone“看起来”就像一个文件系统的副本,但磁盘上的底层块是写时复制的,因此它实际占用的唯一空间是您所做的更改的空间。

    然而,克隆并不是像重做日志那样的变化流。NetApp 的工作方式是,您在文件系统级别看到的每个块实际上只是指向“真实”存储上的块的指针。创建 FlexClone 只是复制指针列表的问题,因此它是一个非常轻量级的操作。当您更改 FlexClone 上的块时,指针将移动到新块,并复制原始块,然后照常进行。这有两个有趣的含义:

    1. 更改一次块后,您可以继续更改任意多次 - 它不会占用更多存储空间
    2. 初始 COW 完成后,访问 FlexClone 的速度与访问真实卷的速度相同。

    我们通常会将主数据库置于热备份模式(对于 Oracle,但由于它在存储上,这将适用于具有等效模式的任何数据库),FlexClone 存储,使用 NFS 将克隆安装到(小得多的)测试服务器上,然后创建一个新的控制文件,根据需要从存档的重做日志中恢复数据库并使用resetlogs. 默认情况下,我们允许 10% 的“快照保留”(即您最多可以更改克隆的 10%),但这是完全可配置的——您可以将其设置为 100% 并进行“拆分”,这也会创建一个独立的副本。这项技术(使用一些巧妙的 shell 脚本)已将我网站上创建测试环境的时间从 3 天以上缩短到几分钟,我是它的超级粉丝。

    • 3
  2. BillThor
    2011-04-22T14:40:07+08:002011-04-22T14:40:07+08:00

    我认为您正在寻找断开连接的数据集。它确实使事务管理复杂化,因为您无法维护数据库锁。

    JDBC 驱动程序允许数据集与数据库断开连接。

    • 1

相关问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    您如何显示在 Oracle 数据库上执行的 SQL?

    • 2 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    我可以查看在 SQL Server 数据库上运行的历史查询吗?

    • 6 个回答
  • Marko Smith

    如何在 PostgreSQL 中使用 currval() 来获取最后插入的 id?

    • 10 个回答
  • Marko Smith

    如何在 Mac OS X 上运行 psql?

    • 11 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Marko Smith

    将数组参数传递给存储过程

    • 12 个回答
  • Martin Hope
    Manuel Leduc PostgreSQL 多列唯一约束和 NULL 值 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler 什么时候应该将主键声明为非聚集的? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - 哪个更好作为主键? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick 如何优化大型数据库的 mysqldump? 2011-01-04 13:13:48 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve