PolarDB要开源了?这个数据库到底强在哪?

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
简介: PolarDB要开源,相关技术情况简介

去年年末中国电子学会正式公布了2020年中国电子学会科学技术奖名单, 阿里云自主研发的云数据库PolarDB,获得科技进步一等奖。

 

pdb1.png

(左四为PolarDB项目的负责人李飞飞)

这不是阿里去第一次获得这样的荣耀,阿里云的飞天操作系统在2018年曾经获得过电子学会科学进步特等奖,也是该奖项设立以来科学进步方面的首个特等奖,这次PolarDB的获奖也说明了阿里云自主技术的实力。

在今年5月29日的阿里云开发者大会上,李飞飞正式宣布将开源PolarDB for PostgreSql,这个决定的宣布也是整个开发者大会上,笔者得到的最大的惊喜之一。

 

PolarDB是阿里云自研的数据库产品家族,采用存储计算分离、软硬一体化设计,既拥有分布式设计的低成本优势,又具有集中式的易用性,可满足大规模应用场景需求。计算能力最高可扩展至1000核以上,存储容量最高可达100TB,集群版单库最多可扩展到16个节点,性能比MySql高6倍。PolarDB系列产品已连续多年稳定支撑天猫双11,处理峰值高达创纪录的1.4亿次/秒。

PolarDB有三个兼容的产品分支,分别对应MySql、PostgreSql和Oracle。我们注意到此次在阿里云开源PolarDB for PostgreSql分布式版本之前,华为OpenGauss计划实际上也是 GaussDB For PostgreSql的版本,此次阿里云的开源也颇有与华为GaussDB同场竞技,通过代码显现自身实力的意味。PolarDB本次开源使用比较开放的Apache Version 2.0协议,代码可以修改和再发布。

自2018年起,阿里云连续三年进入Gartner数据库魔力象限,并在2020年挺进Gartner全球数据库领导者象限,成为基础软件领域首次进入领导者象限的中国企业。目前,阿里云数据库市场份额稳居全球前三,亚太第一。因此本次PolarDB的开源实在令人惊喜,因为开源实际是把自身的核心技术完全开放出来,这也会给竞争对手以一定的借鉴参考甚至超车的机会,只有对自身技术迭代能力极为自信的企业,才会选择将核心技术开源。

据传,最初对于PolarDB是否开源,阿里云内部的讨论十分激烈,为此张建锋和李飞飞甚至拍过桌子,但最终的决定还是开源。在听完了李飞飞在本次开发者大会的分享后,笔者认为PolarDB开源的底气其实在于阿里云对于数据生态链条完整的把控,而通过开源也必然会让阿里云数据库生态体系更加强大。

大有大的难处,数据库的Sql之争

权威咨询机构IDC对于大数据的定义是现有技术难以处理的数据。从历史来看,在谷歌提出大数据三驾马车的论文时,当时的关系型数据库技术就已处于难以处理大规模数据的状态。而在当下各行各业不断上云的大背景下,数据的量级必然还将不断创出新高,从笔者了解到的情况来看,整个IT行业存储的数据量级正在以年化80%左右的速度增长,传统Sql的数据库很难处理这样的数据量。

随着时间的发展现在数据库方面有两大流派,一个是非关系型(NoSql)数据库,这是一种专门用来存储海量数据的Key-Value型数据库,主要用于用户画像、业务报表等海量数据的挖掘工作;另外一个是关系型(Sql)数据库,其针对个别记录增、删、改、查的速度很快,但很少做全表级别的大型关联计算,因此一般用于联机交易场景。简而言之,Sql处理速度快,NoSql处理数据量级高。

之前Sql与NoSql的应用场景两不重叠,井水不犯河水,但像直播带货这样的新场景不断涌现,由于在直播中的交易既要更新商家的库存和买家的帐户余额,又要根据客户行为进行实时分析、精确营销,类似这种综合Sql与NoSql需求的业务场景不断涌现,而以PolarDB为代表的云数据库则是解决这类问题的最佳途径。

以笔者所在的银行为例,目前一般在商业银行都使用Oracle数据库作为核心系统,但Oracle只能处理流程性的交易数据,不能做数据挖掘,要想把数据价值做二次表达,要每天做ETL、跑批作业、存到数据仓库中,然后在数据仓库中建模、挖掘、数据集市、ODS,一层一层地构建起数据仓库报表。

