- 团队名称:一天一个项目
- 作者:BrianNiu、王冰、吕鸿蒙、聂绎静
- 项目进展:https://github.com/sydpz/pingcap_hackthon
建立一个 demo data app ,依托 TiDBCloud HTAP 能力,来解决 BI 领域内的 OLAP 数据分析场景。充分利用 HTAP 的架构优越性,支持客户实现一天开发一个项目的效率飞跃。 核心包括:
- A demo of TiDBCloud dataAPI。通过 HTTP 接口直接访问 TiDB Cloud cluster 内的数据。
- A demo of HTAP charts,一个基于 TiDBCloud 的数据应用(data application)。核心包含 2 个用户交互页面:1)图表制作,通过图形化的配置方式,针对 TiDB Cloud 中的数据进行 OLAP 分析,并生成图表。2)图表展示,提供一个看板页面展示做好的图表。同时,这个图表可以直接被引用到其他网站,提高客户的开发效率。
- A demo of data app framework。为后续更多 data app 开发提供平台能力支撑,提升未来的 data app 开发效率。
随着 HTAP 的迅猛发展,越来越多的用户开始关注该类型的数据库, 其中也出现了较为典型的应用场景,例如:
- OssInsight - GitHub 项目热度分析平台, 实时展示 billion 级数据记录的统计报表
- Coinbase - 区块链交易平台, 实时展示数百种虚拟货币的交易状态和指数分析
在以上应用场景中,存在以下特点:
- 数据体量巨大且增长迅速,超出了单体数据库的支撑能力
- 数据内存在分析的价值,有搭建 AP 平台的真实需求
- 场景内存在实时或半实时报表展示的需求
- 绝大多数分析操作可以通过简单的插叙语句拼接实现
- 趋势分析,占比分析,地域分析,热能图,etc
在当前 AP 平台搭建的过程中, 大致流程为 新建数据库、搭建后端数据查询服务并标准化结果返回前端、前端引用标准图表组件绘制报表 的三个步骤构成, 目前来看以上步骤在大多数应用内的操作和执行流程是一致的,故当前的想法是将 数据查询能力(DataAPI)、数据制表能力(DataCharts)、应用管理能力(DataAPP) 统一进行设计和实现,并将以上能力嵌入至 TiDB Cloud 内, 为用户提供开箱即用的 AP 能力, 提高用户的开发效率。
-
整个项目的核心逻辑在 DataCharts 部分。
支持 DataAPI 的前端展示, 输入相关操作的 Sql 语句, 在前端即可看到查询结果。 用户可以在该组件上通过指定数据表名的方式选择使用的数据源, 基于该数据源中的字段配置图表的 X 轴和 Y 轴, 生成对应的图表。 前端所做的工作为提供用户相关的交互操作,以及通过 HTTP 接口的方式向后端请求相关数据源 schema 和获取具体数据。
后端通过 HTTP 接口获得前端的相关请求内容,将该部分请求转义为 Sql 操作,访问数据库获得相关结果并将该结果组装成标准格式后返回给前端。
基于该功能,后续 ossInsight 功能的网站搭建可以转为直接通过嵌入 TiDB Cloud 生成的 iframe 图表的方式完成搭建,无需再做获取数据并将其转义为图表的操作。