写入缓存和写入顺序

发布于 2024-10-08 22:06:02 字数 293 浏览 4 评论 0原文

假设我们有一些二进制文件 (.log) 和写入操作序列,例如 log1、log2、log3,每个文件都有一些块大小 n(原始数据)。

问题:即使我的缓存级别(磁盘硬件和操作系统级别)很少,我能否确定 log1、log2 和 log3 序列可以按照正确的顺序写入一个文件中?

更新 非常感兴趣的是,如果我们出现软件或硬件故障(重新启动或其他原因),记录顺序(而不是记录)会发生什么。

更新 可能会有一定比例的写入失败,但主要问题是:写入顺序会保持正确吗?

Let's say we have some binary file (.log), and sequence of write operations, for example log1, log2, log3 and each has some block size n (raw data).

question: can I be sure that log1,log2 and log3 sequences can be written in the correct order in ONE file, even if i have few cache levels (disk hardware and OS level)?

update
very interested in what will be with records order (not with records) if we have software or hardware failure (reboot or another reason).

update
there can be some percent of write failures, but main question is: will write order stay correct?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

若水般的淡然安静女子 2024-10-15 22:06:02

这取决于文件系统。如果您使用事务性文件系统(例如事务性NTFS)执行某些操作,那么您将获得一定的保证。如果您不使用事务性文件系统,那么您对硬件故障情况下发生的情况的保证就少得多。

It depends on the file system. If you are doing something with a transactional file system (e.g. Transactional NTFS) then you get certain guarantees. If you aren't using a transactional file system, then you get far less guarantees about what happens in hardware failure situations.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文