DBHammer

博客

2024

DBHammer Paper List Sharing

DBHammer组整理了一些最新发表在各大顶会/刊的科研论文, 存放在GitHub上, 具体链接如下: OLTP: https://github.com/wengsy150943/Paper4OLTPandConcurrencyTesting OLAP: https://github.com/Wind-Gone/awesome-olap-paper AI4DB: https:/...

2022

Polardb for PostgreSQL部署(Ceph+PFS)

简介 获取在同一网段的虚拟机三台,互相之间配置 ssh 免密登录,用作 ceph 密钥与配置信息的同步; 在主节点启动 mon 进程,查看状态,将其他主机添加到ceph集群中; 在三个环境中启动 osd 进程配置存储盘; 创建存储池与 rbd 块设备镜像,并对创建好的镜像在各个节点进行映射即可实现块设备的共享; 对块设备进行 PolarFS ...

面向HTAP数据库的基准评测工具研究进展

随着在线实时分析需求的增长,HTAP(Hybrid Transaction and Analitical Process)数据库随之出现,其能在同一个系统内实现 OLTP 负载和 OLAP 负载的高效处理,提供了对新鲜数据的分析能力。近年来,工业界和学术界提出了多种 HTAP 数据库架构,因此如何评测各种新型的 HTAP 数据库引起了学界和业界的广泛关注。 本篇内容主要探讨面向HTAP数据...

OceanBase与TiDB优化器的基数预估准确度和连接顺序选择能力的评测

一、引言 查询优化器作为数据库查询引擎的大脑,负责生成理想的执行计划,一直以来都被认为是查询引擎中最重要最核心的部分。现代数据库系统的优化器都是基于代价的优化器(Cost-based Optimizer, CBO),使用代价模型选出最佳的执行计划。相关研究表明,提升基数预估的准确度比代价模型中的CPU权重、IO权重等参数的作用大的多。另一方面,由于多表连接负载存在着庞大的连接顺序搜索空间,...

OceanBase性能调优

本文介绍调试OceanBase代码的方法,以及Nested-Loop-Join性能优化的思路 编译部署OceanBase 从源代码编译OceanBase 想要在OceanBase源代码上进行调试,优化,第一件要做的事就是从源代码编译OceanBase。这里推荐克隆OceanBase数据库大赛的比赛分支,克隆完成之后按照官方教程从源码构建OceanBase数据库,...

Oceanbase中LSM-Tree的分层设计及其优缺点

LSM Tree技术出现的一个最主要的原因就是磁盘的随机写速度要远远低于顺序写的速度,而数据库要面临很多写密集型的场景,所以很多数据库产品就把LSM Tree的思想引入到了数据库领域。LSM Tree ,顾名思义,就是The Log-Structured Merge-Tree 的缩写。从这个名称里面可以看到几个关键的信息: 第一:Log-Structred,通过日志的方式来组织的 第二:...

OceanBase内核初探

💡 作者:华东师范大学 数据科学与工程学院 DBHammer项目组 东亚男儿团队 本文主体面向对OceanBase数据库源码以及系统性能优化感兴趣的初学者供以技术交流,笔者来自华东师范大学数据科学与工程学院DBHammer项目组。 本文主体分为三个部分:如何快速对OceanBase进行调试;系统性能优化利器-火焰图的简要介绍;面向赛题Nested Loop Join的应用场景,如...

从查询树的生成到查询执行 — 以Index Nested Loop Join为例

💡 作者:华东师范大学 数据科学与工程学院 DBHammer项目组 东亚男儿团队 本文主体面向对OceanBase数据库源码以及系统性能优化感兴趣的初学者供以技术交流,笔者来自华东师范大学数据科学与工程学院DBHammer项目组。 在OceanBase数据库大赛的复赛阶段,我们需要对OceanBase 3.1版本的Nested Loop Join(下称NLJ)这一功能进行优化。因...

OceanBase对分布式事务的支持能力评测与分析

一、目的 分布式数据库的一大设计目标是通过增加分布式节点来提高数据库的性能,如吞吐。但是分布式环境给事务处理带来的优势有可能会由于分布式事务的产生而削弱,甚至会造成性能的恶化。本文主要评测OceanBase对分布式事务的支持能力以及OceanBase提出的tablegroup技术对分布式事务执行性能产生的影响。 二、初探TPC-C中NewOrder事务 在TPC...

OceanBase连接顺序选择的优劣评估

一、目的 在OLAP场景中,多表连接是十分常见的,查询的执行效率跟它涉及的表的连接顺序息息相关。以A、B、C三张表为例,有一条查询:SELECT * FROM A, B, C WHERE …,那么这三张表的连接顺序可以是(A⋈B)⋈C、(A⋈B)⋈C、(A⋈C)⋈B等共6种连接顺序,我们将全部连接顺序称为搜索空间。不同的连接顺序是语义等价的,即能获得相同的结果集,但是对于查询效率有着非常大...

Dike:面向分布式事务型数据库评测基准及工具介绍

一、工作的意义 随着业务规模的增长,很多业务方都将自己的应用从集中的事务型数据库部署到分布式事务型数据库来追求可扩展和高可用。分布式事务型数据库根据存储和计算的不同扩展方式通常分为Share-Nothing架构、Share-Nothing计算和存储分离架构以及Share-Storage架构(如图1)。这三种不同的架构有不同的适用场景,而且不同的数据库也有存在不同的瓶颈点和优化技术,这就需要一...