电话:0731-83595998
导航

2021年国家电网校园招聘考试计算机专业知识点:子表数据存储及读写操作

来源: 2020-05-18 09:45
  1. 子表数据存储及读写操作
在数据的存储方面Bigtable作出了一个非常重要的选择,那就是将数据存储划分成两块。较新的数据存储在内存中的一个称为内存表(Memtable)的有序缓冲里,较早的数据则以SSTable格式保存在GFS中。这种技术在数据库中不是很常用,但Google还是作出了这种选择,实际运行的效果也证明Google的选择虽然大胆却是正确的。
从图2-18中可以看出读和写操作有很大的差异性。做写操作(Write Op)时,首先查询Chubby中保存的访问控制列表确定用户具有相应的写权限,通过认证之后写入的数据首先被保存在提交日志(Commit Log)中。提交日志中以重做记录(Redo Record)的形式保存着最近的一系列数据更改,这些重做记录在子表进行恢复时可以向系统提供已完成的更改信息。数据成功提交之后就被写入内存表中。在做读操作(Read Op)时,首先还是要通过认证,之后读操作就要结合内存表和SSTable文件来进行,因为内存表和SSTable中都保存了数据。
在数据存储中还有一个重要问题,就是数据压缩的问题。内存表的空间毕竟是很有限的,当其容量达到一个阈值时,旧的内存表就会被停止使用并压缩成SSTable格式的文件。在Bigtable中有三种形式的数据压缩,分别是次压缩(Minor Compaction)、合并压缩(Merging Compaction)和主压缩(Major Compaction)。三者之间的关系如图2-19所示。
每一次旧的内存表停止使用时都会进行一次压缩操作,这会产生一个SSTable。但如果系统中只有这种压缩的话,SSTable的数量就会无限制的增加下去。由于读操作要使用SSTable,数量过多的SSTable显然会影响读的速度。而在Bigtable中,读操作实际上比写操作更重要,因此Bigtable会定期的执行一次合并压缩的操作,将一些已有的SSTable和现有的内存表一并进行一次压缩。主压缩其实是合并压缩的一种,只不过它将所有的SSTable一次性压缩成一个大的SSTable文件。主压缩也是定期执行的,执行一次主压缩之后可以保证将所有的被压缩数据彻底删除,如此一来,既回收了空间又能保证敏感数据的安全性(因为这些敏感数据被彻底上出了)。
 

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端