有没有真正耐用的数据库?

什瑞恩·耆那教

我正在阅读http://www.h2database.com/html/advanced.html#durability_problems,我发现

有些数据库声称它们可以保证持久性,但这种说法是错误的。针对 H2、HSQLDB、PostgreSQL 和 Derby 运行了持久性测试。所有这些数据库有时都会丢失已提交的事务。该测试包含在 H2 下载中,请参阅 org.h2.test.poweroff.Test

它还说

在不能接受丢失交易的情况下,应使用笔记本电脑或 UPS(不间断电源)。

那么是否有任何数据库是持久的。该文档说明了 fsync() 命令,大多数硬盘驱动器不遵守 fsync()。它还谈到没有可靠的方法来刷新硬盘缓冲区

那么,是否有一段时间后提交的事务会变得持久,所以我们可以购买UPS,以提供最少的电源备份。

还有一种方法可以知道提交的事务是持久的。假设我们不购买 ups,并且在知道交易是持久的后,我们可以显示成功消息。

菲利普·H

问题取决于您是否可以指示 HDD/SDD 将事务提交到持久媒体。如果大容量存储设备没有刷新到耐用介质的功能,那么它上面的任何数据存储系统都可以说是真正耐用的。

然而,有很多内置 UPS 的 NAS 设备,这些设备似乎符合持久媒体的要求 - 如果单独服务器上的数据库将数据提交到该设备并执行检查点,则提交将刷新到媒体。只要媒体在停电后还能幸存下来,就可以说它经久耐用。NAS 上的 UPS 应该能够向其关联的磁盘组发出受控关闭,以保证持久性。

或者,您可以使用 SQL Azure 之类的东西,它将提交写入不同服务器上的多个 (3) 独立数据库存储实例。尽管我们不知道这些写入是否曾经到达永久存储介质,但这实际上并不重要——持久性的衡量标准是读取可重复性;这似乎满足了这个要求。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有更有效的更新数据库值的方法?

来自分类Dev

有没有办法更改Realm数据库中的数据类型?

来自分类Dev

有没有办法删除PouchDB中的所有数据库(没有给定名称)

来自分类Dev

有没有一种通用的方法可以从数据库填充对象?

来自分类Dev

有没有办法检查远程数据库是否存在?

来自分类Dev

有没有办法安排对Firebase数据库的编辑?

来自分类Dev

有没有办法为Meteor指定Mongo数据库名称?

来自分类Dev

隐藏所有没有mysql数据库结果的html表

来自分类Dev

如何使用JPA春季插入记录到数据库的时候有没有冲突

来自分类Dev

有没有编写可以将CRUD插入数据库的简单Strapi插件的示例?

来自分类Dev

有没有办法知道何时从缓存中将文档与数据库同步?

来自分类Dev

Postgres和Ruby-有没有更好的方法来构建数据库?

来自分类Dev

有没有办法减少数据库的命中数

来自分类Dev

有没有办法知道数据库是否为空?

来自分类Dev

有没有什么工具可以监视对Redshift数据库的传入请求?

来自分类Dev

有没有一种方法可以加速数据库事务?

来自分类Dev

有没有更好的方法将项目预加载到数据库中?

来自分类Dev

有没有办法安排对Firebase数据库的编辑?

来自分类Dev

有没有办法为Meteor指定Mongo数据库名称?

来自分类Dev

隐藏所有没有mysql数据库结果的html表

来自分类Dev

有没有将Cucumber / Watir / Ruby测试结果写入数据库的好方法?

来自分类Dev

有没有办法获取正在运行的数据库的名称?

来自分类Dev

有没有办法在领域数据库中重置用户的密码

来自分类Dev

有没有办法使用按钮和 php 删除我的数据库行

来自分类Dev

有没有办法使用 Kotlin 将 CSV 文件导入 SQLite 数据库?

来自分类Dev

我的数据库已替换为新数据库。有没有办法找回旧数据库?

来自分类Dev

有没有从数据库中没有EF加载提供程序信息的创建DbCompiledModel的方法?

来自分类Dev

没有数据库的分页

来自分类Dev

没有从数据库获得结果

Related 相关文章

  1. 1

    有没有更有效的更新数据库值的方法?

  2. 2

    有没有办法更改Realm数据库中的数据类型?

  3. 3

    有没有办法删除PouchDB中的所有数据库(没有给定名称)

  4. 4

    有没有一种通用的方法可以从数据库填充对象?

  5. 5

    有没有办法检查远程数据库是否存在?

  6. 6

    有没有办法安排对Firebase数据库的编辑?

  7. 7

    有没有办法为Meteor指定Mongo数据库名称?

  8. 8

    隐藏所有没有mysql数据库结果的html表

  9. 9

    如何使用JPA春季插入记录到数据库的时候有没有冲突

  10. 10

    有没有编写可以将CRUD插入数据库的简单Strapi插件的示例?

  11. 11

    有没有办法知道何时从缓存中将文档与数据库同步?

  12. 12

    Postgres和Ruby-有没有更好的方法来构建数据库?

  13. 13

    有没有办法减少数据库的命中数

  14. 14

    有没有办法知道数据库是否为空?

  15. 15

    有没有什么工具可以监视对Redshift数据库的传入请求?

  16. 16

    有没有一种方法可以加速数据库事务?

  17. 17

    有没有更好的方法将项目预加载到数据库中?

  18. 18

    有没有办法安排对Firebase数据库的编辑?

  19. 19

    有没有办法为Meteor指定Mongo数据库名称?

  20. 20

    隐藏所有没有mysql数据库结果的html表

  21. 21

    有没有将Cucumber / Watir / Ruby测试结果写入数据库的好方法?

  22. 22

    有没有办法获取正在运行的数据库的名称?

  23. 23

    有没有办法在领域数据库中重置用户的密码

  24. 24

    有没有办法使用按钮和 php 删除我的数据库行

  25. 25

    有没有办法使用 Kotlin 将 CSV 文件导入 SQLite 数据库?

  26. 26

    我的数据库已替换为新数据库。有没有办法找回旧数据库?

  27. 27

    有没有从数据库中没有EF加载提供程序信息的创建DbCompiledModel的方法?

  28. 28

    没有数据库的分页

  29. 29

    没有从数据库获得结果

热门标签

归档