TokuDB索引结构
TokuDB索引结构 网易杭州研究院---胡争(博客:openinx.github.io) TokuDB简介 • 基于分形树实现的MySQL存储引擎 • Tokutek公司2007年研发,2013年开源 • 2015年Percona公司收购Tokutek公司 • TokuDB内部的K-V存储引擎为ft-index • TokuMx: ft-index + MongoDB Server层代码 4M vs InnoDB 16K) 更高性能,更低成本! 分形树索引结构(一) 分形树结构(二) • msg_buffer – 先进先出队列 • BasementNode(OMT) – 弱平衡二叉树 – 增删改查期望复杂度O(logN) • 页大小默认4M。 • 扇出fanout默认[4,16]区间。 分形树结构(三) 分形树Insert/Update/Delete • 步骤:0 码力 | 19 页 | 1.97 MB | 1 年前3谈谈MYSQL那点事
使用三个文件定义一个表: .MYI .MYD .frm .MYI .MYD .frm • 少碎片、支持大文件、能够进行索引压缩 少碎片、支持大文件、能够进行索引压缩 • 二进制层次的文件可以移植 二进制层次的文件可以移植 (Linux (Linux Windows) Windows) • 访问速度飞快,是所有 访问速度飞快,是所有 MySQL MySQL 文件引擎中速度最快的 1M-8M 之间 设计合理的数据表结构:适当的数据冗余 设计合理的数据表结构:适当的数据冗余 对数据表建立合适有效的数据库索引 对数据表建立合适有效的数据库索引 数据查询:编写简洁高效的 数据查询:编写简洁高效的 SQL SQL 语句 语句 应用优化 应用优化 应用优化方式 应用优化方式 应用优化 应用优化 表结构设计原则 表结构设计原则 选择字段的一般原则是保小不保大,能用占用字节 STATUS STATUS 、 、 SHOW ENGINES SHOW ENGINES 使用 使用 DESC TABLE xxx DESC TABLE xxx 来查看表结构,使用 来查看表结构,使用 SHOW SHOW INDEX INDEX FROM xxx FROM xxx 来查看表索引 来查看表索引 使用 使用 LOAD DATA0 码力 | 38 页 | 2.04 MB | 1 年前3HBase最佳实践及优化
• 强一致性 • 无SQL语言支持 • 稀疏的多维映射表 – 列存储 – 只用row key来定位行 – 每行可以有不同的列 – 数据有多个版本(在不同的时间点的快照信息) • 分布式的多层次映射表结构(key-value形式,value有多个) – 固定一个数据模型(固定数据模型能得到高性能,同时满足应用 需求) – 无数据类型 Postgres Conference China 2016 支持一次性修改多行的API并不保证跨行的原 子性操作 – 一般情况下,API会在结果中分别返回执行成功、 失败以及超时的行操作列表 6 Postgres Conference China 2016 中国用户大会 HBase体系结构 7 Postgres Conference China 2016 中国用户大会 场景及应用 8 Postgres Conference China 2016 中国用户大会 9 HBase 在HBase擅长的场景至今尚未有可替代品 Postgres Conference China 2016 中国用户大会 典型用户案例:Data Storage • 场景 – 用于收集并存储非结构化以及半结构化数据 – 数据存储要求可靠 – 保证数据强一致性 – 数据可被排序以便提供低延时的随机查询 • 案例 – 原始日志查询系统 – 在线指标查询系统 • 主要组件 – HBase, Flume0 码力 | 45 页 | 4.33 MB | 1 年前3Greenplum 6: 混合负载的理想数据平台
Greenplum 6: 混合负载的理想数据平台 高小明 全球领先的开源MPP大数据平台 可扩展性 ACID事务 VS 分布式 简单易用 VS 结构化 半结构非结构化 VS 事务型 分析型 VS MPP - massively parallel processing - 大规模并行处理 master standby primary 3B Segment 3C Segment 3D 15 Pivotal Confidential–Internal Use Only 递归查询 表‘SALES’ 表‘SALES’ ■ 层次结构 ■ 树状结构 WITH RECURSIVE included_parts(sub_part, part, quantity) AS ( SELECT sub_part, part, quantity0 码力 | 52 页 | 4.48 MB | 1 年前3PieCloudDB Database 产品白皮书
【坚如大石) 的云原生虚拟数仓, 助力企业实现数据价值最大化,更好地赋能业务发展并走向绿色,成为新一代Al数据计算基础设施的一个典范。 PiecloudDB 产品架构 pieCloudDB 整体架构分为三个层次,包括基础设施层、数据处理层及数据应用层。详细阐述如下: 基础设施层为 pieCloudDB 提供计算资源、存储资源和网络资源,PieCloudDB 支持部署在物理服务器、庶拟机以及容 器中,同时也提供 Language) 的支持使得 PieCloudDB 可以无锋集成业内常见的提取/ 转换/加载 (ETL) 和 Bl (商业智能) 工具。企业只需安排少量的集成工作,就可以使用现有的使用标准 SQL 结构和接 口的分析工具让应用在 PieCloudDB -上 从而避免了企业受制于供应商,帮助企业在控制业务风险的同时推动创 新。 。 多维度弹性扩缩容 pieCloudDB 采取存算分离的eMPP 份数据建立多个集群,每个集群拥有独立的计算资源和独立的权限管控,满足业务的隔离性和安全性需求。 * 多级缓存技术 在 PieCloudDB 的计算层,各个计算节点针对元数据和用户数据都设计了多层缓存结构。其中,元数据作为数据库系 统中最重要的特征信息,实现高速的元数据访问是提高数据库查询性能的有效途径。为了避免网络延迟,加速查询优 化,PieCloudDB8 实现了元数据层全新的缓存架构,有效减少0 码力 | 17 页 | 2.68 MB | 1 年前3云原生虚拟数仓PieCloudDB Database产品白皮书
限数据计算可能,基于新一代数仓虚 拟化,提供云数仓智能化解决方案,助力企业建立以数据资产为核心的竞争壁垒。 7 PieCloudDB 产品架构 PieCloudDB 整体架构分为三个层次,包括基础设施层、数据处理层及数据应用层。详细阐述如下: 基础设施层 基础设施层为 PieCloudDB 提供计算资源、存储资源和网络资源,PieCloudDB 支持部署在物理服务器、虚拟机以及容 re Language)的支持使得 PieCloudDB 可以无缝集成业内常见的提取/ 转换/加载(ETL)和 BI(商业智能)工具。企业只需安排少量的集成工作,就可以使用现有的使用标准 SQL 结构和接 口的分析工具让应用在 PieCloudDB 上运行,从而避免了企业受制于供应商,帮助企业在控制业务风险的同时推动创 新。 PieCloudDB 采取存算分离的 eMPP(弹性大规 的云原生架构支持用户基于同一 份数据建立多个集群,每个集群拥有独立的计算资源和独立的权限管控,满足业务的隔离性和安全性需求。 在 PieCloudDB 的计算层,各个计算节点针对元数据和用户数据都设计了多层缓存结构。其中,元数据作为数据库系 统中最重要的特征信息,实现高速的元数据访问是提高数据库查询性能的有效途径。为了避免网络延迟,加速查询优 化, PieCloudDB 实现了元数据层全新的缓存架构,有效0 码力 | 17 页 | 2.02 MB | 1 年前3Mybatis 3.3.0 中文用户指南
SQL语句构建器 日志 日志 XML 映射配置文件 映射配置文件 MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息。文档的顶层结构如下: configuration 配置 properties 属性 settings 设置 typeAliases 类型命名 typeHandlers 类型处理器 objectFactory 对象工厂 mode=OUT, jdbcType=CURSOR, javaType=ResultSet, resultMap=departmentResultMap} MyBatis 也支持很多高级的数据类型,比如结构体,但是当注册 out 参数时你必须告诉它语句类型名称。比如(再次提示,在实际中 Your visitors can save your web pages as PDF in one click resultType="DraftPost"/> resultMap 元素有很多子元素和一个值得讨论的结构。 下面是 resultMap 元素的概念视图 resultMap constructor - 类在实例化时,用来注入结果到构造方法中 idArg - ID 参数;标记结果作为 ID 可以帮助提高整体效能0 码力 | 98 页 | 2.03 MB | 1 年前3SelectDB案例 从 ClickHouse 到 Apache Doris
义层被显式定义, 但仍然无法影响上游链路,数仓层有自己的语义逻辑,加速层有自己的导入配置,这样就造 成了数据管理机制的割裂。 数据架构 4.0 在数据架构 3.0 的基础上,我们对语义层进行更深层次的应用,在数据架构 4.0 中,我们 将语义层变为架构的中枢节点,目标是对所有的指标和标签统一定义,从计算-加速-查询实 现中心化、标准化管理,解决数据管理机制割裂的问题。 5 语义层作为架构中枢节点所带来的变化: 中存储命名为 a4,用户使用更具有业务含义 song_name 进行查询。在 查询 Doris 前,我们会在查询层将 SQL 改写成具体的列名 a4。这样名称的修改只 是修改其元数据,底层 Doris 的表结构可以保持不变。 为了实现标签灵活上下架,我们通过统计标签的使用情况来分析标签的价值,将低 价值的标签进入下架流程。下架指的是对元信息进行状态标注,在下架标签重新上 架之前,不会继续导入其数0 码力 | 12 页 | 1.55 MB | 1 年前3TiDB v5.1 中文手册
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1217 12.11.1 SQL 语言结构和语法 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2 新功能 2.2.2.1 SQL • 新增 MySQL 8 中的公共表表达式 (Common Table Expression,简称 CTE)。 CTE 为 TiDB 带来递归或非递归查询层次结构数据的能力,满足了人力资源、制造业、金融市场和教育在 内的多种应用领域需要使用树形查询实现业务逻辑的需求。 在 TiDB 中,你可以通过 WITH 语句使用公共表表达式。用户文档,#17472 访问集群TiDB Dashboard 监控页面,默认用户名为 root,密码 为空。 • 执行以下命令确认当前已经部署的集群列表: tiup cluster list • 执行以下命令查看集群的拓扑结构和状态: tiup cluster display3.1.3 探索更多 • 如果你刚刚部署好一套 TiDB 本地测试集群: – 学习TiDB SQL 操作 – 0 码力 | 2189 页 | 47.96 MB | 1 年前3TiDB v5.2 中文手册
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1262 12.11.1 SQL 语言结构和语法 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 访问集群TiDB Dashboard 监控页面,默认用户名为 root,密码 为空。 • 执行以下命令确认当前已经部署的集群列表: tiup cluster list • 执行以下命令查看集群的拓扑结构和状态: tiup cluster display3.1.3 探索更多 • 如果你刚刚部署好一套 TiDB 本地测试集群: – 学习TiDB SQL 操作 – 可以自定义用户,也可以和中控机的用户保持一致。 • 如果部署目录配置为相对路径,会部署在用户家目录下。 4.3.2 TiFlash 部署拓扑 本文介绍在部署最小拓扑集群的基础上,部署TiFlash 的拓扑结构。TiFlash 是列式的存储引擎,已经成为集群 拓扑的标配,适合 Real-Time HTAP 业务。 4.3.2.1 拓扑信息 实例 个数 物理机配置 IP 配置 TiDB 3 16 VCore 0 码力 | 2259 页 | 48.16 MB | 1 年前3
共 85 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9