【发布时间】:2012-02-10 01:14:13
【问题描述】:
我使用 Websphere MQ,它默认带有“基于文件的队列”。所以每个队列通常在磁盘上都有一个物理文件。
因此,假设对于这个 Websphere MQ 队列,我们有多个读取器和写入器......我假设在读取和写入之间会有一些“毫秒锁定”开销,但我保证它仍然会比使用完整数据库更快像 DB2 等。
现在我已经使用 SQLite 实现了一个队列,它可以在 WAL 模式下愉快地在生产环境中工作。
我的问题是,您真的认为 WebSphere MQ 等产品使用的基于文件的队列或基于 SQLite 的队列之间的 SPEED 存在巨大差异吗?毕竟两者都是基于文件的,而且 SQLIte 是纯 ANSI C 的事实在速度方面做得很好。
SQLite 确实提供了一些额外的功能,例如“更新挂钩”等......以及许多其他功能。
我想我想知道的是,如果您要在 C 中实现一个高速持久队列,您会以与 WebSphere MQ 类似的方式来执行它,并在单个文件中包含不同偏移量等的消息,还是会你在 WAL 模式下使用 SQLIte?
感谢您的帮助;-)
【问题讨论】: