通过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

posted on 2019-07-24 13:26  荣锋亮  阅读(3710)  评论(0编辑  收藏  举报

导航