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
云原生虚拟数仓 PieCloudDB 的架构和关键模块实现0 码力 | 43 页 | 1.14 MB | 1 年前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
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
《Redis使用手册》(试读版)违者必究。 ## 目录 以下是《Redis使用手册》一书的完整目录,其中标题后面带 * 的大章都在本文档提供了试读。 前言 $ ^{*} $ 1. 引言 $ ^{*} $ 第一部分:数据结构与应用 2. 字符串 (String) * 3. 散列 (Hash) * 4. 列表 (List) * 5. 集合 (Set) * 6. 有序集合 (Sorted Set) 7 数据库 $ ^{*} $ 12. 自动过期 $ ^{*} $ 13. 流水线与事务 $ ^{*} $ 14. Lua 脚本 15. 持久化 16. 发布与订阅 17. 模块 第三部分:多机功能 18. 复制 $ ^{*} $ 19. Sentinel 20. 集群 附录 附录 A:Redis 安装方法 $ ^{*} $ 附录 B:redis-py 除了变得越来越受欢迎之外,Redis 在过去数年的另一个变化就是更新速度越来越快,功能也变得越来越多、越来越强大:比如说,Redis 的数据结构数量已经从过去的五种增加到了九种,RDB-AOF 混合持久化模式的引入使得用户不必再陷入“鱼和熊掌不可兼得”的难题中,而集群功能和模块机制的引入则让 Redis 在性能和功能上拥有了近乎无限的扩展能力。 综上所述,我们可以说现在的 Redis 跟五年前比起来已经完全不一样了,而如何向读者讲述新版0 码力 | 352 页 | 6.57 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













