2024-05-15
212

PolarDB-X用15M内存跑1G的TPCH

在数据时代,过多耗内存的大查询都有可能压垮整个集群,所以其内存管理模块在整个系统中扮演着非常重要的角色。而PolarDB-X 作为一款分布式数据库,其面对的数据可能从TB到GB字节不等,同时又要支持TP和AP Workload,要是在计算过程中内存使用不当,不仅会造成TP和AP相互影响,严重拖慢响应时间,甚至会出现内存雪崩、OOM问题,导致数据库服务不可用。CPU和MEMORY相对于网络带宽比较昂贵,所以PolarDB-X 代价模型中,一般不会将涉及到大量数据又比较耗内存的计算下推到存储DN,DN层一般不会有比较耗内存的计算。这样还有一个好处,当查询性能低的时候,无状态的CN节点做弹性扩容代价相对于DN也低。鉴于此,所以本文主要对PolarDB-X计算层的内存管理进行分析,这有助于大家有PolarDB-X有更深入的理解。

212
2024-05-15
153

SQL Query Plan在Presto中的缓存设计与实现

阿里云日志服务(SLS)提供一站式数据采集、加工、查询分析、告警、可视化与投递等功能,其中查询分析以简单统一的接口提供大规模数据的查询、计算和分析能力,深受用户喜爱。 目前,分析系统每天接收5+亿次SQL查询请求,在底层,分析系统基于Presto内核,其中Coordinator节点上负载尤其严重,其...

153
2024-05-15
133008

走进RDS之MySQL内存分配与管理(上)

MySQL的内存分配、使用、管理的模块较多,本篇文章主要介绍InnoDB层和SQL层内存分配管理器,主要包括ut_allocator、mem_heap_allocator和MEM_ROOT,代码版本主要基于8.0.25。

133,008
2024-05-15
118

Java 22 新增利器: 使用 Java Stream Gather 优雅地处理流中的状态

本文中我们分析了 什么 是 “流”,对比了 Java 上几种常见的 “流”库,引入和详细介绍了 Java 22 中的 Stream Gather API 。同时也简单分享了利用虚拟线程 如何简化 Stream map Concurrent操作符的实现。希望抛砖引玉和大家分享新的特性,共同进步。同时也希望大家都可以升级到新版本的 JDK,更好的赋能业务。

118
2024-05-15
88

万字长文:一文详解单元测试干了什么

好的单元测试不仅可以验证代码结构设计的是否合理,而且可以提前发现代码中的漏洞,将线上风险扼杀在摇篮中。本文从常用的单元测试框架出发,对Mockito框架深入浅出的讲解,希望能帮到每一位同学。

88
2024-05-15
140

性能优化:通用快照方案

本文我们将探讨快照技术如何增强页面性能和用户体验,如何在业务中集成快照方案,以及我们的通用快照解决方案的技术细节。

140
2023-04-23
25586

慢SQL是如何拖垮数据库的

本文结合一个实际故障案例出发,分析慢SQL是如何打垮数据库并引发故障的。

25,586
2023-05-16
8364

Spring循环依赖那些事儿(含Spring详细流程图)

本篇不仅仅是介绍Spring循环依赖的原理,而且给出Spring不能支持的循环依赖场景与案例,对其进行详细解析,同时给出解决建议与方案,以后出现此问题可以少走弯路。

2023-06-02
6756

深度解析PolarDB DDL锁的优化和演进

DDL是数据库所有SQL操作中最繁重的一种,本文总结介绍了云原生数据库PolarDB中DDL全链路MDL锁治理的经验和进展,持续优化用户的使用体验,为用户打造最佳的云原生数据库。

6,756
1
...
5
6
7
...
17
到第
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
6/17