【论文阅读】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相关推荐

  1. 【论文阅读】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. ...

  2. 论文阅读之Discrete Opinion Tree Induction for Aspect-based Sentiment Analysis

    文章目录 论文概要 模型与公式介绍 基本变量定义 构造意见树 用GCN编码意见树 输出层 损失函数 实验结果 总结 参考 论文概要 依赖树与图神经网络被广泛用于基于方面的情感分类.尽管这些方法很有效, ...

  3. 【论文阅读】Federated Learning on Non-IID Data Silos: An Experimental Study

    阅读目标: 了解解决异构性问题的角度 了解解决异构性问题的方法 阅读结束回答: 标签.特征.量 FedAvg.FedProx等,并不是我想要的解决复杂异构性的方法 动机:隐私保护和数据条例的出现,导致 ...

  4. 论文阅读----- Security and Privacy in Big Data Lifetime A Review

    Security and Privacy in Big Data Lifetime A Review Abstract 由于诸如物联网(IoT),云计算,互联网服务和社交网络等新兴信息技术的快速增长, ...

  5. 论文阅读-虚假信息检测综述 - 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社交媒体上的假新 ...

  6. 【论文阅读】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 本文解决了什么问题? 在所有的 完全信息博弈 中, ...

  7. 论文阅读:Regularizing Deep Networks with Semantic Data Augmentation

    论文阅读:Regularizing Deep Networks with Semantic Data Augmentation 动机 特征空间的语义变换 Implicit semantic data ...

  8. 论文阅读 [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 论文搜索 ...

  9. 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 ...

最新文章

  1. 想不到,那些让我半夜偷偷收藏的沙雕表情包,竟是出自 AI 之手
  2. VS调试js学习总结
  3. 基于MATLAB的MIMO系统分层空时码的仿真
  4. 如何优雅地在公众号输入数学公式?推荐几款神器
  5. TCP/IP学习笔记(八)复位报文段
  6. 进入正在运行状态中的Docker容器
  7. 交易系统高并发下的幂等性设计原则
  8. java vector_Java Vector sureCapacity()方法与示例
  9. zsh of kali
  10. 简述mysql的事务_请简述为什么要使用数据库的事务
  11. VMware在NAT模式下配置静态IP
  12. 64位系统中32位的打印服务器,windows10-64位系统如何连接window7-32位共享打印机
  13. AS-实践《第一行代码》中的出现的问题
  14. 玩转A2ZS,软改A4
  15. pyltp进行词性标注
  16. nginx 解决 405 not allowed错误
  17. python求助神器_【python从零开始(被称之为神器的装饰器)】- 环球网校
  18. 我的四核Cortex-A53学习之路
  19. FLStudio 四分音符八分音符 四四拍四二拍
  20. 大型智慧灌区信息化管理系统云平台 智慧灌区信息化管理系统解决方案

热门文章

  1. 【算法专题】树的直径
  2. oracle 格式化命令,Linux下硬盘格式化的相关命令Partprobe
  3. java实现调用本地摄像头并实现抓拍图片功能
  4. 发布职位:小马智行 pony.ai#估值最高的自动驾驶独角兽,2月份c+轮+11亿$=60亿$base:硅谷 广北上深技术路线:激光雷达+摄像头+高精地图前端后端移动端大数据嵌入式传感
  5. 你了解Java中的Future吗?
  6. Linux查看文件详细信息分析
  7. 湖北省211大学计算机分数线,湖北省211大学名单排名榜及分数线 湖北省211大学名单...
  8. 机器学习python下数据分类方法
  9. 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“No appropriate protocol (protocol is disabled or ciph
  10. oracle层级计算推演,R语言使用层次分析法进行综合指标等级划分