构建分析LSM Compaction Design Space

构建分析LSM Compaction Design Space
《Constructing and Analyzing the LSM Compaction Design Space》 VLDB'21 四个原语 Compaction是LSM-Tree引擎中最重要的环节之一,一方面它主导了LSM-Tree的形状进而影响了LSM-Tree的包括性能、空间占用等对外表现,另一方面它本身要消耗相当的计算和IO资源,容易造成抖动等问题。 但目前业界针对compaction较少有系统的探索,很多系统的compaction策略依赖工程师的个人经验,大量可能的策略未被分析测试...

Compartmentalization方式scale复制状态机

Compartmentalization方式scale复制状态机
  Scaling Replicated State Machines with Compartmentalization,VLDB 21'   本文是针对Multi-Paxos协议的实现方案瓶颈做的扩展性方案,主要的方法论是compartmentalization,这个词本意是分离,在这里作为一种方法论,其含义是将各个功能进行剥离分开,并分别进行扩展。 Multi-Paxos的多个模块都有一些实现方案上的瓶颈,假设读者已经熟悉Multi-Paxos协议内容,我们根据论文的思路看看各个瓶...

论文阅读 - OLTP Through the Looking Glass

论文阅读 - OLTP Through the Looking Glass
这篇文章是08年SIGMOD的文章。 OLTP系统各组件开销 很多OLTP数据库的架构扔延续了70年代面向当时的硬件的设计,但30年来,现代CPU、内存、网络等等已经有了很大的变化。这篇论文分析了一个OLTP数据库的各个组件的开销。   OLTP系统设计趋势 Cluster Computing 从单机多线程的架构,在80年代有了shared disk的架构,最近20年又有shared nothing的架构。再以后的数据库必须要考虑面向集群。   Mem...

Databricks Lakehouse

Databricks Lakehouse
《Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics》 CIDR21'   整片文章讲的比较宽泛。   Introduction 第一代数仓:结构化数据,用于决策支持和BI。 第二代数仓:解决存储和计算资源耦合、无弹性、非结构化数据激增等问题,采用了data lakes方案,采用开放格式,数据存储到分布式文件系统,主要代表是Hadoop运动。 第三代数仓,2015年...

Snowflake Elastic Data Warehouse

Snowflake Elastic Data Warehouse
《The Snowflake Elastic Data Warehouse》 SIGMOD 16' Snowflake具备如下的特点: 纯粹的SaaS体验:用户将数据放到云上,然后可以通过snowflake对他们的数据进行查询。 关系型:支持SQL和ACID 办结构化:内置函数和SQL扩展来支持对半结构化数据的访问,自动schema discovery和列式存储 弹性:存储和计算资源可以独立无缝弹性,不影响数据可用性和当前查询性能 高可用:容忍node、cluster和data cent宕机...

How to Architect a Query Compiler Revisited

How to Architect a Query Compiler Revisited
How to Architect a Query Compiler, Revisited》 SIGMOD'168 数据库执行一个查询的流程包括前端语法解析、优化器以及后端解释执行。语言编译器的流程与之类似,除了最后一步会编译成机器码执行,DBMS一般还是解析执行的。 在相当长一段时间内,硬盘IO是主要的性能瓶颈,计划的解释执行有利于移植,因此将解释执行替换成编译执行没有太大必要。但NVM硬件发展和业务对AP型查询需求增多,使得很多时候查询是...

Orca优化器

Orca优化器
《Orca: A Modular Query Optimizer Architecture for Big Data》 SIGMOD 2014   Orca是Pivotal数据管理系列产品(包括 Pivotal Greenplum Database和Pivotal HAWQ)共用的优化器模块,面向AP负载,整合了当时最新的技术。 Orca的主要特点: Modularity 对元数据和系统描述进行抽象,因此可移植 Extensibility 将所有的查询元素和优化操作当做first class citizen,避免多阶段优化 Multi-core Ready...

关系数据库优化器概述

关系数据库优化器概述
《An Overview of Query Optimization in Relational Systems》PODS 1998, Microsoft Research 优化器的输入是用户查询,负责生成一个高效的执行计划,优化过程是一个比较复杂的过程。 优化器主要包含三个部分: Search Space:搜索空间包含足够好的计划 代价估计:代价估计足够精确 枚举算法:枚举算法要足够高效 System R优化器案例 以System R为例来初步看下优化器的这三部分,通过这一节,对优化器...

The Columbia Optimizer

The Columbia Optimizer
  《EFFICIENCY IN THE COLUMBIA DATABASE QUERY OPTIMIZER》 1998 这是Portland State University的硕士论文,作者是YONGWEN XU,相比Cascades论文的跳跃和晦涩,这篇可以说是很良心了。 Motivation 当时背景下,优化器仍然是值得研究的方向,尤其是在Decision Support Systems(DSS)、OLAP、大数据量、复杂对象、新的执行技术如并行和分布式执行等等。 第一代可扩展的优化器包括EXODUS、Starburst...

The Volcano Optimizer Generator

The Volcano Optimizer Generator
  《The Volcano Optimizer Generator : Extensibility and Efficient Search》1993 论文介绍了在EXODUS之后的一个新的优化器生成器Volcano。 一个好的optimizer generator要满足如下条件: 既能用到Volcano Executor,也能用到已经存在的其他执行器 优化的时间消耗和内存消耗都比较低 能够高效、可扩展地支持物理属性(如sort order、compression) 允许使用启发信息和数据模型语义来引导搜索和剪枝...