OpenPie 拓数派

快速开始 PieCloudDB Database:PieProxy 外部接入工具演示

2023-07-03

《云上商业智能最佳实践》中,我们演示了如何使用 node-port 的外部连接方式接入 PieCloudDB Database。本文结合传统外部连接方式,聚焦全新的外部连接工具 PieProxy,通过外部接入场景结合平台相关信息,对接入步骤进行举例和演示(演示视频链接)。


1 前言


目前, 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 部分)。


2 汇总外部连接信息


PieCloudDB 外部连接总共需要三类信息:


  • 用户连接信息
  • 用户名
  • Token 密码
  • 虚拟数仓信息
  • 虚拟数仓服务器地址
  • 端口号
  • 虚拟数仓ID
  • 数据库信息


2.1 用户连接信息


这里我们以《快速开始PieCloudDB》 中的账户管理员 David 为例。用户登录后可通过平台右上角的用户信息栏点击外部接入,获得用户相关的外部接入信息。点击右上角菜单「外部接入」按钮,进入相关界面。


点击「重置接入 Token」获得接入用户名及密码,用户名及 Token 密码长期有效。建议用户将 Token 自行保管,再次重置 Token 会将接入密码重新设置,先前的密码将不再有效。



2.2 虚拟数仓信息


记录好用户名和 Token,我们来到左侧菜单栏「虚拟数仓」菜单。进入界面后,确认目标虚拟数仓已开启外部接入。这里我们进行外部连接的虚拟数仓为「VW1」。



根据需要外部接入的虚拟数仓,点击右侧「查看详情」查看虚拟数仓详细信息,界面大致如下。



进入详情页面后,外部接入需要如上图所示该界面中的三条信息:


  1. 虚拟数仓ID
  2. 接入地址
  3. 服务端口号


2.3 数据库信息


本篇我们以 PieCloudDB 中的初始数据库「openpie」为例,进行外部连接。这里我们只需数据库名称即可。


2.4 总结


通过 JDBC、ODBC、PostgreSQL 等驱动,我们即可通过外部连接接入 PieCloudDB 。综合在「外部接入」界面获得的信息,我们通过以下信息进行外部连接。

  • 接入IP地址:114.55.***.***
  • 端口号:5432
  • 用户名:david
  • Token 密码:01************3db
  • 连接选项:PGOPTIONS='-c warehouse=cl01*******fgd'
  • 数据库名称:openpie


3 PieProxy 连接实例 -- DBeaver


这里我们以 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;


运行结果如下图所示。



4 外部连接无法设置 PGOptions


在一些数据库管理及开发工具中,数据库连接无法设置选项。在这种情况下,我们可以通过数据库+‘#’+虚拟数仓ID 的方式进行连接,避免另外设置连接选项。


这里我们以 Navicat 为例,点击左上角新增一条连接,选择「PostgreSQL」。




进入界面后,输入从 PieCloudDB 获取的服务器、数据库及用户信息。在数据库名称处,加上‘#’及虚拟数仓 ID。



点击界面左下角测试连接,可以看到数据库连接成功。




最后点击保存按钮保存连接。




点击左上角新建一个SQL文件,通过刚刚创建的连接,即可对「openpie」数据库中的数据进行查询。



select * from test_table;


查询结果与先前一致。



以上为 PieCloudDB 外部连接的所有内容,感谢您的阅读。欢迎大家登录 PieCloudDB「云上云」版开启属于自己的的数据探索之旅。 


相关博文

暂无相关推荐