【论文阅读】SIGMOD‘19 FITing-Tree: A Data-aware Index Structure
【论文阅读】SIGMOD’19 FITing-Tree: A Data-aware Index Structure
介绍
传统的索引结构(比如B+tree),需要消耗大量的空间,在一些OLTP负载下,索引可以占据55%的空间。这种开销不仅限制了可用于存储新数据的空间量,而且还减少了在处理现有数据时有用临时空间。
尽管有一些压缩方案可以减小索引大小,但是索引依然随着存储键值的增加线性增长。
贡献
作者提出了FITing-Tree,利用有关底层数据分布的属性来减小索引的大小。
提出并分析了一种有效的分割算法,该算法结合了可调误差参数,允许DBA平衡索引的查找性能和空间占用。
提出一种成本模型,该模型帮助DBA在给定延迟或存储需求的情况下确定适当的错误阈值。
FITing-tree
与传统索引存储所有value不同,FITing-tree只存储1.每一个linear segment的开始键值;2.线性函数的斜率。通过这两个就可以计算出key的大致位置。
作者通过一个IOT数据集作为演示,IOT数据集的数据以事件发生的时间戳为键值已经排序好。我们可以通过构造函数去将timestamp信息映射到数据集中的存储位置。
设计
clustered FITing Tree
数据已经根据键值排序号(只有数据有序的情况下,才可以建模预测)
在传统的B+tree上,数据存储在固定大小的page中。
在FITing-tree中,数据根据给定的误差阈值被划分为不同大小的segment。每一个segment是一个数组(存储连续),不同的segment之间是独立的(不连续)。FITing-tree每个叶子节点存储的segment的斜率、最小键值、指向segment开始页面的指针。
non-clustered FITing-Tree
对于没有排序好的数据,作者需要一个额外的中间层indirection layer又叫(Key Pages),将索引的键值进行重新排序然后在重新排序的数据上构造clustered FITing-Tree。
SEGMENTATION
构造segment:首先获取一个最小值key,当一个新key到的时候,根据error_bound,计算出满足误差的最小斜率和最大斜率,更新这个这两个斜率。如果新key不满足原先的最小、最大斜率,就重新建立一个新的segment。
查找
在Fiting-tree里的查找分为两个步骤。首先根据Btree定位到一个segment。然后再在segment里查找到目标的位置。
SerachTree:
找到一个最大的小于key的节点,如果没有到达叶子节点就继续往下递归查找,如果达到了叶子节点,找到leafnode里最大的小于key的节点然后返回。
SearchSegment:
我们通过返回的节点可以知道这个segment的斜率。 所以我们可以通过最小key和斜率计算出一个大概的position。由于我们的模型预测不太准确会有误差,但是在一个segment中不会位置超过过给定error的范围。所以我们需要在预测position + - error的这个范围二分查找到最终的值。
【论文阅读】SIGMOD‘19 FITing-Tree: A Data-aware Index Structure相关推荐
- 【论文阅读】FSADA:Joint network embedding of network structure and node attributes via deep autoencoder
目录 简介 论文简介 abstract 1. Introduction 2. Related work 2.1. Structure preserving network embedding 2.2. ...
- 论文阅读之Discrete Opinion Tree Induction for Aspect-based Sentiment Analysis
文章目录 论文概要 模型与公式介绍 基本变量定义 构造意见树 用GCN编码意见树 输出层 损失函数 实验结果 总结 参考 论文概要 依赖树与图神经网络被广泛用于基于方面的情感分类.尽管这些方法很有效, ...
- 【论文阅读】Federated Learning on Non-IID Data Silos: An Experimental Study
阅读目标: 了解解决异构性问题的角度 了解解决异构性问题的方法 阅读结束回答: 标签.特征.量 FedAvg.FedProx等,并不是我想要的解决复杂异构性的方法 动机:隐私保护和数据条例的出现,导致 ...
- 论文阅读----- Security and Privacy in Big Data Lifetime A Review
Security and Privacy in Big Data Lifetime A Review Abstract 由于诸如物联网(IoT),云计算,互联网服务和社交网络等新兴信息技术的快速增长, ...
- 论文阅读-虚假信息检测综述 - Fake News Detection on Social Media: A Data Mining Perspective
论文链接:https://arxiv.org/pdf/1708.01967.pdf 目录 摘要 1 引言 2. 假新闻定义 2.1 假新闻的定义 2.2 传统新闻媒体上的假新闻 2.3社交媒体上的假新 ...
- 【论文阅读】Mastering the game of Go with deep neural networks and tree search
[论文阅读]Mastering the game of Go with deep neural networks and tree search 1 本文解决了什么问题? 在所有的 完全信息博弈 中, ...
- 论文阅读:Regularizing Deep Networks with Semantic Data Augmentation
论文阅读:Regularizing Deep Networks with Semantic Data Augmentation 动机 特征空间的语义变换 Implicit semantic data ...
- 论文阅读 [TPAMI-2022] ManifoldNet: A Deep Neural Network for Manifold-Valued Data With Applications
论文阅读 [TPAMI-2022] ManifoldNet: A Deep Neural Network for Manifold-Valued Data With Applications 论文搜索 ...
- Are VQA Systems RAD? Measuring Robustness to Augmented Data with Focused Interventions 论文阅读笔记
Are VQA Systems RAD? Measuring Robustness to Augmented Data with Focused Interventions 论文阅读笔记 一.Abst ...
最新文章
- 想不到,那些让我半夜偷偷收藏的沙雕表情包,竟是出自 AI 之手
- VS调试js学习总结
- 基于MATLAB的MIMO系统分层空时码的仿真
- 如何优雅地在公众号输入数学公式?推荐几款神器
- TCP/IP学习笔记(八)复位报文段
- 进入正在运行状态中的Docker容器
- 交易系统高并发下的幂等性设计原则
- java vector_Java Vector sureCapacity()方法与示例
- zsh of kali
- 简述mysql的事务_请简述为什么要使用数据库的事务
- VMware在NAT模式下配置静态IP
- 64位系统中32位的打印服务器,windows10-64位系统如何连接window7-32位共享打印机
- AS-实践《第一行代码》中的出现的问题
- 玩转A2ZS,软改A4
- pyltp进行词性标注
- nginx 解决 405 not allowed错误
- python求助神器_【python从零开始(被称之为神器的装饰器)】- 环球网校
- 我的四核Cortex-A53学习之路
- FLStudio 四分音符八分音符 四四拍四二拍
- 大型智慧灌区信息化管理系统云平台 智慧灌区信息化管理系统解决方案
热门文章
- 【算法专题】树的直径
- oracle 格式化命令,Linux下硬盘格式化的相关命令Partprobe
- java实现调用本地摄像头并实现抓拍图片功能
- 发布职位:小马智行 pony.ai#估值最高的自动驾驶独角兽,2月份c+轮+11亿$=60亿$base:硅谷 广北上深技术路线:激光雷达+摄像头+高精地图前端后端移动端大数据嵌入式传感
- 你了解Java中的Future吗?
- Linux查看文件详细信息分析
- 湖北省211大学计算机分数线,湖北省211大学名单排名榜及分数线 湖北省211大学名单...
- 机器学习python下数据分类方法
- 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“No appropriate protocol (protocol is disabled or ciph
- oracle层级计算推演,R语言使用层次分析法进行综合指标等级划分