我必须创建数据库平面文件,我的主管说我必须为数据库创建disk_log模块(我们使用Erlang),但我不明白为什么我必须使用disk_log以及我们从中获得的优势是什么它。我读了关于disk_log的Erlang文档,但我也无法理解它。
答案 0 :(得分:0)
我对disk_log不熟悉,但很快就会对它进行略读,似乎它会被用作期刊。您可以通过期刊获得一些速度提升和稳健性。假设数据库每n个刻度将其状态写入磁盘,则速度会提高但不具有鲁棒性。减少文件I / O,但在这些滴答之间,您会在发生崩溃时保留未保存的数据。向日志写入可能导致数据库状态更改的事件可能比编写数据库状态更改更快,但仍然允许您在发生崩溃时进行恢复。
答案 1 :(得分:0)
这与Erlang编程语言有关。它有一个名为" disk-log"的模块。我从其手册中获得了以下细节。
disk_log是一个基于磁盘的术语记录器,可以有效地记录文件上的项目。支持两种类型的日志,暂停日志和包装日志。暂停日志将项目附加到单个文件,其大小可能受磁盘日志模块限制,也可能不受磁盘日志模块的限制,而换行日志使用一系列有限大小的自动换行日志文件。当一个包装日志文件被填满后,其他项目将被记录到序列中的下一个文件中,当最后一个文件被填满时,将从第一个文件开始。为了提高效率,项目始终作为二进制文件写入文件。