tikv是什么_10千伏高压变频器工作原理

tikv是什么_10千伏高压变频器工作原理RocksDB的介绍,TIKV介绍

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

TiKV架构

tikv是什么_10千伏高压变频器工作原理

TiKV作用、

  1. 数据持久化
  2. 分布式一致性
  3. MVCC
  4. 分布式事物
  5. Coprocessor

数据持久化

写入操作tikv是什么_10千伏高压变频器工作原理

WAL: Write Ahead Log预写日志,数据线通过WAL写入日志(直接落盘sync_log=true),然后再写入缓存;可以防止掉电丢数;一般默认2个WAL文件,数据落盘成功后即可清理;

数据将先写入内存的MemTable,当数据量超过write_buffer_size大小后,数据将会转存到immutable中,将immutable刷盘后即SST文件,从而防止写阻塞;MemTable同时服务于读和写;

如果immutable达到5个会触发流控,限制写入速度,write stall;记录于日志中;可以优化存储或者调高immutable数量来提高写入速度;

tikv是什么_10千伏高压变频器工作原理

 Level 0 和immutable中文件的复刻;

Level0 达到4个的时候会向Level 1合并-compaction;会做压缩和排序;形成一个压缩的有序文件

当Level 1达到256M的时候会继续向Level2进行合并;

每一层都会切分成多个SST文件,每个SST文件都是键值对文件;对于每个文件使用二分法进行查找键值信息;

删除和更新的时候直接操作MemTable中即可,待查询的时候MemTable会直接返回;

RocksDB查询操作

tikv是什么_10千伏高压变频器工作原理

 Block Cache: 最近,高频访问的数据存储在Block Cache中;

其次依次按照写入最新时间查找MemTable;

再其次按从磁盘中的Level 0依次往后查找到SST文件;

根据查找的KEY 判断是否在SST的min_key和max_key中间; 布隆过滤器判断如果KEY不在,则查找下一个SST文件,如果数据在该SST文件,则二分法查找;

Column Families–CF 列簇

tikv是什么_10千伏高压变频器工作原理

 CF属于RocksDb的数据分片技术,可以将数据的键值对按照不同的属性分配给不同的CF,可以让某些内存和SST文件中存的都是相同类型的数据,可以极大地增加读写的效率、提升数据压缩率;

 落数的时候会自带CF1、CF2、default 来决定落入哪个分片中;

内存和SST文件都按照CF分了,但是WAL没有按照CF区分;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/190104.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • java pfx 证书_Java将pfx证书转换为jks[通俗易懂]

    java pfx 证书_Java将pfx证书转换为jks[通俗易懂]packagecom.yangangus.util;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.security.Key;importjava.security.KeyStore;importjava.security.cert.Certifica…

  • C++使用函数模板

    C++使用函数模板

  • 菜鸟看源码之ArrayDeque

    菜鸟看源码之ArrayDeque先扯点别的:今天上海风不小,现在窗外依然是狂风呜咽,不禁让人想起山科的风。今天分析一下ArrayDeque的源码ArrayDeque的继承关系图ArrayDeque实现了Deque接口,内部使用一个可调整大小的数组来存放元素。数组没有容量限制,必要的时候数组的容量会增加。ArrayDeque不是线程安全的。不允许添加Null元素。当ArrayDeque作为一个栈来使用的时候,Ar…

  • git 常用命令大全

    git 常用命令大全

  • 不止一个背包的背包问题_背包问题 java

    不止一个背包的背包问题_背包问题 java有 N 个物品和一个容量是 V 的背包。物品之间具有依赖关系,且依赖关系组成一棵树的形状。如果选择一个物品,则必须选择它的父节点。如下图所示:如果选择物品5,则必须选择物品1和2。这是因为2是5的父节点,1是2的父节点。每件物品的编号是 i,体积是 vi,价值是 wi,依赖的父节点编号是 pi。物品的下标范围是 1…N。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行有两个整数 N,V,用空格隔开,分别表示物品个数和背包容量。接下来有 N

  • 动作识别调研

    动作识别调研图片来自电影’QuoVadis'(拉丁语,何去何从)(1951)。在发生什么?这些演员正要亲吻对方,还是已经这样做了?《你往何处去?QuoVadis?》,这部完成于一八九六年的著作,

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号