我们的系统当前正在将 tplog 备份到 S3。根据我所读到的内容,只需确保这些文件位于 kdb 期望的位置即可在 RDB 白天出现问题时进行恢复。
但是,我没有看到如何使用 tplogs 恢复 HDB 的说明。我试图创建另一个备份系统来将 hdb 文件夹也同步到 S3。设置和使用至少两倍的存储空间将需要更多的工作,并且是冗余的。因此,如果没有必要,那么我想避免这个额外的步骤。
如果我们失去对 HDB 文件夹的访问权限,是否有办法从 tplogs 恢复 HDB,或者我是否需要为 HDB 文件夹添加另一个备份系统?谢谢。
最佳答案
将日志文件重播到 HDB。
.Q.hdpf[`::;get `:tpLOgFile;.z.d;`sym]
根据我的经验,如果您从 TP 日志文件构建 HDB,请使用 get 函数加载 tp 日志文件并使用 dpft 保存它,这是高效的。
如果你想使用-11!
函数,那么你必须提供一个upd函数(-11!
从tp日志文件中读取每一行并调用upd函数,然后insert data to in memory table) 将数据加载到内存中,然后将数据保存到磁盘上。
在这两种情况下,您都必须将数据加载到内存中,但通过使用 get 函数,您可以跳过 upd 函数调用
-11!
函数对于构建 RDB 非常有效,因为它不会加载完整的日志文件。
有关更多详细信息,请阅读下面的链接 http://www.firstderivatives.com/downloads/q_for_Gods_July_2014.pdf
关于backup - 如何使用 tplogs 恢复 HDB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35665614/