标签: journaling

MongoDB日记如何工作

这是我的看法,我不确定这是对还是错:

日记日志是"重做"日志.它记录了数据文件的修改.

例如,我想将一条记录的字段值从"a"更改为"b",然后mongodb将找到如何修改dbfile(包括所有命名空间,数据,索引等),然后mongodb写入修改期刊.

之后,mongodb对dbfile进行了所有真正的修改.如果这里出现问题,当mongoDB重新启动时,它将读取日志(如果存在).然后它将更改dbfile的alter以使数据集保持一致.

因此,在日志中,不会记录要更改的数据,而是如何更改dbfile.

我对吗?我在哪里可以获得有关期刊格式的更多信息?

journaling mongodb durability

8
推荐指数
1
解决办法
3911
查看次数

想为mongodb做一个增量备份.日记?OPLOG?

我想每天备份一个mongodb数据库,可能是mongodump.为了不丢失任何数据,我希望这是渐进式的,所以如果在一天中间出现问题,我需要能够重播当天的更改直到完成mongorestore之后的故障点.

我是否正确理解我需要使用oplog?还是记录答案?我尝试过以下操作:

  1. 将我的mongo数据库转换为只有一个的副本集,以便创建一个oplog.(这感觉非常hacky)
  2. 使用--oplog选项重新启动mongod
  3. 执行应记录在oplog中的更改

但是,没有任何东西存储在oplog中.进行此类增量备份的最佳方法是什么?我基本上都在寻找类似的方法来重放mysql binlog.

谢谢

backup binlog journaling mongodb

8
推荐指数
1
解决办法
1万
查看次数

Android文件系统日记功能

ext3有3个日记选项:journal,ordered和writeback.根据维基百科条目,这些范围从最小风险到最危险的崩溃恢复.出于某种原因,Android的Linux版本仅支持后两个选项,默认为回写.(我正在经营Froyo)

有没有办法添加对日记模式的支持?我想在/ data分区上执行此操作,这是ext3,也是大多数文件写入的地方.我的设备没有电池,所以当有人断电时,我需要确保它是防撞的.

如果有人感兴趣,Linux选项在kernel/fs/ext3/Kconfig中定义.具体选项是EXT3_DEFAULTS_TO_ORDERED.

linux filesystems android ext3 journaling

6
推荐指数
1
解决办法
1448
查看次数

MySQL事务日志

我正在开发一个项目,我们需要在我们的DBMS(MySQL)中使用"事务日志".我们已经切换到使用InnoDB以便将交易用于其他要求.我试图了解交易日记是什么.我一直在寻找一天,包括阅读MySQL文档.也许我只是不寻找合适的关键字,我不确定.或者"交易日记"可能是不恰当的术语.

据我所知,数据库事务日志与日记文件系统类似,因为在将日志提交到文件系统之前会对日志进行更改.从我读过的内容来看,听起来InnoDB引擎在将某些日志提交到磁盘之前将其存储在某种日志中.这听起来准确吗?如果是这样,交易日志在哪里?是ib_logfile0和ib_logfile1吗?

mysql innodb transactions journaling

6
推荐指数
1
解决办法
7999
查看次数

访问EXT3/EXT4期刊

ext3和ext4文件系统具有日志功能.有没有机会获得有关文件的详细信息和事件?

某种API允许User Space程序访问文件的日记条目.甚至是Journal事件(比如文件x被删除)

这似乎是某种文档,但我不确定它是否是正确的东西.

linux filesystems ext3 journaling ext4

6
推荐指数
1
解决办法
1373
查看次数

检查SQLite是否正在使用journal_mode = WAL或journal_mode = DELETE的函数

我正在寻找可以帮助我查看启用哪种日志记录模式的函数。.我也在这里查找 了函数列表有用于检查数据库状态sqlite3_db_status(....)的函数,但status参数没有用于检查日志记录的选项模式 有没有功能或任何方法可以找到sqlite db是使用WAL模式还是普通日志模式.. !!


sqlite journaling android-sqlite

6
推荐指数
1
解决办法
3586
查看次数

Mongo - 当关闭日记功能时,WriteConcern j选项会做什么?

当Write Concern jOption设置为true并且mongod在没有日志的情况下运行时,文档不清楚.这是否表明写入操作在确认已提交到数据库后将返回?或者写入操作可以在写入提交到数据库之前返回吗?我错误地想到了这个吗?

journaling mongodb nosql

6
推荐指数
1
解决办法
112
查看次数

清理Mongo日志文件

有没有办法重置日志文件.它会有任何影响吗?

现在我有一个2GB的日志文件,它占用了ec2的大量空间.

journal journaling mongodb

6
推荐指数
1
解决办法
5006
查看次数

MongoDB 写入和锁定流程

我最近读了很多关于 MongoDB 的文章,但我找不到任何明确的材料,即数据如何写入日志和 oplog。

到目前为止我对这个过程的理解是这样的,有错误的地方请指正

  • 客户端连接到 mongod 并执行写入。写操作存储在套接字缓冲区中
  • 当 Mongo 可用时(目前不确定可用意味着什么),数据会写入日志吗?
  • mongoDB 文档随后表示,每 60 秒写入一次就会从日志刷新到磁盘上。由此我只能假设这意味着写入主数据库和操作日志。如果是这种情况,如何写入早于 60 秒同步间隔?
  • 一段时间后,辅助节点从主节点或其同步源吸收数据并更新其操作日志和数据库。对于这种情况到底何时发生以及是什么延迟了似乎非常模糊。

我还想知道日志记录是否被禁用(我知道这是一个非常糟糕的主意),oplog 和数据库在什么时候更新?

最后,我有点困惑在这个过程中的哪些点上创建了写锁。这是仅在数据库和 oplog 更新时发生还是在其他时间发生?

感谢任何可以阐明这一点或向我指出一些阅读材料的人。

西蒙

replication journaling mongodb locks

5
推荐指数
1
解决办法
874
查看次数

关于 SQLite 中的journal_size_limit 的澄清

如果我设置journal_size_limit = 67110000(64 MiB),我将能够:

  1. 使用/提交超过该值的事务(有点不可能)
  2. 能够成功执行VACUUM(即使数据库有 3 GiB 或更多)

VACUUM 命令的工作原理是将数据库的内容复制到临时数据库文件中,然后用临时文件的内容覆盖原始文件。覆盖原始文件时,将使用回滚日志或预写日志 WAL 文件,就像用于任何其他数据库事务一样。这意味着在对数据库进行 VACUUM 操作时,所需的可用磁盘空间是原始数据库文件大小的两倍

文档中并不完全清楚,如果有人能确切地告诉我,我将不胜感激。

sqlite transactions pragma journal journaling

3
推荐指数
1
解决办法
1546
查看次数