The Case for Learned Index StructuresandALEX: An Updatable Adaptive Learned Index 可行性 索...
The Case for Learned Index StructuresandALEX: An Updatable Adaptive Learned Index 可行性 索...
Optimistic Lock Coupling: A Scalable and Efficient General-Purpose Synchcronization Met...
Concurrency Control for Adaptive Indexing自适应索引的目标在于能够隐藏或最小化索引创建的代价。它的一个副作用就是在查询过程中,从自读变...
《Hyperion: building the largest in-memory search tree》 目标 更高的内存效率。ART和HOT都是固定的数据结构,尽可能地...
摘要 索引提供了一个非歧视性的导航来定位关注的元组。维护的代价是在数据库更新的时候产生的。本文提出了一种补充方法,用连续的物理重组把索引维护作为查询处理的一部分,也就是cra...
《Latch-free Synchronization In Database System: Silver Bullet or Fool's Gold》数据库系统中的Lat...
HOT: A Height Optimized Trie Index for Main-memory Database System 摘要 高效 节省空间核心思想是每个节点的...
ART最初提出没有考虑同步问题,本篇论文 The ART of Practical Synchronization是为ART设计的并发协议。最传统的方式就是细粒度的锁读写锁和...
The Adaptive Radix Tree: ARTful Indexing for Main-Memory Databases( IEEE International ...
两个阶段,将R和S按照连接关键字进行排序;扫描排序好的元组进行比较,outer relation R扫描一次。(排序连接也有outer 和inner吗?) 三个阶段,分区(可...
在两个关系上进行连接用多线程来加速主要有两种方法哈希连接和排序合并连接。 多数OLTP DBMS都没有实现哈希连接但是少量目标元组的索引嵌套连接和哈希连接是差不多的 连接算法...
矢量化是把一个算法的一次处理一对操作的标量(非向量)实现转化为一次处理多对操作的向量实现。 假设在32核心上并行化算法,每个核心有4-wide SIMD寄存器。 SIMD就是...
在内存数据库中提高吞吐量的唯一方式就是减少执行指令数目。大多代码都是为了人能理解而不是单为了性能。接下来从逻辑查询方面进行分析。 看下面的例子 根据这个例子可以得到一个查询树...
一个查询计划由若干个操作组成。一个任务task是一系列的(一个或多个)操作的执行(如在用pipeline技术时,一个pipeline的一系列操作叫做task)。 对于一个查询...
数据库访问 通过API访问数据库:直接访问,ODBC,JDBCODBC访问DBMS的标准API,是为了把数据库与系统分离开,所有主要关系型数据库都有ODBC的实现。ODBC基...
恢复是为了在发生错误时保证数据库的原子性、一致性和持久性。恢复包含两部分:在正常事务执行时进行的操作来保证当错误发生时能够恢复(log);和在错误发生后进行的恢复保证原子性、...
布隆过滤器 布隆过滤器是一种数据结构,概率性数据结构,高效的插入与查询,回答的一定不存在或者可能存在。相比List, Set, Map更高效,占用空间少,但返回结果是概率的。...
为什么需要压缩 在面向磁盘的数据库,从磁盘中取数据是最大的性能瓶颈。而在内存数据库中,在速度与压缩率的取舍中总是会选速度,其压缩的主要目的是为了减少内存的需求和处理。(Com...
内存数据库和面向磁盘的数据库的存储模型与数据分布差别不大(?) 字节对齐 注意元组的字节对齐以便Cache的读写而不需要进行什么额外操作。 在这里要读cdate的时候可能会需...
主要介绍T树,跳表,Bw树,Judy Array,ART和Masstree。涉及到索引的物理结构,如何在索引上实现查找、插入和删除,以及插入删除引起的节点的分裂与合并,以及多...