PolarDB-SCC:RO节点强一致性读优化

PolarDB-SCC:RO节点强一致性读优化
《PolarDB-SCC: A Cloud-Native Database Ensuring Low Latency for Strongly Consistent Reads》 很多数据库系统通过类似于binlog复制或者redo复制的方式提供RO节点来提升整个系统的读吞吐,RW节点上产生更新,同步到RO节点apply变更。但只读请求发到RO节点上可能会读到陈旧的数据。如果想读到最新的数据(例如read-after-write一致性)呢? 首先读到最新数据或者强一致性读,指的是RO上启动的只读请求,...

PolarDB Serverless论文

PolarDB Serverless论文
《PolarDB Serverless: A Cloud Native Database for Disaggregated Data Centers》   PolarDB架构 PolarDB是存储计算分离的架构。底层是定制的PolarFS层,它是一个分布式的、支持一写多读的文件系统层。上层是MySQL(InnoDB)计算层,支持一个RW节点和若干RO节点,计算层包含事务、BufferPool等,RW节点写事务产生redo并推送到RO节点,RW上的脏页被淘汰时刷入PolarFS,RO节点读取页面时,如果BufferP...

PolarFS论文

PolarFS论文
《PolarFS : An Ultra-low Latency and Failure Resilient Distributed File System for Shared Storage Cloud Database》 VLDB2018   Introduction 存储计算分离: 存储节点和计算节点可以分别独立灵活配置硬件 存储池化,降低碎片、利用率不均、空间浪费,存储集群的容量和吞吐透明水平扩展 计算节点无状态,数据库弹性更好(迁移更容易),可靠性提升   PolarFS: 利用RDMA和NVMe SSD新硬...

MemSQL优化器

MemSQL优化器
《The MemSQL Query Optimizer: A modern optimizer for real-time analystic in a distributed database》VLDB2016 MemSQL是面向内存优化的数据库,本身是shared-nothing架构。MemSQL后来改名叫SingleStoreDB(S2DB),详细的架构参考这里:http://loopjump.com/singlestore-cloud-native-htap/   MemSQL的优化器分为三步:Rewriter, Enumerator, Planner。 因为MemSQL是shared-nothing的分布式架构...

SingleStore - 云原生HTAP

SingleStore - 云原生HTAP
S2DB简介 以前的MemSQL,shared-nothing架构的DBMS,分区混部,多副本HA,支持RO副本,支持code generation,支持跨域异步复制副本。另外也支持基于对象存储存放冷数据。 S2DB还可以做到交互式实时洞察和决策、高吞吐低延迟写入和在变动的数据上执行复杂低延迟查询,这在多个专用系统缝合的方案中很难做到。 S2DB的两个设计要点: 存储计算分离 Separation of Storage and Compute 统一表存储 Unified Tab...

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

Helping compiler help you : Ispike, BOLT

Helping compiler  help you : Ispike, BOLT
《BOLT: A Practical Binary Optimizer for Data Centers and Beyond》 CGO 2019 《Ispike: A Post-link Optimizer for the IntelR ItaniumR Architectur》 CGO 2004   Helping compiler help you 现在数据中心跑的程序二进制文件普遍都比较大而且代码逻辑比较复杂,因此编译过程的优化在很多情况下能够显著提升性能。编译优化是一种 helping compiler help you的方式。 编译优化常见的几种优化技术...

Intel CPU自上而下的微架构性能分析方法

Intel CPU自上而下的微架构性能分析方法
原文:https://www.intel.com/content/www/us/en/develop/documentation/vtune-cookbook/top/methodologies/top-down-microarchitecture-analysis-method.html   现代CPU一般都采用了流水线、硬件线程、乱序执行、指令级并行等技术来高效利用CPU内的各种资源。但有很多软件和算法在实现上并不能很好地利用好CPU,比如非常常见的链表会带来间接地址访问,影响硬件预取的效果,导致读数据的时候流水线...

浅谈性能分析

浅谈性能分析
  性能分析和优化是一个要求比较全面的工作,通常既要了解所分析的目标系统本身的设计和实现,也要对操作系统等底层基础设施有一定了解,同时需要掌握一些方法论以指导性能分析和优化工作。 本文尝试根据个人这几年做过的几次数据库性能优化的一点经验做一些总结。如前所说,性能分析和优化覆盖面比较广,这里只能抛砖引玉,欢迎读者批评指正。   性能测试 性能分析的第一步是做性能测试。 像My...

Content-Aware Lock Scheduling

Content-Aware Lock Scheduling
  VLDB 18'  Content-Aware Lock Scheduling for Transactional Database   相关的证明在 Contention-aware lock scheduling for transactionaldatabases.Technical Report,   锁是TP系统中的核心组件之一,但对事务在锁方面的调度研究却比较少。 比如事务t1已经持有了某个lock,另外有t2, t3 ... 因为申请同一把锁而阻塞,当t1提交释放锁(2PL)时,应该将锁给哪个事务呢?大部分系统用的...