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
1.4 Go在区块链的发展和演进Go和区块链 BITMAIN | 姜家志 GO在区块链的发展和演进 以太坊 2.90% GO 10.20% C++ 9.15% Java 8.08% Python 3.99% Linux 3.99% 系统架构 3.54% MOST POPULAR LANGUAGES Detail view (select year/s): 2008 2009 2010 central repositories. Go在区块链项目中是最流行的语言之一 GitHub in blockchain Go语言发展至今已经过去十年多了,是目前最流行的新兴语言,云计算领域的首选语言,而且目前随着区块链的流行,Go再次成为了这个领域的第一语言,以太坊,IBM的fabric等重量级的区块链项目都是基于Go开发。 我理解的区块链 区块链的是什么 去中心化系统 数字化账本 不可篡改 不可篡改 确定性的可复制状态机 Go 区块链的特点 1 去中心化、弱中心化 2 弱信任,对等的写入权限 数据库 3 共识信任机制,信任来自 于规则,非第三方 4 不可篡改 5 加密安全性、强规则 6 可编程 7 匿名性 8 跨平台 区块链使用什么编程语言 最初的时代 A Peer-to-Peer Electronic Cash System 2008年11月1日,由Satoshi Nakamoto发表论文0 码力 | 32 页 | 10.24 MB | 1 月前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.2 如何用GO开发一个区块链项目如何用GO开发一个区块链项目:ABitchain ’ alt=‘OCR图片’/> ABitchain 目录 区块链简单介绍 如何开发区块链 区块链遇见Go ’ alt=‘OCR图片’/> 区块链特征 1 去中心化 2 可信任的机器,防篡改分布式数据库 3 通过密码学构建账户体系 4 共识,P2P通信是交易基础 区块链数据形态 Genesis block 链ID初始代理数据初始挖矿数据其他规则 链ID初始代理数据初始挖矿数据其他规则 交易1 交易2 区块N 区块头 前区块HASH Nonce随机数 时间戳 交易1 交易2 区块链发开模块 A 共识模块 B 账号地址生成算法 P2P是怎么实现通信的 D 智能合约 智能Pending区规则简单介绍 区块数据底层存储 常见的共识算法 1 POW (Proof of Work) 2 POS ( Proof of Stake ) 3 DPOS 下图是以Achain地址生成为例详细说明生成过程: ’ alt=‘OCR图片’/> ABitchain C. P2P实现通信 Kad路由表: 基于Kademlia(简称Kad)一种分布式哈希表技术,构建了P2P网络拓扑结构。 启动时候生成节点编号。 例如:距离000000011 (3)映射到K2桶中。 路由表中会预置公共节点 循环更新到本地路由表 I 距离 邻居 0 [20,21) (IP address0 码力 | 21 页 | 3.56 MB | 1 月前3
2.4 基于Go-Ethereum构建DPOS机制下的区块链基于Go-Ethereum构建DPOS机制下的区块链 恺英网络一朱崇文 ’ alt=‘OCR图片’/> 目录 1 Go版本以太坊 2 为何选择DPOS机制 3 拓展共识改造实战 4 智能合约的实践 5 压力测试下暴露的问题 GopherChina2018 ’ alt=‘OCR图片’/> Go版本以太坊 ’ alt=‘OCR图片’/> Go版本以太坊 以太坊的工具组 ’ alt=‘OCR图片’/> DPOS机制的优势 系统可靠性 在商业场景下,网络性能可控 对异常情况能快速处理并恢复 对TPS/QPS,以及确认性能有一定要求 区块链可信 以公有链为基础,可对外开放 任何人都可以参与,设立理事会和见证人角色 理事会管理区块链网络 见证人生产并验证区块 ’ alt=‘OCR图片’/> ’ alt=‘OCR图片’/> 拓展共识改造实战 共识框架引擎一改造共识层逻辑 GopherChina2018 ChainReader) []rpc.API GopherChina2018 } ’ alt=‘OCR图片’/> 拓展共识改造实战 共识框架引擎一Seal核心方法调用 Import Block 其他节点产生区块 // Seal generates a new block for the given input block with the local miner’s GopherChina2018 ’0 码力 | 34 页 | 2.01 MB | 1 月前3
大规模高性能区块链架构设计模式与测试框架-李世敬## 大规模高性能区块链架构 设计模式与测试框架 Gopher Meetup 深圳站 2021年8月21号 趣科技 李世敬 ## 目录 01 区块链概述 02 大规模高性能区块链架构设计介绍 03 基于Go插件的区块链性能测试工具 04 写在最后 ## 01 区块链概述 ## 区块链诞生 区块链是互联网发展到一定阶段的必然产物,是在低成本、高效、快捷的基础上 jpg) 互联网 可信 普适 信息 物理世界 ## 区块链发展历程 ## 中本聪 - 中本聪发表了比特币的创世论文《比特币:一种点对点的电子现金系统》,标志着区块链作为一项完整的集成创新技术正式诞生 ## 2008 ## R3 CEV区块链联盟 - 全球银行巨头组建成立R3 CEV 区块链联盟,致力于探索区块链技术在金融行业的应用产品,自此联盟链技术逐渐获得广泛关注 ## ## 2015 ## 比特币Bitcoin 比特币诞生,是世界上首个区块链应用系统。发展至今有力地证明了区块链技术的创新性、颠覆性和顽强的生存能力 ## 2009 ## 超级账本Hyperledger - Linux 基金会成立了 Hyperledger开源项目,IBM、Intel、摩根大通等企业加入,开始企业级区块链应用平台的研发 ## 2015 趣链Hyperchain在同一时期开始研发0 码力 | 39 页 | 56.58 MB | 2 年前3
FISCO BCOS 3.0.0-rc2 中文文档by TCPDF (www.tcpdf.org) 1 FISCO BCOS 区块链 2 版本信息 3 搭建第一个区块链网络 4 开发第一个区块链应用 5 关键概念 6 网络搭建 7 配置管理 8 网络维护 9 创建和使用账户 10 开发和使用智能合约 11 多种语言SDK 12 区块链功能接口列表 13 使用链上信使 14 开发期问题排查 15 开发部署工具(build_chain.sh) 16 命令行交互控制台 17 WeBASE管理平台 18 区块链浏览器 19 运维部署工具 20 数据治理通用组件 21 多方协作治理组件 22 区块链应用开发组件 23 整体架构 749 24 区块链交易流程 755 25 数据结构与编码协议 761 26 核心模块设计解析 765 27 MVP 849 贡献者 857 29 合作伙伴 861 30 深入浅出 FISCO BCOS 871 31 社区资源和更多开源工具 1451 FISCO BCOS 是一个稳定、高效、安全的区块链底层平台,经过多家机构、多个应用,长时间在生产环境运行的实际检验。 注解:本技术文档适用于FISCO BCOS 2.x版本,FISCO BCOS 3.0+技术文档请参考 FISCO BCOS 30 码力 | 1459 页 | 97.77 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)。 












