Quantcast
Channel: 数据库内核月报
Browsing latest articles
Browse All 689 View Live

Image may be NSFW.
Clik here to view.

PolarDB PostgreSQL 基于代价的查询变换框架 (CBQT)

前言 查询变换是指基于等价规则,将一个查询语句改写成语义上等价的另一种形式。例如社区 PostgreSQL 中常用的“子查询上拉”、“外连接消除”、“表达式预处理”、“消除无用连接”、“谓词下推”等都是基于规则的查询变换,并且经过这些查询变换后的计划一定是更优的,因此 PostgreSQL 一定会尝试应用这些变换。 但一些查询变换,如“子连接下推”、“OR 转 UNION...

View Article


Image may be NSFW.
Clik here to view.

PolarDB MySQL跨可用区强一致解决方案

背景 PolarDB...

View Article


Image may be NSFW.
Clik here to view.

Range-Prefix Skip Scan介绍

背景 在 MySQL 中,当我们访问一个表时,有两种主要的数据访问方式:全表扫描(Full Table Scan)和索引扫描。索引扫描又可以分为全索引扫描(Index Scan)和范围索引扫描(Range Scan)。一般而言,范围索引扫描的效率高于全索引扫描,而全索引扫描的效率又高于全表扫描。当查询的 WHERE...

View Article

Image may be NSFW.
Clik here to view.

PostgreSQL · 一文搞懂PostgreSQL逻辑复制的全部原理

什么是逻辑复制? 一句话概括,逻辑复制是相对于物理复制的概念,物理复制是把对文件块的改动发送到下游,逻辑复制是把数据的改动(一般是修改前/修改后的行)发送到下游。 逻辑复制架构 逻辑复制的总架构,包含存量数据的复制、增量数据的复制。 图中 1~3 表示存量数据的复制过程。在CREATE SUBSCRIPTION时,可以请求全量的数据。发布端接收和回复COPY数据。...

View Article

Image may be NSFW.
Clik here to view.

PolarDB 基于共享存储的 Binlog 一写多读

在基于共享存储的 PolarDB 一写多读架构中,只读节点(RO)具备完整的 Binlog 获取能力,实现了计算节点的功能隔离,显著提升了读带宽的上限。 因跨部门业务隔离、权限控制及性能考量,许多大型客户选择创建独立 RO 节点,并赋予大数据团队该节点的只读权限,用于通过 CDC(Change Data Capture)同步数据至分析系统。这一实践已成为客户接入 MySQL...

View Article


Image may be NSFW.
Clik here to view.

庖丁解InnoDB之B+Tree

InnoDB采用B+Tree来维护数据,处于非常核心的位置,可以说InnoDB中最重要的并发控制及故障恢复都是围绕着B+Tree来实现的。B+Tree本身是非常基础且成熟的数据结构,但在InnoDB这样一个成熟的工业产品里,面对的是复杂的用户场景,多样的需求,高性能高稳定的要求,以及长达几十年的代码积累,除此之外,InnoDB中的B+Tree在实现上并没有一个清晰的接口分层,这些都让这部分的代码显得...

View Article

Image may be NSFW.
Clik here to view.

再演进,更全面、更极致的 PolarIndex 2.0

索引模块是数据库管理系统的核心组件,其设计直接决定了数据库数据操作的性能与效率。如何构建高效高并发的索引结构,始终是数据库领域的研究重点。作为一款先进的云原生数据库,阿里云PolarDB也不断的在索引高并发优化技术上深耕。基于Latching coupling的设计理念,PolarDB实现了PolarIndex 1.0版本:将 SMO...

View Article

Image may be NSFW.
Clik here to view.

窗口函数Frame优化思想

窗口函数Frame优化思想 背景 MySQL从8.0开始支持窗口函数(Window Functions),作用是计算一组聚合行的结果。其特点是可以同时具有分组和排序功能,且不改变原表行数,主要应用于数据分析场景。 本文将介绍下窗口函数Frame子句的优化思想,首先看下窗口函数示例: SELECT SUM(c1) OVER (PARTITION BY c2 ORDER BY c3 ROWS...

View Article


Image may be NSFW.
Clik here to view.

兼顾高性能 & 高可用:持续演进的 PolarDB-MySQL 存储优化技术

背景 MYSQL是全球最流行的数据库之一,开源易用的特点成为数据库初学者和开发者的选择。许多用户能够自行部署和管理本地 MySQL 服务,但随着业务发展不可避免会遇到了本地部署数据库的性能瓶颈,从而希望MySQL具有更高的性能、可用性和可扩展性,但是受到自有环境的物理限制难以达成。...

View Article


Image may be NSFW.
Clik here to view.

PolarDB B-tree 并发控制技术演进

作为一款先进的云原生数据库,PolarDB 通过存算分离架构突破传统数据库性能边界的同时,也不断地在索引高并发优化技术上深耕,推出了 PolarIndex 一系列索引优化特性:B-tree 细粒度并发控制、轻量化索引压缩、溢出页预分配等,相关技术参考这篇月报的介绍: 再演进,更全面、更极致的 PolarIndex 2.0 。本文聚焦 PolarDB 的 InnoDB 存储引擎核心数据结构...

View Article
Browsing latest articles
Browse All 689 View Live