如果还回答不出非线性问题这样更细节更隐含的问题,就要把数据复制到SAS中做机器学习,再做统计的指标体系,以便做进一步的挖掘。数据要在这里搬动三次,复制三份冗余,还要管理数据一致性,每天数据中心运维的大量工作在做数据搬家。而数据在这种低效的转运迁移过程当中,很多价值也就白白耗散了,同时带来了处理时效和灾备建设这两个巨大的问题。

在处理时效问题上,正如我们前文所说,Sql与NoSql两种产品底层构建模型并不相同,彼此兼容性不佳。这首先就会催生出数据处理的时效性问题,还是以笔者所在的银行为例,分析数据在交易核心数据库中跑批处理,再ODS抽取ETL分析到数仓,再进一步训练流式计算,最后再入湖,整个数据手动的过程至少需要一天。

而且Hadoop和数据湖的开源生态中很多组件并不兼容,日常运维已捉襟见肘,想提速也无从下手,但业务对于转瞬即逝的营销机会又如此渴求,T+1分钟可能都会嫌慢。对于处理时效的要求可能是大数据工程师与产品经理之间永远无法达成的协议。

PDB与ADB的协同之战

从上面的介绍想必大家也能看出来,目前各个数据中心都迫切的找到一个一栈式解决方案,屏蔽底层组件的差别,打造“All Data In One”的解决方案,只有如此才能提高效率,低成本运维。而阿里云的PolarDB为代表的关系型数据库专注于解决Sql的需求,其 提供 的自动参数优化,自动索引推荐等功能,极大的提升了数据库管理员的幸福感,AnalyticalDB则是NoSql数据仓库方面的绝顶高手,这两个产品形成的数据库解决方案体系弥合了Sql与NoSql之间的鸿沟。

以PolarDB为代表的云原生数据库通过存储和计算分离、资源解耦,从而具备更高的弹性和高可用性以及分布式的能力,来满足业务对按需按量使用和按需按量付费的需求。

