通过redash query results 数据源实现跨数据库的查询
redash 提供了一个简单的 query results 可以帮助我们进行跨数据源的查询处理
底层数据的存储是基于sqlite的,期望后期有调整(毕竟处理能力有限),同时
query results 也提供了cache 的功能,可以加速数据的查询处理
约定
- query results 创建
query results 的名称格式为query_*
其中* 为query 的id,id,我们可以通过浏览器url 查看,或者可以查询后端数据库
对于cache 的格式为cached_query_*
比如如下一个query(redash pg 数据库),假设保存之后的query id 为15
那么创建的query results 应该为
- 查询此数据源
可以看到为pg 的数据
- 通过cache 加速查询
进行数据关联查询
以下是一个简单的测试,为了简单我直接使用query_* 以及cached_query_* 的数据进行查询
- 跨库查询
说明
如果实在发现基于内置的sqlite 性能不行,我们可以通过drill 或者presto ,impala ,或者singer 的etl 进行数据统一处理,然后在基于redash 进行查询
也都是不错的选择,内置的这个功能还是很方便的,可以简化我么查询数据的处理,当然对于大数据量的处理还需要进行测试,看看性能如何。
参考资料
https://redash.io/help/user-guide/querying/query-results-data-source