Compartmentalization方式scale复制状态机

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

Extensible/Rule Based Query Rewrite Optimization in Starburst

Extensible/Rule Based Query Rewrite Optimization in Starburst
      《Extensible/Rule Based Query Rewrite Optimization in Starburst》SIGMOD 1992 这篇文章是介绍Starburst的基于规则的优化器实现框架。 背景 很多业务的SQL语句或类SQL语句,尤其是中间件软件自动生成的SQL语句,主要面向业务模型,如果不做query rewrite,可能执行非常慢。 例如: 12345678 DISTINCT PFROM Patient p IN Patient_S...

REMIX: Efficient Range Query for LSM-trees

REMIX: Efficient Range Query for LSM-trees
  《REMIX: Efficient Range Query for LSM-trees》FAST'20 LSM-Tree引擎的scan操作是一个引擎固有的短板,其根源在于相比基于B+Tree的引擎如InnoDB的数据全局有序,LSM-Tree的数据有序性差,它由多个sort run组成,因此scan的时候需要对多个sort run进行merge。 考虑如下的情况,比如做一次全表扫描,扫描过程中对若干sort run进行了merge。但再有一次全表扫描时,还是需要进行一次merge。两次merge...

搭建Linux内核调试环境

搭建Linux内核调试环境
  这篇文章介绍下在MacOSX如何用gdb + vmware的方式调试Linux内核。   一:安装Vmware Fusion   二:安装gdb 注意这里需要安装高版本的gdb,这里安装的是8.2版本 123456 wget http://ftp.gnu.org/gnu/gdb/gdb-8.2.tar.gztar xf gdb-8.2.tar.gzcd gdb-8.2./configure --build=x86_64-apple-darwin14.0.0 --target=x86_64-vfs-lin...

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

阿里LSMTree存储引擎X-Engine

阿里LSMTree存储引擎X-Engine
  X-Engine是阿里云研发的LSM-Tree结构的存储引擎,主打低存储成本带来的性价比。   问题 the tsunami problem 海啸问题:122倍突发流量 the flood discharge problem 泄洪问题:将内存数据快速转到持久化存储组件 the fast-moving current problem 快变洋流问题:热点行变化快 架构 优化总结 读路径优化 Extent Cache 多版本SuperVersion 增量cache替换 写路径优化 memtable热点行优化 ...

Access Path Selection in a RDBMS

Access Path Selection in a RDBMS
《Access Path Selection in a Relational Database Management System》 1979   SQL语句处理的四个阶段:Parsing, Optimization, Code Generation, Execution。 query block: 由select from where表达的查询块。   单表查询 代价 Access Path Cost公式: cost = page fetches + w * (RSI calls),其中rsi for system R storage interface。 公式是IO代价(主要是读取页面)和CPU代价(System R...

Redis简介

Redis简介
  Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。   Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Redis支持数据的备份,即master-slave模式的数据备份。 产品特征 ...

Data Storage Management in Cloud Environment

Data Storage Management in Cloud Environment
这是一篇综述性质的文章,讲的是云计算环境的数据存储,这里先罗列下文章目录结构。 Introduction Overview A Comparison of Data-Intensive Networks Terms and Definitions Data-intensive Application Architecture, Goals and Chanllenges of Intra-Cloud Storage Architecture, Goals and Chanllenges of Inter-Cloud Storage Data Model Data Structure Data Abstraction Data Access Model ...

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