BeetlSQL 3.0.0-M3 大数据和物联网数据库支持
BeetlSQL的目标是提供高效的数据库访问框架,无论要连接何种数据库,提供一致的编写代码方式。 截止到M3,目前支持数据有
- 传统数据库:MySQL,MariaDB,Oralce,Postgres,DB2,SQL Server,H2,SQLite,神通,达梦等
- 大数据:HBase,ClickHouse,Cassandar,Hive
- 物联网时序数据库:Machbase
- SQL查询引擎:Drill,Presto
在M4阶段的目标还包括Elastic Search,Derby,SQLite,松果时序库,TD engine时序库,Druid,北大金仓,Neo4J
Maven
<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetlsql-all</artifactId>
<version>3.0.0-M3</version>
</dependency>
M3阶段根据JMH 子工程的变动再进行了一轮测试,性能如下
Benchmark Mode Cnt Score Error Units
JMHMain.beetlsqlComplexMapping thrpt 5 205.885 ± 57.974 ops/ms
JMHMain.beetlsqlExecuteJdbc thrpt 5 466.783 ± 29.614 ops/ms
JMHMain.beetlsqlExecuteTemplate thrpt 5 388.390 ± 32.002 ops/ms
JMHMain.beetlsqlFile thrpt 5 435.402 ± 62.479 ops/ms
JMHMain.beetlsqlInsert thrpt 5 211.785 ± 152.417 ops/ms
JMHMain.beetlsqlLambdaQuery thrpt 5 256.671 ± 32.464 ops/ms
JMHMain.beetlsqlOne2Many thrpt 5 106.457 ± 16.692 ops/ms
JMHMain.beetlsqlPageQuery thrpt 5 196.855 ± 30.781 ops/ms
JMHMain.beetlsqlSelectById thrpt 5 386.098 ± 46.784 ops/ms
JMHMain.jdbcExecuteJdbc thrpt 5 987.507 ± 49.412 ops/ms
JMHMain.jdbcInsert thrpt 5 315.066 ± 222.465 ops/ms
JMHMain.jdbcSelectById thrpt 5 1055.153 ± 105.499 ops/ms
JMHMain.jpaExecuteJdbc thrpt 5 110.944 ± 17.210 ops/ms
JMHMain.jpaExecuteTemplate thrpt 5 140.112 ± 12.616 ops/ms
JMHMain.jpaInsert thrpt 5 79.710 ± 17.193 ops/ms
JMHMain.jpaOne2Many thrpt 5 97.634 ± 17.690 ops/ms
JMHMain.jpaPageQuery thrpt 5 120.386 ± 17.249 ops/ms
JMHMain.jpaSelectById thrpt 5 334.689 ± 20.872 ops/ms
JMHMain.mybatisComplexMapping thrpt 5 99.133 ± 4.238 ops/ms
JMHMain.mybatisExecuteTemplate thrpt 5 181.423 ± 23.560 ops/ms
JMHMain.mybatisFile thrpt 5 133.999 ± 56.998 ops/ms
JMHMain.mybatisInsert thrpt 5 144.017 ± 15.849 ops/ms
JMHMain.mybatisLambdaQuery thrpt 5 15.165 ± 2.243 ops/ms
JMHMain.mybatisPageQuery thrpt 5 63.876 ± 5.651 ops/ms
JMHMain.mybatisSelectById thrpt 5 203.024 ± 23.581 ops/ms
JMHMain.weedExecuteJdbc thrpt 5 412.615 ± 31.912 ops/ms
JMHMain.weedExecuteTemplate thrpt 5 358.685 ± 17.963 ops/ms
JMHMain.weedFile thrpt 5 445.672 ± 49.516 ops/ms
JMHMain.weedInsert thrpt 5 217.909 ± 92.800 ops/ms
JMHMain.weedLambdaQuery thrpt 5 393.220 ± 31.256 ops/ms
JMHMain.weedPageQuery thrpt 5 241.266 ± 14.880 ops/ms
JMHMain.weedSelectById thrpt 5 414.971 ± 45.822 ops/ms
- ComplexMapping 表示复杂映射,这里是左连接一对多关系
- ExecuteJdbc是直接执行JDBC并将结果映射到POJO
- ExecuteTemplate 是直接执行模板语句(或者HQL),并将结果映射到POJO
- File,SQL语句保存在专有文件里
- Insert,内置新增语句
- One2Many 通过注解实现一对多查询
- PageQuery 翻页语句查询,并返回一个PageResult
- SelectById 根据主键查询POJO
- LambdaQuery 构造查询的SQL语句,且支持重构