程序员开发实例大全宝库

网站首页 > 编程文章 正文

SQL开发神器之一 —— dbeaver(sql server开发工具)

zazugpt 2024-09-08 11:23:31 编程文章 30 ℃ 0 评论

dbeaver是小编见识过的数据源支持最全面的SQL开发工具,像我们常见的Mysql、postgres、oracle都是信手拈来,对于elasticsearch这种搜索引擎也能有很好的支持(es比较特殊,它的jdbc驱动需要收费)。在框架上它基于eclispe核心开发,支持的数据源类型达到数十种,关键它还开源,这意味着你可以魔改它,用来适配其他数据源(希望国内不要有人给这个工具加个皮,然后就说是自研的,感觉国内的软件行业已经丢不起这个人了)。

小编之前分享过的duckdb在dbeaver也能有很好从支持,我们只需要创建一个duckdb的连接就能直接使用duckdb了(不过这个是用jdbc的方式进行连接,运行在jvm中,小编还未测试过期性能,想来应该是比C版本的低一些的),duckdb大家都知道它运行根本就不需要服务器的支持,只需要本地的一个文件就行了,它能给你带来sqlite的便利,同时也能拥有极强的性能更丰富的特性

duckdb在dbeaver中的基本使用

  • 读取csv文件:
select * from '~/Downloads/movie.csv' limit 10;
  • 直接读取excel的数据:
INSTALL spatial;
LOAD spatial;

select * from st_read("~/Downloads/data.xlsx") limit 10;
  • 读取mysql的数据:
INSTALL mysql;
LOAD mysql;

ATTACH 'host=localhost user=root port=0 password=xxx database=test' AS test_db (TYPE mysql_scanner, READ_ONLY);
SELECT * FROM test_db.test_table;
  • 备注:INSTALL mysql这种语句只需要在一个sql会话中执行一次。

上述实验说明

  1. 通过上述的方法,我们可以直接通过dbeaver将多种数据源进行聚合,然后就可以通过我们的join、window,where语句等各种骚操作的SQL语句实现各种异构数据源的关联查询了。
  2. dbeaver是基于java实现的,因此它需要各种数据源的jdbc驱动的支持,在我们创建一个数据库连接的时候系统会自动帮我们下载对应的jdbc驱动,如果有时候maven的官方仓库我们下载驱动会比较慢,我们还可以修改dbeaver的默认maven仓库地址来实现加速下载jdbc驱动jar包。

dbeaver对大数据体系的支持

  • dbeaver能支持hadoop生态中的部分框架,比如spark、hive以及现在比较火的presto(这个小编前同事中有一个是contributor哦)。通过presto我们又可以连接到其他数据库产品。
  • 支持主流的olap能力,比如Clickhouse,当然如果我们的驱动本身就兼容Mysql的jdbc驱动的话,那就不需要任何其他的接入成本了(比如apache doris这种兼容Mysql的olap引擎)。
  • 支持各种主流的开源搜索引擎,比如es和solr,不过es貌似需要收费,小编暂时未测试过。关于es的jdbc驱动要收费这个事实,小编一般会使用另一个体系避免书写es那种奇怪的查询语法树,通过sql语句查询es也是非常爽的。有兴趣的读者点个赞,小编在下一篇文章中揭晓另一个SQL神器,它和dbeaver结合使用简直就无敌了。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表