/images/avatar.jpg
杂七杂八的,随手记录。

The Part of PostgreSQL We Hate the Most

本文为摘录(或转载),侵删,原文为: https://ottertune.com/blog/the-part-of-postgresql-we-hate-the-most/

1 什么是多版本并发控制?

  • 在 DBMS 中,MVCC 的目标是在可能的情况下允许多个查询同时读取和写入数据库而不相互干扰。
  • MVCC 的基本思想是,DBMS 永远不会覆盖现有行。
    • 对于每个(逻辑)行,DBMS 维护多个(物理)版本。
    • 当应用程序执行查询时,DBMS 根据某个版本排序(例如创建时间戳),确定要检索哪个版本以满足请求。

这种方法的好处是,多个查询可以读取旧版本的行,而不会被更新它的其他查询阻塞。查询在数据库快照上观察到它开始查询事务时的状态(快照隔离)。

SA-LSM: Optimize Data Layout for LSM-tree Based Storage using Survial Analysis

Table of Contents

本文为摘录(或转载),侵删,原文为: attachments/pdf/5/p2161-zhang.pdf

1 ABSTRACT

  • 云存储中很大一部分数据很少被访问,被称为 冷数据
  • 精确地识别和有效地管理成本效益高的存储中的冷数据是云提供商面临的主要挑战之一,需要平衡降低成本和提高系统性能。
  • 为此,提出了 SA-LSM 来利用生存分析(Survival Analysis)的方式来处理 LSM-tree 键值(KV)存储。
  • 传统上,LSM-tree 的数据布局是由写操作和压实操作共同确定的。
  • 然而,该过程默认情况下并未充分利用数据记录的访问信息,导致次优的数据布局,对系统性能产生负面影响。
  • SA-LMS 使用生存分析,一种在生物统计学中常用的统计学习算法来优化数据布局。
  • 当与合适的 LSM-tree 实现结合使用时,SA-LSM 可以使用历史信息和访问痕迹准确预测冷数据。
  • 具体实现方面,将 SA-LSM 应用于商业化开源 LSM-tree 存储引擎 X-Engine
  • 了使部署更加灵活,还设计了一种非侵入式架构,可以将 CPU 密集型任务(例如模型训练和推断)卸载到外部服务上。
  • 在真实工作负载上的广泛实验表明,与现有技术相比,SA-LSM 可以将尾延迟降低高达 78.9%。
  • 这种方法的通用性和显著性能提升在相关应用中具有巨大潜力。

2 INTRODUCTION

为了降低存储成本,LSM 树变成了一种越来越受欢迎的架构。它引入了多层异构存储:

Towards a New File Format for Big Data - SIMD-Friendly Composable Compression

本文为摘录(或转载),侵删,原文为: -../pdf/a/Towards a New File Format for Big Data - SIMD-Friendly Composable Compression (2020-AzimAfroozeh).pdf -attachments/pdf/a/Towards a New File Format for Big Data - SIMD-Friendly Composable Compression (2020-AzimAfroozeh).pdf

1 Introduction

2 Related Work

2.1 Storage Layouts

2.1.1 NSM

传统上,在数据库系统中,表格数据通常按照磁盘页的起始行逐行存储。这种存储方式被称为 N-ary 存储模型(NSM)。如图 2.1 所示,如果元组大小是可变的,NSM 可能会在页面末尾使用偏移表来定位每个元组的起始位置。此外,每个元组都以元组头(RH)开头,包含有关元组的信息。RH 以空位图开头,用于支持空值;以偏移量开头,用于支持可变属性的变量长度值;以及其他实现特定的细节,以使布局更加灵活。

X-Engine: An optimized storage engine for TP

本文为摘录(或转载),侵删,原文为: attachments/pdf/7/sigmod-xengine.pdf

1 Abstract

在线电商交易具有三个显著特点:

  1. 随着主要销售和促销活动的开始,每秒交易数量急剧增加;
  2. 大量的热门记录很容易压垮系统缓冲区;
  3. 由于不同类别的促销在不同的短时间内可用,不同记录的“温度”(热、温、冷)会快速转换。

为了解决这些挑战,阿里巴巴引入了一种名为 X-Engine 的新的存储引擎,它是 POLARDB 的一种优化的写入存储引擎。它采用分层存储体系结构和 LSM 树(日志结构合并树)来利用硬件加速,例如 FPGA 加速压实,并提供一系列优化,包括事务中的异步写入、多阶段管道和压实期间的增量缓存替换。评估结果表明,X-Engine 在此类事务负载下表现出更高的性能。

The Design and Implementation of Modern Column-Oriented Database Systems

Greenplum 资源管理——Resource Group使用和实现分析

Linux Process States

本文为摘录(或转载),侵删,原文为: https://www.baeldung.com/linux/process-states

1 The Linux Process States

  • Running or Runnable (R)
  • Uninterruptible Sleep (D)
  • Interruptable Sleep (S)
  • Stopped (T)
  • Zombie (Z)

状态机如下: