超级查询整体介绍
变更记录
产品版本 | 更新内容 | 更新日期 |
V6.0.1 | 初始版本 | 2023年10月28日 |
1 产品概述
1.1 产品介绍
超级查询是一个 SQL 查询引擎,支持对苍穹实体进行 SQL 查询,在苍穹标准应用中,它可以将苍穹/星瀚整体当成一个逻辑数据库,以实体为表,实体属性为字段,执行SQL查询;部署完成后,既可以在苍穹的超级查询分析器功能中直接执行查询,也可以通过JDBC驱动的方式连接到苍穹执行查询。涉及到读写分离和容器资源要求,目前公有云客户暂不支持部署。
1.2 产品结构图
超级查询主要分为四个部分:
超级查询分析器
模式管理
FlyDB-JDBC驱动
DBeaver
1.3 业务场景
受限于苍穹的垂直分库、水平分表架构,在对实体数据查询时存在跨库,拆分表等原因,无法直接运行SQL进行查询,导致无法进行数据分析,巡检等,在超级查询之上,用户将实体作为表进行查询,把苍穹作为一个逻辑上的“数据库”,解决跨库查询、数据分析、数据巡检、运维查询等使用场景。
2 亮点特性
屏蔽苍穹中跨库、拆分表、多语言表等底层技术,使得上层应用可以基于实体进行SQL查询
提供多种访问工具,即可以直接苍穹中执行查询,也可以使用DBeaver客户端工具查询
提供JDBC驱动,外部系统或者分析工具可以轻松集成
3 功能清单
3.1 超级查询分析器
在超级查询分析器可以直接执行SQL对实体进行查询、关联查询,提供 SQL 查询及结果集导出功能。功能路径:系统服务云 -> 分布式管理 -> 超级查询 -> 超级查询
3.2 模式管理
模式管理用于管控查询用户的权限范围。功能路径为:系统服务云 -> 分布式管理 -> 超级查询 -> schema管理。
先通过对模式限制实体范围,再通过模式对用户授权,达到对用户查询实体范围的权限管控。
3.3 JDBC驱动
超级查询同时提供客户端的JDBC驱动,开发者或者外部BI工具可以使用驱动直连苍穹执行SQL查询。
Class.forName("kd.bos.flydb.jdbc.Driver"); try (Connection connection = DriverManager.getConnection("jdbc:flydb://https://feature.kingdee.com:1026/patch/patchcore_test_up_pg", "user", "pwd"); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("show sessions")) { ResultSetMetaData metaData = resultSet.getMetaData(); int columnCount = metaData.getColumnCount(); for (int i = 1; i <= columnCount; i++) { System.out.print(metaData.getColumnName(i) + " "); } System.out.println(); while (resultSet.next()) { for (int i = 1; i <= columnCount; i++) { System.out.print(resultSet.getObject(i) + " "); } System.out.println(); } } catch (Exception e) { e.printStackTrace(); }
3.4 DBeaver客户端工具
超级查询提供了定制版本的DBeaver,可以使用DBeaver直连苍穹进行SQL查询:
4 部署形态
超级查询是独立的后台服务,服务名称为FlyDB Server,需要进行独立部署才能使用,FlyDB Server需要独立的AlgoX集群来作为计算引擎,除此之外,如果需要驱动直连苍穹进行查询,还需要部署FlyWeb服务,用于和驱动进行通讯;当然,这些服务和苍穹中微服务部署于同一个集群中,他们均作为微服务节点存在。
5 附件及下载
dbeaver由于社区附件大小限制,无法上传,请加群直接获取,后续相关资源更新也会直接在群里更新。
超级查询整体介绍
本文2024-09-23 00:28:00发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-139641.html