TokuDB索引结构## TokuDB索引结构 网易杭州研究院---胡争(博客:openinx.github.io) ## TokuDB简介 - 基于分形树实现的MySQL存储引擎 • Tokutek公司2007年研发,2013年开源 • 2015年Percona公司收购Tokutek公司 • TokuDB内部的K-V存储引擎为ft-index • TokuMx: ft-index + MongoDB Server层代码 • 超高压缩率(TokuDB 4M vs InnoDB 16K) 更高性能,更低成本! ## 分形树索引结构(一)  ## 分形树结构(二) • msg buffer - 先进先出队列 • BasementNode (OMT) - 弱平衡二叉树 弱平衡二叉树 – 增删改查期望复杂度 $ O(\log N) $ • 页大小默认4M。 - 扇出fanout默认 $$ 4,16 $$ 区间。 ## 分形树结构(三) ## • 叶子节点 - 数据量维持在 $$ 1M,4M $$ 区间 - 数据量小于1M则合并 - 数据量大于4M则分裂。 ## • 非叶子节点 - 扇出(fanout)维持在 $$ 4,16 $$ 区间 - 扇出小于4则合并0 码力 | 19 页 | 1.97 MB | 2 年前3
Java 应用与开发 - Java EE 体系结构# Java 应用与开发 Java EE 体系结构 王晓东 wangxiaodong@ouc.edu.cn 计算机科学与技术系 November 6, 2018  ## 参考书目 1. 吕海东,张坤编著,Java EE 企业级应用开发实例教程,清华大学出版社,2010 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、WebWork 软件系统采用分层结构和设计模式 MVC 工厂化流水线开发模式 CVS 可视化软件建模 UML、RUP、ROSE ## 软件开发现状 面向 Internet 开发企业级 Web 应用 面向对象 OOA/OOD/OOP,Java、C# 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE、MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC 工厂化流水线开发模式 CVS 可视化软件建模 UML、RUP、ROSE ## 软件开发现状 面向 Internet 开发企业级 Web 应用 面向对象 OOA/OOD/OOP,Java、C#0 码力 | 40 页 | 1.89 MB | 2 年前3
2.1.3 如何用go module构建模块化跨链平台GOPHER CHINA 2020 中国 上海 / 2020-11.21-22 如何用go module构建模块化跨链平台 汪小益 趣链科技 ’ alt=‘OCR图片’/> 什么是区块链 跨链的重难点分析 跨链平台架构设计 Go module和plugin 的应用实践 GOPHER CHINA 2020 中国 上海 / 2020-11.21-22 1 什么是区块链 GOPHER 21-22 1 什么是区块链 — 交易 交易指的是一次对账本的操作,如一笔转账交易。 区块 将一段时间内发生的所有交易和状态打包成为一个区块。 块链式数据结构 (狭义区块链) 区块以时间顺序前后相连,组成一种块链式数据结构,即“区块链”一词的由来。 分布式账本 (广义区块链) 多参与方各自部署,互联互通,构成分布式网络。 GOPHER CHINA 2020 1 异构区块链生态 币/模式 跨链交易存在性和有效性 跨链事务难 隐私保护和权限控制 GOPHER CHINA 2020 跨链平台架构设计 GOPHER CHINA 2020 中国 上海 / 2020-11.21-22 跨链传输协议 IBTP结构的 Fabric交易示例 From 来源链ID To 目的链ID Index 跨链交易索引 Timestamp 跨链事件发生的时间戳 Payload 跨链调用内容编码 Proof 跨链交易证明 Version0 码力 | 27 页 | 1.24 MB | 1 月前3
C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南CMake # 现代 CMake 模块化项目管理指南 彭于斌 (@archibate) 课件 & 源码:https://github.com/parallel101/course 往期录播:https://space.bilibili.com/263032155 ## 第一章:文件 / 目录组织规范 基于 CMake 的 C/C++ 项目,如何优雅地、模块化地组织大量源文件? ## 推荐的目录组织方式0 码力 | 56 页 | 6.87 MB | 2 年前3
QCon2018北京-基于深度学习的视频结构化实践-姚唐仁jpg) QCon 全球软件开发大会 INTERNATIONAL SOFTWARE DEVELOPMENT CONFERENCE BEIJING 2018 # 《基于深度学习的视频结构化实践》 # 七牛云 AI实验室首席架构师 / 姚唐仁 主办方 Geekbang > InfoQ 极客邦科技  视频存储 ## 结构化策略  ## 主题分类  ## 对稀疏数据结构造成的问题 - 如果这里的 x 是负数,则 x % B 也是负数,会造成对 m block 的越界访问。 - 因此 % 会返回负数对 CFD 用户来说是个很大的坑点,很多人想当然地用 % 做循环边界,然而这对负方向会不起作用。 的整除运算 a // b 的值始终是向下取整,非常方便。 >>> -7 // 4 -2 >>> 7 // 4 1 >>> ## 对稀疏数据结构造成的问题 - 也就是说,如果 x 是 [-3,0] 则 x/B 会是 0,如果 x 是 [0,3] 则 x/B 也是 0。导致两个同时跑到一个 block 上去,会出错。 void write(int unordered_map) • pointer 指针(本例中的 Block1) • dense 稠密(本例中的 Block) • 他们之间可以相互组合,形成更复杂的稀疏数据结构。 - 下面这个例子中的稀疏数据结构,用这种语言可以表示为 hash().pointer(11).dense(8)。  // 输出 10 7. } ## 变量 • 我们可以将带有可变字段的结构体看作是引用 $$ var x=1 $$ $$ \begin{array}{r|r}x&1\\\hline x=2\end{array} $$ $$ let ref=\{val:1\} $$ $$ ref.val=10 $$ $$ mut  ## 别名 - 指向相同的可变数据结构的两个标识符可以看作是别名 1. fn alter(a: Ref[Int], b: Ref[Int]) { 2. a.val = 10 3. b.val = 20 4. } 5. 60 码力 | 23 页 | 780.46 KB | 2 年前3
Computer Programming with the Nim Programming Language0 码力 | 508 页 | 3.53 MB | 1 年前3
Julia 1.6.4 Documentation0 码力 | 1324 页 | 4.54 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













