云原生虚拟数仓 PieCloudDB 兼容 PostgreSQL 协议,支持标准数据库接口(ODBC、JDBC 等),同一账户下的用户可通过虚拟数仓,使用 JDBC 、ODBC 或 Postgres 驱动从外部连接数据库来获取数据。此外,PieCloudDB 云上云版提供了可视化界面,替换了传统 node-port 连接,打造了全新的外部连接工具 PieProxy,方便用户的使用。本文将详细介绍这款全新的外部连接工具。
作者 | Arlena Wang, 拓数派 Data Science Lab
PieCloudDB 现支持使用全新外部连接工具 PieProxy 进行外部接入。PieProxy 是基于 PgBouncer、为 PieCloudDB 量身定制的外部连接工具。与传统 node-port 连接相比,PieProxy 更轻量,通过高并发、高可用性,有效减轻数据库在处理外部连接请求时的负担。
欢迎大家前往 PieCloudDB 云上云版(app.pieclouddb.com)试用这款全新的外部连接工具。
在 PieCloudDB 中,外部接入利用了 PostgreSQL 的 Options 属性(PGOptions)来指定在建立数据库连接时所需的参数和设置。利用 PGOptions,PieCloudDB 得以将虚拟数仓的信息加入参数设置,从而与虚拟数仓建联。当然,对于无法设置 PGOptions 的客户端,PieCloudDB 也提供了替代方法(详见本文第 3 部分)。
● 虚拟数仓信息:
虚拟数仓 ID、接入地址、端口号
在通过一个实例详细介绍 PieProxy 前,我们先来了解一下所需的这三类信息:
本文将以《快速开始 PieCloudDB》(https://www.openpie.com/community/blog/9342888398)中的 David 作为账户管理员。用户登录后可通过平台右上角的用户信息栏点击外部接入,获得用户相关的外部接入信息。点击右上角菜单「外部接入」按钮,进入相关界面。
点击「重置接入 Token」获得接入用户名及 Token 密码。建议用户将 Token 自行保管,再次重置 Token 会将接入密码重新设置,先前的密码将不再有效。

02.
虚拟数仓信息
记录好用户名和 Token,我们来到左侧菜单栏「虚拟数仓」菜单。进入界面后,确认目标虚拟数仓已开启外部接入。这里我们进行外部连接的虚拟数仓为「VW1」。
根据需要外部接入的虚拟数仓,点击右侧「查看详情」查看虚拟数仓详细信息,界面大致如下。
进入详情页面后,外部接入需要如上图所示该界面中的三条信息:
本文将以 PieCloudDB 中的初始数据库「openpie」为例,进行外部连接。这里我们只需数据库名称即可。
综合在「外部接入」界面获得的信息,我们可通过以下信息进行外部连接。接下来,我们将通过一个连接实例来详细介绍相关步骤。
● Token 密码:01************3db
PGOPTIONS='-c warehouse=******'
这里我们以 DBeaver 为例。进入 DBeaver 后,点击左上角新增一个连接。

进入添加界面后选择「PostgreSQL」。

进入下一步,调整服务器、数据库、用户名及 Token 密码。如前文所述,这里我们连接的是初始数据库「openpie」。

完成后进入驱动属性界面,找到「options」,按照平台提供的格式填入虚拟数仓 ID。

设置完毕后点击测试连接,可以看到我们已成功连接到相应数据库。

点击完成按钮,完成连接设置。

接下来,我们使用刚设置的连接来执行 SQL 任务。选择刚刚设置的连接,点击左上角 SQL 按钮新添一个 SQL 文件。

这里,我们在「openpie」数据库中新建一个表,插入新数据并验证新数据的存在。
CREATE TABLE test_1 (id int);
INSERT INTO test_1 VALUES (1),(2),(3);
SELECT * FROM test_1;
运行结果如下图所示。

我们也可使用 DBeaver 读写数据库中已存在的表。这里以「test_table」为例。「test_table」是一个先前被清空的表。我们在这张空表中插入两行新数据,并验证了新数据的存在。
INSERT INTO test_table VALUES (4),(5);
SELECT * FROM test_table;
运行结果如下图所示。


在一些数据库管理及开发工具中,数据库连接无法设置选项。在这种情况下,我们可以通过 “数据库+‘#’+虚拟数仓 ID” 的方式进行连接,避免另外设置连接选项。
接下来,我们将以 Navicat 为例。打开 Navicat,点击左上角新增一条连接,选择「PostgreSQL」。
进入界面后,输入从 PieCloudDB 获取的服务器、数据库及用户信息。在数据库名称处,加上‘#’及虚拟数仓 ID。
点击界面左下角「测试连接」,可以看到数据库连接成功。
点击左上角新建一个 SQL 文件,通过刚刚创建的连接,即可对「openpie」数据库中的数据进行查询。
SELECT * FROM test_table;
以上为 PieCloudDB 全新外部链接工具 PieProxy 的全部内容。关于 PieCloudDB 外部链接的更多信息,请点击下面图片观看演示视频。欢迎大家登录 PieCloudDB 「云上云」版,开启属于自己的数据探索之旅。
