• Stars
    star
    185
  • Rank 207,451 (Top 5 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created about 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

微服务 数据湖仓 OLTP 数据库 一体化平台

QinSQL

微服务 数据湖仓 OLTP 数据库 一体化平台

QinSQL = Lealone + 改编的 Apache CalciteApache Drill

开发环境

  • JDK 1.8+
  • Maven 3.3+

需要先执行 mvn install -Dmaven.test.skip=true, 否则项目里用到的一些 java 源文件会找不到,这些 java 源文件是通过模板生成的。

在 IDE 中运行

代码导入 IDE 后,直接运行 QinEngineStart

然后执行 JdbcTest 通过标准 JDBC API 访问数据库。

打包后运行

打包

先执行以下命令打包:

mvn package assembly:assembly -Dmaven.test.skip=true

生成的文件放在 target\qinsql-5.2.0 目录

运行

打开两个命令行窗口,都切换到 target\qinsql-5.2.0\bin 目录

在第一个窗口中输入 qinsql 启动数据库

在第二个窗口中输入 sqlshell 打开一个 SQL Shell 窗口

微服务

--创建服务,关联到指定的 java 类
create service hello_service (hello(name varchar) varchar) implement by 'org.qinsql.test.service.HelloService';

--调用服务
execute service hello_service hello('zhh');

OLTP 数据库

CREATE TABLE IF NOT EXISTS my_table(name varchar(20) primary key, f2 int);

INSERT INTO my_table(name, f2) VALUES('a', 123);

SELECT count(*) FROM my_table WHERE name>='a';

数据湖仓

--直接查询本地文件
SELECT count(*) FROM dfs.`E:/qinsql/qinsql-test/src/test/resources/test.csvh`;

--查询 HDFS 的文件
SELECT count(*) FROM hdfs.`/test.csvh`;

--使用 OLAP 引擎执行查询语句
SELECT count(*) FROM olap.my_table WHERE name>='a';

--查询 JSON 数据
USE dfs; --后续语句不用指定 dfs 前缀
SELECT id, type, name, ppu FROM `E:/qinsql/qinsql-test/src/test/resources/test.json`;

模块依赖关系

                                  rpc ----------------------|
                                   ↑                        |
                                   |                        ↓
test --> engine --> function --> executor --> vector --> common
                                   |                        ↑
                                   |                        |
                                   |--------------------> logical --> optimizer

More Repositories

1

OpenJDK-Research

OpenJDK(HotSpot JVM、Javac)源代码学习研究(包括代码注释、文档、用于代码分析的测试用例)
C++
886
star
2

My-Blog

我的博客
813
star
3

H2-Research

H2数据库源代码学习研究(包括代码注释、文档、用于代码分析的测试用例)
Java
433
star
4

Tomcat-Research

Tomcat源代码学习研究(包括代码注释、文档、用于代码分析的测试用例)
Java
367
star
5

Open-Source-Research

(用于归档)各种开源项目代码学习研究(包括代码注释、文档、用于代码分析的测试用例)
C++
216
star
6

Cassandra-Research

Cassandra数据库源代码学习研究(包括代码注释、文档、用于代码分析的测试用例)
Java
124
star
7

CCUG

中国Cassandra数据库用户组(China Cassandra User Group)
72
star
8

lealone-framework

Lealone ORM 框架、微服务框架
Java
38
star
9

CGroup4j

Linux CGroups For Java
Java
34
star
10

Cassandra-Java-Driver-Research

Cassandra java-driver源代码学习研究(包括代码注释、文档、用于代码分析的测试用例)
Java
30
star
11

Presto

面向单机与分布式 OLTP/OLAP 场景的可暂停的渐进式 SQL 引擎 (只用于研究)
Java
26
star
12

HSQLDB-Research

HSQLDB数据库源代码学习研究(包括代码注释、文档、用于代码分析的测试用例)
Java
13
star
13

HanSQL

面向单机与分布式 OLTP/OLAP 场景的可暂停的渐进式 SQL 引擎 (只用于研究)
Java
9
star
14

Lealone-JS

Lealone 前端动态化与智能化 RPC 客户端
JavaScript
7
star
15

Lealone-Bench

Lealone 性能测试工具
Java
4
star
16

Lealone-CreateApp

用于创建 Lealone 微服务应用的脚手架
Java
3
star
17

Lealone-xSQL

使用 MySQL 或 PostgreSQL 的协议和 SQL 语法访问 Lealone 数据库
Java
3
star
18

MyDocs

2
star
19

Lealone-OpsCenter

Lealone Ops Center
JavaScript
1
star
20

Lealone-Polyglot

使用 JavaScript 和 Python 语言在 Lealone 中开发微服务应用
Java
1
star