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
数字货币交易系统架构 Python实现 黄毅[Image](/uploads/documents/0/1/a/3/01a3b6e6a4062a56456d19613708a3c2/p1_2.jpg) ## 数字货币交易系统架构 Python实现 黄毅 目录 CONTENTS >> 交易系统功能介绍 >> 交易系统架构设计 >> 钱包实现介绍   ## 1 交易系统功能介绍 ## 交易系统功能-基本概念 class Side(Enum): '下单方向' BUY = 0 SELL = 1 class Order(NamedTuple): self.taker.side  ## 交易系统功能-伪代码 @app.post('/limit_order') def limit_order(order: Order): # 冻结资金 lock_user_fund(order)0 码力 | 24 页 | 799.65 KB | 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
Rust 在算法交易中的实际应用与积极效应@Shanghai ## Rust 在算法交易中的实际应用 与积极效应 非凸科技首席架构师 乔丹 ## 公司介绍 上海非凸智能科技有限公司(简称“非凸科技”)成立于2018年,是国内领先的智能算法和交易系统服务公司,专注于智能算法交易领域的研究和开发。 公司正基于Rust生态,结合机器学习、深度学习等新兴技术,打造高效率、低延迟、高可靠、全内存高频交易平台,满足自身在量化行业交易业务的同时也为券商、量化私募 等众多大型金融机构提供优质的算法交易解决方案。 100+ 80亿+ 100+ 团队规模 日均成交额 合作机构  国家高新技术企业 科技型中小企业  智能投研技术联盟核心成员 ## 公司结构 50% 工程师 徐汇漕河泾 总部 浦东世纪汇 策略中心  ## 数字货币交易系统 Python实践 代少飞 目录 CONTENTS >> 常见问题 >> 数据库锁问题 >> 任务调度框架 >> 监控  ## 1 常见问题 • 队列数据丢失 • 队列挂掉 ● 负数资产 ● 冲钱一次,转两倍资产 RabbitMQ 撮合或者清算队列数据丢失订单摆上去,能交易却始终交易不了 RabbitMQ 大部分功能瘫痪 队列数据丢失 队列挂掉 负数资产 充一次转双倍 用户资产 用户发现自己资产为负数 钱包 用户充值一次 收到两次充值资金  视频存储 ## 结构化策略  ## 主题分类  PYTHON 30th ## 如何从零开始实现网格交易策略 从 Python 开始钱赚钱 @Zagfai 2019/10/20 ## 目录 理财 原理 >> 实现 优化  ## 程序化与量化交易  ## 网格策略 特点:1. 价格波动大;2 table>  ## 为什么 用网格策略交易虚拟币  自6月24起资产变化与投资币种对比0 码力 | 28 页 | 5.89 MB | 2 年前3
MoonBit月兔编程语言 现代编程思想 第四课 多元组, 结构体,枚举类型# 现代编程思想 多元组,结构体与枚举类型 Hongbo Zhang 基础数据类型:多元组与结构体 ## 回顾:多元组 • 多元组:固定长度的不同类型数据的集合 ☐ 定义: $ (\leq $ 表达式 $ \gt $ , $ \leq $ 表达式 $ \gt $ , $ \geq $ ) ☐ 类型:(<表达式类型>,<表达式类型>,...) ○ 例如: ■ 身份信息:("Bob" 3)\quad(\clubsuit,3)\\&\quad\vdots\end{aligned} $$ : Int : (Suit, Int) ## 结构体 - 元组的问题在于,难以理解其所代表的数据 (String, Int):一个人的姓名和年龄?姓名和手机号?地址和邮编? - 结构体允许我们赋予名称 o struct PersonalInfo { name: String; age: Int } o struct postal: Int } 通过名称,我们能明确数据的信息以及对应字段的含义 ## 结构体的定义 - 结构体的定义形如 struct <结构体名称> { <字段名>: <类型> ; ... } o struct PersonalInfo { name: String; age: Int} • 定义结构体的值时,形如 { <字段名>: <值> , .0 码力 | 26 页 | 435.86 KB | 2 年前3
C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型区间内的正数,非常方便。  ## 对稀疏数据结构造成的问题 - 如果这里的 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)。 












