关系型数据库
阿里云关系型数据库主要有以下几种:RDS MySQL版、RDS PostgreSQL 版、RDS SQL Server 版、PolarDB MySQL版、PolarDB PostgreSQL 版、PolarDB分布式版 。
Dynamic Programming Strikes Back - MySQL8.0的新优化器
这篇paper是著名的DPccp算法的延续,仍然是讨论如何最高效的基于Dynamic Programing,实现join ordering这个SQL查询优化中最为核心的功能。
Optimizing Queries over Partitioned Tables in MPP Systems
随着互联网数据的爆炸性增长,传统数据库系统在单表数据容量方面承受了越来越大的压力。以前公司内部的数据库,存放的主要是来自公司业务或内部管理系统的信息,中小型公司甚至一个MySQL实例就搞定了。但现在数据源不仅更丰富,数据量也在指数级增长,从业务的角度,基于hash/range的分区表变得越来越有吸引力。
Adaptive and Big Data Scale Parallel Execution in Oracle
在上篇文章中,主要讨论了SQL Server的MPP数仓系统PDW的分布式优化过程,PolarDB的并行优化从中有所借鉴,本篇文章主要看下这篇介绍Oracle并行执行策略的paper,因为在PolarDB的分布式执行策略中,有很多与其有所重叠。
Query Optimization in Microsoft SQL Server PDW
最近一年一直在做PolarDB的并行优化器,过程中调研了各种分布式数据库系统的优化和执行框架,后续几篇文章将一一分享,首先介绍对PolarDB MySQL的并行优化框架影响最大的,也就是SQL Server PDW。
The MemSQL Query Optimizer: A modern optimizer for real-time analytics in a distributed database
今天我们要介绍的MemSQL就采用这样一种新的形态(Oracle也变为了这种方式 ):即在做transformation时,要基于cost确定其是否可应用。 当然,本篇paper不止讲解了CBQT,还包括一些MemSQL优化器其他方面的介绍,包括一个有意思的heurstic based bushy join的方案。
Testing the Accuracy of Query Optimizers
在前文最后,我们提到了围绕着Orca打造的测试工具集,其中一个就是本篇paper的主角: TAQO。这个测试框架目标是为了测试优化器cost model的精确性,它针对优化的本质目标,提出了一种简单灵活,且易于扩展的方案,且便于实现。目前在PolarDB的分布式优化器中,我们已经采用了这种方法去度量分布式exchange 算子(Enforcer)和复杂计算(aggregation...)的代价因子。 当然,这个框架不局限于Orca,它可以在近乎黑盒的情况下对cost model进行校准,并针对不同optimizer的cost model质量进行横向评估,如果有开发或扩展优化器cost mode
Orca: A Modular Query Optimizer Architecture for Big Data
在之前的几片paper笔记中,对最为主流的两套优化器框架进行了解读,包括bottom-up dynamic programming的search策略和基于Top-down memorization的search策略
The Cascades Framework for Query Optimization
这篇paper是前一篇Volcano optimizer的后续,其涉及的概念和优化思路是一脉相承的,在阅读本篇之前,最好对Volcano optimizer有足够的了解,详见文章Volcano优化器框架。
The Volcano Optimizer Generator : Extensibility and Efficient Search
数据库查询优化器的搜索技术,基本上分为了基于动态规划的bottom-up search(详见文章System-R论文解读)和基于Cascades/Volcano的top-down search两个流派,这篇文章我们来看一下Cascades的前身也就是Volcano优化器框架的paper。
Access Path Selection in a Relational Database Management System
如果说选一篇在优化器框架上,被引用次数最多的文献,应该非这篇论文莫属了,还记得Andy Pavlo在cmu的课程中提到IBM Research的一群大神们,是怎么一人一个模块来负责System R的设计的,而关于Join order enumeration,Selinger可以说是开创了dynamic programing based 的bottom-up的搜索空间算法的先河,直至今日,很多成熟的商业或开源数据库系统仍在沿用这套框架,比如Oracle / DB2 / PostgreSQL ...
数据库查询优化器论文列表
过去一年间,对优化器相关论文做了个系统性的学习,把过程中阅读的论文笔记记录在这里,和大家分享,欢迎大家和我一起讨论,纠错补差,共同进步 ~ 阅读路线基本遵照了pingcap github上的一个Awesome Database Learning的资料,这个资料非常棒,包含了一些基本的课程 + 书籍,还按照内核中不同模块的不同方面做了分类,非常系统化,尤其是SQL层面非常详尽,正好符合需求,因此阅读基本也是按其中的paper来,并扩展到一些没有涉及的内容,总体目录如下(优化器部分),由于内容较多,主要挑选其中影响力较大的或者最有参考意义的。
PolarDB期待,更好的世界,更好的你
PolarDB 作为阿里云的重磅明星产品,是目前唯一 100% 兼容 MySQL 5.6/5.7/8.0 的云原生数据库产品。 通过多节点集群架构,存储与计算分离,共享存储等一系列创新技术, PolarDB 拥有卓越的计算性能,100TB的存储容量,100%兼容MySQL,1/10其他商用数据库的成本,为阿里云客户以及阿里集团提供强有力的数据库服务。我们的技术不仅服务于千万阿里云线上客户,创造PolarDB系列产品的营收神话,还多次登上数据库顶级会议SIGMOD,VLDB等的世界舞台。
一位挪威博士是如何成为阿里云PolarDB资深架构师的?How I ended up working as a senior architect on PolarDB
挪威博士倾心传授对于软件架构师角色至关重要的经验,希望能指导和帮助各位技术同学实现成为资深技术架构师。
MySQL 深潜 - 一文详解 MySQL Data Dictionary
在 MySQL 8.0 之前,Server 层和存储引擎(比如 InnoDB)会各自保留一份元数据(schema name, table definition 等),不仅在信息存储上有着重复冗余,而且可能存在两者之间存储的元数据不同步的现象。不同存储引擎之间(比如 InnoDB 和 MyISAM)有着不同的元数据存储形式和位置(.FRM, .PAR, .OPT, .TRN and .TRG files),造成了元数据无法统一管理。此外,将元数据存放在不支持事务的表和文件中,使得 DDL 变更不会是原子的,crash recovery 也会成为一个问题。
一文详解PolarDB披荆斩棘的“秘密武器”
阿里巴巴自主研发的下一代关系型分布式云原生数据库PolarDB,在兼容传统数据库生态的同时,突破了传统单机硬件的限制,为用户提供大容量,高性能,极致弹性的数据库服务。
友邦人寿引入阿里云PolarDB云数据库 支撑保险业务系统加速上云
友邦人寿日前加速重要业务系统上云进程,包括保险出单、保单契约等在内的数十套业务系统,开始采用阿里云PolarDB云原生数据库,通过全面替代传统商业数据库,进一步提升业务系统性能,为最终用户提供最稳定、可靠的服务。
删库跑路?别怕!PolarDB-X 轻松拯救误删数据的你
本文主要围绕数据误删中的行级误删情况,介绍了 PolarDB-X 的 SQL 闪回是如何帮助用户恢复数据的。相对于现有的数据恢复方案,SQL 闪回的 SQL 级的回滚能力以及易于上手的操作界面能够帮助用户更加精准、更加快速地恢复误删数据。
【巡检问题分析与最佳实践】PolarDB 死锁问题
死锁是关系型数据库系统中最为常见的错误,出现在不同事务中同时对某些数据访问加锁时都要等待对方请求中的数据而无法获取锁,数据库系统会自动牺牲回滚代价最小的事务,从而导致对应的写请求失败,更严重的情况是在大量死锁发生时,会导致数据库系统效率低下,堆积进程大量堆积引发性能问题。
【巡检问题分析与最佳实践】PolarDB 流量 & 代理问题
PolarDB集群原生支持读写分离方式接入业务,但是在真实业务中,经常出现节点上负载不均情况,严重的话可能导致单节点承担大量的流量被拖跨,最终整个集群雪崩影响业务。本文主要描述PolarDB代理的配置方法以及流量不均时如何定位。
阿里13篇论文入选数据库顶会 PolarDB创新技术架构获认可
ACM SIGMOD被公认是数据库领域具有最高学术地位的国际性会议,收录论文代表了数据库相关技术的最高水平,也是未来技术发展的重要风向标。阿里多个团队参与了本次大会,获得录取的13篇论文来自阿里云数据库、计算平台、阿里巴巴达摩院等团队,其中数据库论文就有8篇,论文覆盖云原生数据库、数据库管理资源优化、SQL 查询优化、增量图算法、时序多周期检测等前沿和热点技术领域。
虎扑利用阿里云RDS自治数据库轻松应对欧洲杯流量洪峰
今年欧洲杯、美洲杯等热点赛事期间,国内最大的体育互联网平台虎扑迎来密集流量洪峰的大考,通过充分使用云上资源,尤其利用阿里云RDS数据库企业级自治能力,轻松应对创下新高的并发访问量。
“掌上志愿”App引入阿里云PolarDB数据库 平稳应对数十倍突发流量
记者日前采访获悉,高考报名咨询机构“圣达信”在今年的业务高峰到来之前,通过引入阿里云PolarDB云原生关系型数据库,平稳应对高考报考数十倍的突发流量增长,助力高考学子选择合适的专业和院校。
上海ACE同城会演讲实录|云原生分布式数据库PolarDB-X
在近期的上海ACE同城会上,阿里云数据库高级产品专家吴林为大家分享了云原生分布式数据库PolarDB-X的技术架构、业务场景以及最佳实践等。 本文内容根据演讲录音及PPT整理而成。 本次分享将主要分为四个方面: 一、数据库简介; 二、PolarDB-X 架构; 三、PolarDB-X 业务场景; 四、PolarDB-X 案例。
RDS PostgreSQL一键大版本升级技术解密
内容简要: 一、PostgreSQL行业位置 二、PostgreSQL版本升级背景 三、PostgreSQL版本升级解密 四、PostgreSQL版本升级成果
PolarDB-X 是如何用15M内存跑1G的TPCH
本文主要对PolarDB-X计算层的内存管理进行分析,这有助于大家有PolarDB-X有更深入的理解。 PolarDB-X内存管理机制的设计,主要为了几类问题: 1. 让用户更容易控制每个查询的内存限制; 2. 预防内存使用不当,导致内存溢出进而引发OOM; 3. 避免查询间由于内存争抢出现相互饿死现象; 4. 避免AP Workload使用过多内存,严重拖慢TP Workload
商业化十周年,阿里云RDS推出企业级自治数据库
近日,阿里云宣布RDS数据库品牌升级计划,推出云原生企业级自治数据库。今天也是阿里云RDS商业化十周年。据了解,阿里云是国内首家提供自治服务的数据库厂商,基于人工智能和机器学习技术,阿里云RDS数据库提供自动升级、自动调优等100%数据库自动驾驶能力。云原生数据库2.0时代,阿里云RDS通过企业级的自治能力为客户提供更快、更稳、更安全的数据库服务。
顶会点赞!PolarDB Serverless实现了哪些突破?
这篇题为《PolarDB Serverless: A Cloud Native Database for Disaggregated Data Centers》的论文,介绍了阿里云自研数据库PolarDB基于计算存储分离,实现的最新Serverless技术架构研究进展。PolarDB Serverless论文的录用,标志着阿里云PolarDB数据库在最新一代架构的探索上迈出领先一步。
云原生分布式数据库PolarDB技术深度解密
无论是部署量还是规模上,开源生态正在超越商业数据库的生态。目前不断涌现的数据库,通常都会兼容开源生态或者自己开源。 数据库的发展演进从最初在云下,后来慢慢到了云上,如今又有走向云下的趋势。我们发现,原来商业数据库的一些东西又回来了,如很多大客户喜欢的特性,是开源数据库不具备,而商业数据库所擅长的。如何在开源数据库上做好企业级特性,我们在这上面做了大量的工作。
权威认可!PolarDB-X高分通过中国信通院《分布式事务数据库稳定性专项评测》
近日,阿里云PolarDB-X云原生分布式数据库完成中国信通院《分布式事务数据库稳定性专项评测》,高分通过全部测试项目。
PolarDB for PostgreSQL 训练营玩法公告
本期训练营内容充实,可以满足数据库领域不同开发者的多样化需求。无论你是新晋开发者,还是身经百战的数据库大牛,都欢迎报名,与阿里云共建云原生数据库生态。代码贡献者更有机会获得绝佳项目offer及PolarDB精美定制礼品!
PolarDB for PostgreSQL 重磅开源,首期训练营限时免费抢报!
阿里云已正式开源云原生数据库能力,开放关系型数据库PolarDB for PostgreSQL的源代码。为了将阿里云内部沉淀多年的的数据库技术能力回馈给开发者,和百万开发者共同成长,阿里云联合PG中文社区、白玉兰开源共同打造“七天玩转PolarDB for PostgreSQL开源创造营”,特别邀请中国计算机学会(CCF)数据库专委副主任、武汉大学计算机学院彭智勇教授为你解读数据库领域前沿趋势,还有PG社区资深专家、阿里云数据库技术大咖联合授课,从理论讲解到手把手实战演练,提升个人代码质量,探索职业突破!
阿里云PolarDB两篇论文入选数据库顶会SIGMOD2021 最新一代架构领先世界
阿里云研发的下一代云原生数据库PolarDB Serverless的论文被ACM SIGMOD录用,标志着阿里云PolarDB数据库在最新一代架构上领先于业界其他云厂商。
阿里云李飞飞:什么是云原生数据库
云原生是一种新型技术体系,是云计算未来的发展方向。今天,我来谈谈何为云原生、云原生如何与分布式有机结合,以及云原生技术如何帮助客户迈入数字原生时代。
深度解析 RDS MySQL
RDS MySQL是云数据库服务,它将MySQL的部署、运维、弹性、安全等特性封装起来,对外提供一个数据库实例,相对于用户自建数据库,云数据库服务具有更经济、更专业、更高效、更可靠、简单易用等特点,使用户能更专注于核心业务。
水平扩展太难了!PolarDB-X 为你支招
水平扩展(Scale Out)对于数据库系统是一个重要的能力。采用支持 Scale Out 架构的存储系统在扩展之后,从用户的视角看起来它仍然是一个单一的系统,对应用完全透明,因此,它可以使数据库系统能有效应对不同的负载场景,对用户非常用价值。
深度解析PolarDB数据库并行查询技术
随着数据规模的不断扩大,用户SQL的执行时间越来越长,这不仅对数据库的优化能力提出更高的要求,并且对数据库的执行模式也提出了新的挑战。随着数据库在云上的蓬勃发展,越来越多的传统用户迁移到云上,享受云上弹性扩展的红利,但是随着业务的快速扩张,却发现即使动态增加了很多资源,但SQL的执行时间还是越来越慢,并没有随着资源的投入达到预期的效果。显而易见,虽然新增了很多资源,但这些资源并没用被充分利用,很多传统的商业数据库,如Oracle、SQL Server等都提供对并行查询引擎的支持,以充分利用系统资源,达到加速SQL执行的效果。