代码之家  ›  专栏  ›  技术社区  ›  faceclean

在内存中运行postgresql是个好主意吗?

  •  0
  • faceclean  · 技术社区  · 16 年前

    最近,我们正致力于将我们的软件从通用PC服务器迁移到一种使用 Disk on module (DOM)

    我的同事坚持认为,由于DOM只能支持大约100万次的写操作,因此我们应该在RAM磁盘中完全运行数据库,并将数据库备份到DOM。

    1. 用户触发器

    2. 每30分钟

    3. 每次数据库中有添加/更新/删除操作时

    正如我们期望用户只在安装系统时修改数据库一样,我认为postgresql可能不会经常编写。

    但我对postgresql了解不多,我无法判断它是否值得这么麻烦,以及哪种方法更好。

    你觉得怎么样?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Tobu    16 年前

    SSD的任何固件都可以缓解SSD的磨损问题。有时这些芯片组做得不好,或者把责任留给别人。在这种情况下,您可以使用一个文件系统,该文件系统被设计为自行完成磨损平衡。 UBIFS LogFS 是合适的文件系统。

        2
  •  1
  •   Peter Eisentraut    16 年前

    你可以做的是让整个程序在RAM磁盘上运行,并让一些操作系统进程备份 原子的 永久储存。这需要仔细的文件系统和内核支持。如果你的设备大部分时间都处于开机状态,这可能会起作用,但如果你像电视机一样打开或关闭设备,这可能不会太好,因为恢复时间可能会很烦人。

    替代方案是使用更嵌入式的RDBMS,如SQLite,或使用能够处理PostgreSQL的存储系统,如最近的固态驱动器,尽管一些SSD具有虚假的缓存设置,可能使其不适合PostgreSQL。