vectorengine / Vectorsql
Licence: apache-2.0
VectorSQL is a free analytics DBMS for IoT & Big Data, compatible with ClickHouse.
Stars: ✭ 171
Programming Languages
go
31211 projects - #10 most used programming language
Projects that are alternatives of or similar to Vectorsql
Clickhouse
ClickHouse® is a free analytics DBMS for big data
Stars: ✭ 21,089 (+12232.75%)
Mutual labels: olap, clickhouse, distributed-database
Crate
CrateDB is a distributed SQL database that makes it simple to store and analyze
massive amounts of data in real-time.
Stars: ✭ 3,254 (+1802.92%)
Mutual labels: olap, distributed-database, iot
Go Streams
A lightweight stream processing library for Go
Stars: ✭ 615 (+259.65%)
Mutual labels: pipeline, stream-processing
Spring Cloud Stream
Framework for building Event-Driven Microservices
Stars: ✭ 662 (+287.13%)
Mutual labels: reactive, stream-processing
Clickhouse Scala Client
Clickhouse Scala Client with Reactive Streams support
Stars: ✭ 84 (-50.88%)
Mutual labels: reactive, clickhouse
Yomo
🦖 Streaming-Serverless Framework for Low-latency Edge Computing applications, running atop QUIC protocol, engaging 5G technology.
Stars: ✭ 279 (+63.16%)
Mutual labels: stream-processing, iot
Datafuse
Datafuse is a free Cloud-Native Analytics DBMS(Inspired by ClickHouse) implemented in Rust
Stars: ✭ 327 (+91.23%)
Mutual labels: olap, clickhouse
Machine
Machine is a workflow/pipeline library for processing data
Stars: ✭ 78 (-54.39%)
Mutual labels: pipeline, stream-processing
vector
A high-performance observability data pipeline.
Stars: ✭ 12,138 (+6998.25%)
Mutual labels: pipeline, stream-processing
Radon
RadonDB is an open source, cloud-native MySQL database for building global, scalable cloud services
Stars: ✭ 1,584 (+826.32%)
Mutual labels: olap, distributed-database
Awesome Bigdata
A curated list of awesome big data frameworks, ressources and other awesomeness.
Stars: ✭ 10,478 (+6027.49%)
Mutual labels: stream-processing, distributed-database
matrixone
Hyperconverged cloud-edge native database
Stars: ✭ 1,057 (+518.13%)
Mutual labels: olap, distributed-database
Bistro
A general-purpose data analysis engine radically changing the way batch and stream data is processed
Stars: ✭ 333 (+94.74%)
Mutual labels: stream-processing, iot
awesome-bigdata
A curated list of awesome big data frameworks, ressources and other awesomeness.
Stars: ✭ 11,093 (+6387.13%)
Mutual labels: stream-processing, distributed-database
Vector
A reliable, high-performance tool for building observability data pipelines.
Stars: ✭ 8,736 (+5008.77%)
Mutual labels: pipeline, stream-processing
Watermill
Building event-driven applications the easy way in Go.
Stars: ✭ 3,504 (+1949.12%)
Mutual labels: reactive, stream-processing
Flink Learning
flink learning blog. http://www.54tianzhisheng.cn/ 含 Flink 入门、概念、原理、实战、性能调优、源码解析等内容。涉及 Flink Connector、Metrics、Library、DataStream API、Table API & SQL 等内容的学习案例,还有 Flink 落地应用的大型项目案例(PVUV、日志存储、百亿数据实时去重、监控告警)分享。欢迎大家支持我的专栏《大数据实时计算引擎 Flink 实战与性能优化》
Stars: ✭ 11,378 (+6553.8%)
Mutual labels: stream-processing, clickhouse
NOTICE: This project have moved to fuse-query
VectorSQL is a free analytics DBMS for IoT & Big Data, compatible with ClickHouse.
Features
- High Performance
- High Scalability
- High Reliability
Server
$git clone https://github.com/vectorengine/vectorsql
$cd vectorsql
$make build
$./bin/vectorsql-server -c conf/vectorsql-default.toml
2020/01/27 19:02:39.245654 [DEBUG] Database->Attach Table:system.tables, engine:SYSTEM_TABLES <[email protected]_system.go:116>
2020/01/27 19:02:39.245670 [DEBUG] Database->Attach Table:system.databases, engine:SYSTEM_DATABASES <[email protected]_system.go:116>
2020/01/27 19:02:39.245680 [INFO] Database->Load Database:system <[email protected]:110>
2020/01/27 19:02:39.245794 [INFO] Listening for connections with native protocol (tcp)::9000 <[email protected]:33>
2020/01/27 19:02:39.245806 [INFO] Servers start... <[email protected]:62>
Client
- clickhouse-client
$clickhouse-client --compression=0
VectorSQL :) SELECT SUM(IF(status!=200, 1, 0)) AS errors, SUM(IF(status=200, 1, 0)) as success, (errors/COUNT(server)) AS error_rate,(success/COUNT(server)) as success_rate, (SUM(response_time)/COUNT(server)) AS load_avg, MIN(response_time), MAX(response_time), path, server FROM logmock(rows->15) GROUP BY server, path HAVING errors>0 ORDER BY server ASC, load_avg DESC;
SELECT
SUM(IF(status != 200, 1, 0)) AS errors,
SUM(IF(status = 200, 1, 0)) AS success,
errors / COUNT(server) AS error_rate,
success / COUNT(server) AS success_rate,
SUM(response_time) / COUNT(server) AS load_avg,
MIN(response_time),
MAX(response_time),
path,
server
FROM logmock(rows -> 15)
GROUP BY
server,
path
HAVING errors > 0
ORDER BY
server ASC,
load_avg DESC
┌─errors─┬─success─┬─error_rate─┬─success_rate─┬─load_avg─┬─MIN(response_time)─┬─MAX(response_time)─┬─path───┬─server──────┐
│ 2 │ 1 │ 0.6667 │ 0.3333 │ 12 │ 10 │ 13 │ /login │ 192.168.0.1 │
│ 1 │ 5 │ 0.1667 │ 0.8333 │ 11.1667 │ 10 │ 12 │ /index │ 192.168.0.1 │
│ 1 │ 3 │ 0.25 │ 0.75 │ 11.25 │ 10 │ 14 │ /index │ 192.168.0.2 │
│ 1 │ 1 │ 0.5 │ 0.5 │ 11 │ 10 │ 12 │ /login │ 192.168.0.2 │
└────────┴─────────┴────────────┴──────────────┴──────────┴────────────────────┴────────────────────┴────────┴─────────────┘
↓ Progress: 0.00 rows, 0.00 B (0.00 rows/s., 0.00 B/s.)
4 rows in set. Elapsed: 0.005 sec.
- http-client
curl -XPOST http://127.0.0.1:8123 -d "SELECT SUM(IF(status!=200, 1, 0)) AS errors, SUM(IF(status=200, 1, 0)) as success, (errors/COUNT(server)) AS error_rate,(success/COUNT(server)) as success_rate, (SUM(response_time)/COUNT(server)) AS load_avg, MIN(response_time), MAX(response_time), path, server FROM logmock(rows->15) GROUP BY server, path HAVING errors>0 ORDER BY server ASC, load_avg DESC"
2 1 0.6667 0.3333 12.0000 10 13 /login 192.168.0.1
1 5 0.1667 0.8333 11.1667 10 12 /index 192.168.0.1
1 3 0.2500 0.7500 11.2500 10 14 /index 192.168.0.2
1 1 0.5000 0.5000 11.0000 10 12 /login 192.168.0.2
Query Language Features
Query language | Current version | Future versions | Example |
---|---|---|---|
Scans by Value | + | + | SELECT a,b |
Scans by Expression | + | + | SELECT IF(a>2,a,b),SUM(a) |
Filter by Value | + | + | WHERE a>10 |
Filter by Expression | + | + | WHERE a>(b+10) |
Group-Aggregate by Value | + | + | GROUP BY a |
Group-Aggregate by Expression | + | + | GROUP BY (a+1) |
Group-Having by Value | + | + | HAVING count_a>2 |
Group-Having by Expression | + | + | HAVING (count_a+1)>2 |
Order by Value | + | + | ORDER BY a desc |
Order by Expression | + | + | ORDER BY (a+b) |
Window Functions | - | + | |
Common Table Expressions | - | + | |
Join | - | + |
Performance
- Dataset: 10,000,000 (10 Million)
- Hardware: 16vCPUx16G KVM Cloud Instance
- Benchmark
Query | Cost(second) |
---|---|
SELECT COUNT(id) FROM testdata | 0.269s |
SELECT COUNT(id) FROM testdata WHERE id!=0 | 0.438s |
SELECT SUM(data1) FROM testdata | 0.287s |
SELECT SUM(data1) AS sum, COUNT(data1) AS count, sum/count AS avg FROM testdata | 1.814s |
SELECT MAX(id), MIN(id) FROM testdata | 0.473s |
SELECT COUNT(data1) AS count, data1 FROM testdata GROUP BY data1 ORDER BY count DESC LIMIT 10 | 0.728s |
SELECT email FROM testdata WHERE email like '%[email protected]%' LIMIT 1 | 0.076s |
SELECT COUNT(email) FROM testdata WHERE email like '%[email protected]%' | 1.470s |
SELECT data1 AS x, x - 1, x - 2, x - 3, count(data1) AS c FROM testdata GROUP BY x, x - 1, x - 2, x - 3 ORDER BY c DESC LIMIT 10 | 2.396s |
Metrics
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].