当前位置: 首页 > news >正文

网站策划论坛无线设置网站

网站策划论坛,无线设置网站,网站开发实用技术电子版,微信采集wordpress文章目录 LevelDB 中各种文件的作用SSTWALMANIFESTCURRENTLOCKLOG LevelDB 中各种文件的作用 在 LevelDB 中,有以下几种类型的文件: SST(Sorted String Table) 文件名为xxx.ldb,存储实际的 Key-Value 数据。 WAL(Write Ahead Log) 文件名为xxx.log&…

文章目录

  • LevelDB 中各种文件的作用
    • SST
    • WAL
    • MANIFEST
    • CURRENT
    • LOCK
    • LOG

LevelDB 中各种文件的作用

在 LevelDB 中,有以下几种类型的文件:

  • SST(Sorted String Table) 文件名为xxx.ldb,存储实际的 Key-Value 数据。

  • WAL(Write Ahead Log) 文件名为xxx.log,记录最近的写操作,以便在系统崩溃后恢复数据。

  • MANIFEST 文件名为MANIFEST-xxx,记录了数据库的当前状态。

  • CURRENT 文件名为CURRENT,指向当前使用的 MANIFEST 文件,用于快速定位数据库状态

  • LOCK 文件名为LOCK,防止数据库被多个进程同时访问

  • LOG 文件名为LOG,日志输出

SST

SST 文件是 LevelDB 中存储实际 Key-Value 数据的文件。

WAL

当我们往 LevelDB 中写入一对 Key-Value 时,其大概流程是:

  1. 会往 WAL 中写入一条记录,我们可以简单表示成 Add Key: key_a, Value: value_a
  2. 将这对 Key-Value 写入内存中的 MemTable。

当内存中的 MemTable 大小达到阈值时,会将 MemTable 写入到磁盘,变成 SST 文件。

倘若我们将 Key-Value 写入 MemTable 后,在 MemTable 写入磁盘之前,系统崩溃了,那么这条记录就会丢失。为了防止这种情况,LevelDB 会将每一条写操作都记录到 WAL 中,这样即使系统崩溃,我们也可以通过 WAL 来恢复 MemTable 中的数据,保证数据不丢失。

MANIFEST

如何理解 MANIFEST 记录了数据的当前状态呢?

其实就是记录了当前 LevelDB 中有哪些 SST 文件,每个 SST 的大小,SST 里 Key 的范围,SST 属于哪个 Level,等等。

当我们打开一个已经存在的数据库目录时,LevelDB 怎么知道上次关闭数据库时的状态呢?各个 SST 文件都属于哪个 Level?

通过读取 MANIFEST 文件,LevelDB 就可以知道上次关闭数据库时的状态,将数据库恢复到上次关闭时的状态。

CURRENT

CURRENT 文件中存储的是当前正在使用的 MANIFEST 文件。

当创建新的 MANIFEST 文件时,LevelDB 会先更新 CURRENT文件,使其指向新的 MANIFEST 文件,然后再将旧的 MANIFEST 文件删除。

倘若没有 CURRENT 文件,新 MANIFEST 文件创建后,还没来得及删除旧的 MANIFEST 文件,系统就崩溃了,那么 LevelDB 恢复时就不知道当前正在使用的 MANIFEST 文件是哪个,也就无法恢复到正确的状态。

LOCK

LevelDB 只允许一个进程访问数据库,为了实现这个功能,LevelDB 会在数据库目录下创建一个 LOCK 文件,当进程访问数据库时,会先尝试获取这个文件的锁,如果获取成功,说明当前没有进程访问数据库,可以继续访问;如果获取失败,说明当前已经有进程在访问数据库,就不能再访问了。

LOG

LOG 文件用于记录数据库的运行状态和一些重要的事件。以下是一些可能出现在LOG文件中的信息:

  • 数据库的打开和关闭:当数据库被打开或关闭时,会在LOG文件中记录这个事件。

  • 数据写入:当数据被写入数据库时,会在LOG文件中记录这个事件,包括写入的键值对的信息。

  • 数据删除:当数据被从数据库中删除时,会在LOG文件中记录这个事件,包括被删除的键的信息。

  • 错误和异常:如果在运行过程中发生错误或异常,会在LOG文件中记录这个事件,包括错误或异常的详细信息。

  • 压缩操作:当进行压缩操作时,会在LOG文件中记录这个事件,包括压缩的级别和涉及的文件。

  • MemTable和SST文件的创建和删除:当创建或删除MemTable和SST文件时,会在LOG文件中记录这个事件。

http://www.yayakq.cn/news/469712/

相关文章:

  • 宁波市铁路建设指挥部网站开发板arduino
  • 肇庆 网站建设wordpress 批量
  • 域名转移 网站访问什么是企业网站源码
  • 手机网站快速排名网站推广方式案例
  • 邯郸市有搞网站服服务的吗电子商务网站建设与管理第二版答案
  • 百度云怎么做网站成品网站货源1277
  • 网站制作营销型建设营销网站要什么
  • 成都网站优化及推广如何提高网站的知名度
  • 广告联盟网站建设平面设计和网页设计哪个工资高
  • 网站设计扁平化wordpress 重复标题
  • 做创业网站赚钱seo翻译
  • 公司做分享网站好吗wordpress为什么安装不了
  • 网站防注入做网站多少钱
  • 视频网站建设 可行性报告沪尚茗居装修价格怎样
  • 职高门户网站建设标准有趣又有深意的广告
  • 通过wordpress建站大青海网app
  • 网站建设在哪个会计科目核算做电子杂志的网站
  • 湖南郴州建设局网站品牌策划案范本
  • 哈尔滨公司做网站哪个网站可以做担保交易平台
  • 做网站一般注意些什么青岛即墨区最新事件
  • html5网站都有那个北京网站建设公司分享网站改版注意事项
  • 网站建设你懂的Wordpress 订阅 插件
  • 哪个网站做课件能赚钱郑州最新新闻事件今天
  • 河南代做网站电子版合同平台
  • 汕头网站制作推荐网站程序上传教程
  • 南昌市会做网站有哪几家官方网站 优帮云
  • 洛阳网站建设 培训网站建设合同定义
  • 公司网站建设的工具公司简介模板英语
  • 如何使网站能被百度搜到如何建设一个普通网页网站
  • 知名网站建设怎么样如何用本机电脑做网站服务器吗