Btree在kafka消息持久化方面的应用
来源:互联网 发布:iphone手机阅读软件 编辑:程序博客网 时间:2024/06/06 01:45
消息系统元数据的持久化数据结构往往采用BTree。 BTree是目前最通用的数据结构,在消息系统中它可以用来广泛支持多种不同的事务性或非事务性语义。 它的确也带来了一个非常高的处理开销,Btree运算的时间复杂度为O(log N)。一般O(log N)被认为基本上等于常量时长,但对于磁盘操作来讲,情况就不同了。磁盘寻道时间一次要花10ms的时间,而且每个磁盘同时只能进行一个寻道操作,因而其并行程度很有限。因此,即使少量的磁盘寻道操作也会造成非常大的时间开销。因为存储系统混合了高速缓存操作和真正的物理磁盘操作,所以树型结构(tree structure)可观察到的性能往往是超线性的(superlinear)。更进一步讲,BTrees需要一种非常复杂的页面级或行级锁定机制才能避免在每次操作时锁定一整颗树。实现这种机制就要为行级锁定付出非常高昂的代价,否则就必须对所有的读取操作进行串行化(serialize)。因为对磁盘寻道操作的高度依赖,就不太可能高效地从驱动器密度(drive density)的提高中获得改善,因而就不得不使用容量较小(< 100GB)转速较高的SAS驱动去,以维持一种比较合理的数据与寻道容量之比。
0 0
- Btree在kafka消息持久化方面的应用
- 应用图在地图方面的应用
- RabbitMQ消息的持久化
- 四.消息的持久化
- kafka持久化原理
- Kafka---数据持久化
- ACE在服务器编程方面的应用
- matlab 在排列组合方面的应用 (1)
- matlab 在排列组合方面的应用 (2)
- PHP在安全方面的另类应用
- 计算机视觉在工业方面的应用
- TL431在电源方面的应用
- jQuery Mobile在微信建站方面的应用
- 声测管在修建方面的应用
- 关于PGM在OCR方面的应用
- HBase在标签方面的应用
- UI在游戏方面的应用
- JWT在身份认证方面的应用
- va_start(), va_arg(), va_end() 宏定义的解释
- Jquery的模拟事件,input模拟focus
- 正则表达式笔记 4 分支条件 逻辑操作符 |
- [C/C++标准库]_[初级]_[读写中文路径的文件--写入unicode字符串]
- Partition List
- Btree在kafka消息持久化方面的应用
- liferay-tomcat注册服务的方法和之后产生的乱码问题的解决办法
- JNI中cpp文件编写,解决Unresolved inclusion问题
- SpringMvc 配置 hibernate
- (数学,大数运算)Consecutively Increasing Sequences_ACdream原创群赛(17)のacmer never retire
- 展讯8825分区表
- Cocos2d-x利用jni调用java层代码
- js中格式化日期
- VC++中使用_RecordSetPtr总结