在《云上商业智能最佳实践》中,我们演示了如何使用 node-port 的外部连接方式接入 PieCloudDB Database。本文结合传统外部连接方式,聚焦全新的外部连接工具 PieProxy,通过外部接入场景结合平台相关信息,对接入步骤进行举例和演示(演示视频链接)。
目前, PieCloudDB 在各版本都提供了外部接入功能。同一账户下的用户可通过虚拟数仓,使用 JDBC 、ODBC 或 Postgres 驱动从外部连接数据库来获取数据。
从 2.5.1113 版本起,PieCloudDB CoC 以及其他平行版本支持使用 PieProxy 进行外部连接。PieProxy 是基于PgBouncer、为 PieCloudDB 量身定制的外部连接工具。与传统 node-port 连接相比,PieProxy 更轻量,通过高并发、高可用性,有效减轻数据库在处理外部连接请求时的负担。
在 PieCloudDB 中,外部接入利用了 PostgreSQL 的 Options 属性(PGOptions)来指定在建立数据库连接时所需的参数和设置。利用 PGOptions,PieCloudDB 得以将虚拟数仓的信息加入参数设置,从而与虚拟数仓建联。当然,对于无法设置 PGOptions 的客户端,PieCloudDB 也提供了替代方法(详见本文第 3 部分)。
PieCloudDB 外部连接总共需要三类信息:
2.1 用户连接信息
这里我们以《快速开始PieCloudDB》 中的账户管理员 David 为例。用户登录后可通过平台右上角的用户信息栏点击外部接入,获得用户相关的外部接入信息。点击右上角菜单「外部接入」按钮,进入相关界面。
点击「重置接入 Token」获得接入用户名及密码,用户名及 Token 密码长期有效。建议用户将 Token 自行保管,再次重置 Token 会将接入密码重新设置,先前的密码将不再有效。
2.2 虚拟数仓信息
记录好用户名和 Token,我们来到左侧菜单栏「虚拟数仓」菜单。进入界面后,确认目标虚拟数仓已开启外部接入。这里我们进行外部连接的虚拟数仓为「VW1」。
根据需要外部接入的虚拟数仓,点击右侧「查看详情」查看虚拟数仓详细信息,界面大致如下。
进入详情页面后,外部接入需要如上图所示该界面中的三条信息:
2.3 数据库信息
本篇我们以 PieCloudDB 中的初始数据库「openpie」为例,进行外部连接。这里我们只需数据库名称即可。
2.4 总结
通过 JDBC、ODBC、PostgreSQL 等驱动,我们即可通过外部连接接入 PieCloudDB 。综合在「外部接入」界面获得的信息,我们通过以下信息进行外部连接。
这里我们以 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 为例,点击左上角新增一条连接,选择「PostgreSQL」。
进入界面后,输入从 PieCloudDB 获取的服务器、数据库及用户信息。在数据库名称处,加上‘#’及虚拟数仓 ID。
点击界面左下角测试连接,可以看到数据库连接成功。
最后点击保存按钮保存连接。
点击左上角新建一个SQL文件,通过刚刚创建的连接,即可对「openpie」数据库中的数据进行查询。
select * from test_table;
查询结果与先前一致。
以上为 PieCloudDB 外部连接的所有内容,感谢您的阅读。欢迎大家登录 PieCloudDB「云上云」版,开启属于自己的的数据探索之旅。
相关博文