暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

当上古编程语言Perl遇见极品数据库PolarDB

原创 严少安 2024-08-07
214

1687758030880_20230626134019.jpg

Perl 是 1987 年由拉里·沃尔(Larry Wall)设计、发表的,一种功能强大、功能丰富的编程语言。经过了 36 年的开发,Perl 可在从便携式计算机到大型机的 100 多个平台上运行,适用于快速原型设计和大规模开发项目。

关于 Perl 的拼写:

“Perl” 是该语言的名称。只有“P”大写。传统上,运行 Perl 脚本的程序名称是“perl”,“p”小写。大多数对该语言的引用应使用“Perl”。

Perl 借取了C、sed、awk、shell 脚本语言以及很多其他程序语言的特性。其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。

虽然 Perl 还在更新,1993年发布 Perl 5.0,2024年发布 Perl 5.40,

但,时过境迁,Perl 语言因语法复杂,性能一般,代码维护困难等原因,已逐渐被 Python 语言取代。

tiobeindexpython.png

本文将介绍一款极品云原生数据库 PolarDB ,以及如何使用上古编程语言 Perl 连接 PolarDB。

PolarDB

云原生数据库 PolarDB 是阿里云自研产品,在存储计算分离架构下,利用了软硬件结合的优势,为用户提供秒级弹性、高性能、海量存储、安全可靠的数据库服务。100%兼容MySQL和PostgreSQL生态,支持分布式扩展,高度兼容Oracle语法。PolarDB 坚定遵循自主可控、开放生态的发展思路,于2021年正式开源。

在7月发布的中国数据库流行度排行榜中,PolarDB再次刷新了800分的记录,以812.78的高分居于榜首,其在专利、案例以及论文方面的数据均高于其他厂商。在智利举行的数据库国际学术顶会 SIGMOD 2024 上,阿里云共有14篇论文被收录,成为入选论文数量最多的中国科技企业。更值得一提的是,阿里云凭借自研PolarDB新架构斩获工业赛道“最佳论文奖”,成为首个获得该殊荣的中国企业。PolarDB创新设计了“分布式共享内存和存储”多主数据库架构,其性能达到了业界同类数据库的3倍,并且已实现大规模商用,充分验证了其在实际业务场景中的卓越表现。[1]

PolarDB-PG

PolarDB for PostgreSQL,简称“PolarDB-PG”,是阿里云自主研发的云原生关系型数据库产品,100% 兼容 PostgreSQL;采用基于 Shared-Storage 的存储计算分离架构,具有极致弹性、毫秒级延迟、HTAP 的能力和高可靠、高可用、弹性扩展等企业级数据库特性。同时,PolarDB 具有大规模并行计算能力,可以应对OLTP与OLAP混合负载。

2021年,阿里云将PolarDB开源,使得开发者和客户能够快速使用并参与到技术产品的迭代过程中。

PolarDB-PG 的重要特性

  1. 存储计算分离:PolarDB-PG将存储和计算层分离,使得资源可以独立扩展,提高了系统的灵活性和扩展性。
  2. 软硬一体化设计:通过硬件和软件的深度整合,PolarDB-PG能够提供更优的性能和稳定性。
  3. 高可用性:PolarDB-PG具备自动故障转移和数据复制功能,确保业务的连续性和数据的安全性。
  4. 开源:PolarDB-PG的开源策略促进了社区的参与和技术创新,加速了产品的发展。

PolarDB-PG 本地启动

PolarDB-PG 支持多种部署形态:单机本地部署、存储计算分离部署、X-Paxos三节点部署。

本地环境可以使用 Docker 快速启动 PolarDB-PG 容器。

  1. 拉取 PolarDB-PG 镜像
docker pull polardb/polardb_pg_local_instance
  1. 创建并运行容器
[root@shawnyan ~]# docker run -d -it --privileged=true --name polardb-pg -p 54320-54322:5432-5434 polardb/polardb_pg_local_instance bash
961ae2d9f491ff2362ff15e8ba7b7cc2cad89c78024b253b96fac97696ededb9
[root@shawnyan ~]# docker ps
CONTAINER ID   IMAGE                               COMMAND                  CREATED          STATUS          PORTS                                                                                                                                   NAMES
961ae2d9f491   polardb/polardb_pg_local_instance   "./docker-entrypoint…"   17 seconds ago   Up 16 seconds   0.0.0.0:54320->5432/tcp, :::54320->5432/tcp, 0.0.0.0:54321->5433/tcp, :::54321->5433/tcp, 0.0.0.0:54322->5434/tcp, :::54322->5434/tcp   polardb-pg
[root@shawnyan ~]# 
  1. 测试可用性
docker exec -it polardb-pg psql -c 'select version();'
            version
--------------------------------
 PostgreSQL 11.9 (POLARDB 11.9)

perl-DBD-Pg

DBD::Pg 是一个 Perl 模块,它与 DBI 模块一起工作,为 Perl 程序提供了访问 PostgreSQL 数据库的能力。

在 Linux 系统上,可以使用包管理器安装 DBD::Pg。例如,在 CentOS 7,可以使用以下命令:

yum install perl-DBD-Pg

编写 Perl 脚本连接 PolarDB-PG

以下是一个简单的 Perl 脚本示例,展示了如何使用 DBD::Pg 连接到 PolarDB-PG 数据库,并执行查询:

use DBD::Pg;
use DBI;
...
my $dbh = DBI->connect($dsn, $user, $password, {
...
my $query = "SELECT version()";
my $sth = $dbh->prepare($query);
$sth->execute()

运行脚本,得到查询结果。

[root@shawnyan ~]# ./conn-polar.pl
PostgreSQL 11.9 (POLARDB 11.9)

2024云栖大会,9月19日见

2024杭州·云栖大会,来了!

9月19日至21日,杭州·云栖小镇

三场重磅主论坛

400场论坛与并行话题

40000平米智能科技大展

即日起,注册免费领取云栖大会门票!

微信图片_20240807115028.png


🌻 往期精彩 ▼


– / END / –

👉 这里可以找到我

如果这篇文章为你带来了灵感或启发,就请帮忙点『』or『在看』or『转发』吧,感谢!ღ( ´・ᴗ・` )~


  1. https://www.modb.pro/db/1810969019491565568 ↩︎

最后修改时间:2024-12-28 15:02:33
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论