PolarDB和AnalyticalDB都是一种服务,用户完全可以不关注隐藏在PaaS层之后的具体细节,数据库及数仓之间的数据流动等技术细节被云服务封装起来,对于用户屏蔽了,这也使这一整套解决方案体系综合了NoSql与Sql的优势,用户可以不费吹灰之力的同时拥有一个高效的数据仓库,可谓一举用户在使用数据库中的最大痛点。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
8天前
|
关系型数据库 分布式数据库 数据库
PolarDB 开源基础教程系列 9 开源社区合作和共建
本文介绍了玩转 PolarDB 开源社区指南:如何搭建 PolarDB 开发环境及参与开源社区。 主要内容: 1. **搭建开发环境**:提供多种 Docker 镜像供开发者选择,支持 x86_64 和 ARM64 架构,适配 CentOS、Debian、Ubuntu 等多个 Linux 发行版。 2. **编译与部署**:通过 Docker 容器克隆 PolarDB 源码并编译安装,支持构建一写多读集群测试 ePQ MPP 优化器功能。 3. **参与开源社区**:介绍个人、生态伙伴和用户如何从社区中获取技能、建立连接、积累战绩并提升影响力。社区活动涵盖公开课、训练营、编程大赛、企业行等。
51 5
|
8天前
|
存储 关系型数据库 分布式数据库
PolarDB 开源基础教程系列 8 数据库生态
PolarDB是一款开源的云原生分布式数据库,源自阿里云商业产品。为降低使用门槛,PolarDB携手伙伴打造了完整的开源生态,涵盖操作系统、芯片、存储、集成管控、监控、审计、开发者工具、数据同步、超融合计算、ISV软件、开源插件、人才培养、社区合作及大型用户合作等领域。通过这些合作伙伴,PolarDB提供了丰富的功能和服务,支持多种硬件和软件环境,满足不同用户的需求。更多信息请访问[PolarDB开源官方网站](https://openpolardb.com/home)。
44 4
|
8天前
|
SQL 关系型数据库 分布式数据库
PolarDB 开源基础教程系列 7.5 应用实践之 TPCH性能优化
PolarDB在复杂查询、大数据量计算与分析场景的测试和优化实践.
36 7
|
8天前
|
人工智能 关系型数据库 分布式数据库
PolarDB 开源基础教程系列 7.4 应用实践之 AI大模型外脑
PolarDB向量数据库插件通过实现通义大模型AI的外脑,解决了通用大模型无法触达私有知识库和产生幻觉的问题。该插件允许用户将新发现的知识和未训练的私有知识分段并转换为向量,存储在向量数据库中,并创建索引以加速相似搜索。当用户提问时,系统将问题向量化并与数据库中的向量进行匹配,找到最相似的内容发送给大模型,从而提高回答的准确性和相关性。此外,PolarDB支持多种编程语言接口,如Python,使数据库具备内置AI能力,极大提升了数据处理和分析的效率。
31 4
|
8天前
|
搜索推荐 关系型数据库 分布式数据库
PolarDB 开源基础教程系列 7.3 应用实践之 精准营销场景
本文介绍了基于用户画像的精准营销技术,重点探讨了如何通过标签组合快速圈选目标人群。实验分为三部分: 1. **传统方法**:使用字符串存储标签并进行模糊查询,但性能较差,每次请求都需要扫描全表。 2. **实验1**:引入`pg_trgm`插件和GIN索引,显著提升了单个模糊查询条件的性能。 3. **实验2**:改用数组类型存储标签,并结合GIN索引加速包含查询,性能进一步提升。 4. **实验3**:利用`smlar`插件实现近似度过滤,支持按标签重合数量或比例筛选。
28 3
|
8天前
|
关系型数据库 分布式数据库 PolarDB
PolarDB 开源基础教程系列 7.2 应用实践之 跨境电商场景
本文介绍了如何在跨境电商场景中快速判断商标或品牌侵权,避免因侵权带来的法律纠纷。通过创建品牌表并使用PostgreSQL的pg_trgm插件和GIN索引,实现了高性能的字符串相似匹配功能。与传统方法相比,PolarDB|PostgreSQL的方法不仅提升了上万倍的查询速度,还解决了传统方法难以处理的相似问题检索。具体实现步骤包括创建品牌表、插入随机品牌名、配置pg_trgm插件及索引,并设置相似度阈值进行高效查询。此外,文章还探讨了字符串相似度计算的原理及应用场景,提供了进一步优化和扩展的方向。
35 11
|
8天前
|
SQL 关系型数据库 分布式数据库
PolarDB 开源基础教程系列 7.1 快速构建“海量逼真”数据
本文介绍了如何使用PostgreSQL和PolarDB快速生成“海量且逼真”的测试数据,以满足不同业务场景的需求。传统数据库测试依赖标准套件(如TPC-C、TPC-H),难以生成符合特定业务特征的复杂数据。通过自定义函数(如`gen_random_int`、`gen_random_string`等)、SRF函数(如`generate_series`)和pgbench工具,可以高效生成大规模、高仿真度的数据,并进行压力测试。文中还提供了多个示例代码展示.
25 7
|
8天前
|
关系型数据库 分布式数据库 数据库
PolarDB 开源基础教程系列 6 开源插件扩展
1、当前环境已安装并支持哪些插件 2、AI外脑插件: vector 3、营销场景目标人群圈选插件: smlar 4、地理信息搜索插件: PostGIS 5、中文分词插件: pg_jieba 6、融合计算插件: duckdb_fdw 7、读写分离工具: pgpool-II
25 3
|
8天前
|
关系型数据库 分布式数据库 数据安全/隐私保护
PolarDB 开源基础教程系列 5 高级特性体验
PolarDB 特性解读与体验涵盖多项关键技术,包括预读/预扩展、Shared Server(建议使用连接池)、闪回表和闪回日志、弹性跨机并行查询(ePQ)及TDE透明数据加密。预读/预扩展通过批量I/O操作显著提升Vacuum、SeqScan等场景性能;Shared Server优化高并发短连接处理;闪回功能可恢复表至指定时间点;ePQ支持跨机并行查询以提高复杂查询效率;TDE确保数据存储层的安全加密。
21 1
|
3天前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
42 25

热门文章

最新文章