我正在开发一个只读SQL引擎,具有可以执行SELECT
查询(但不能执行其他SQL查询)的API。
我的问题是如何使尽可能多的商业智能/仪表板工具可以使用它。
我看到两种可能的方法(可能我错过了其他):
- 开发JDBC驱动程序,并将其发布给我的用户,以便他们可以安装它并连接到我的服务。这相当直接,但只适用于接受安装JDBC驱动程序的BI工具
- 尝试实现一个众所周知的SQL协议,例如postgresql协议,以便用户可以在他们的BI工具中使用常规的psql连接器。我很想尝试一下,但是我没有在其他产品中看到它,看起来有点粗糙。
你觉得怎么样?选项2对我来说是最普通的,但风险很大。这是一个明智的做法吗?
我能做点别的吗?或者在服务器端实现另一种普遍接受的协议?
thx
从长远来看,变体2似乎更有前途。BI工具几乎不可能为您的专有API/协议添加连接器,因为您的产品很可能是利基解决方案。
例如,QuestDB最终添加了postgrei兼容的端点,SingleStore通过MySql驱动程序访问,ClickHouse计划在现有的HTTP/二进制协议之外添加postgrei端点。
你提到了JDBC,所以也许有一个与Presto/Trino REST API兼容的端点会更容易(许多BI工具已经有PrestoDB的驱动程序)。