Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

开源自荐---纯国产数据计算引擎,计算性能秒杀SQL #2624

Closed
SPLWare opened this issue Oct 19, 2023 · 1 comment
Closed

开源自荐---纯国产数据计算引擎,计算性能秒杀SQL #2624

SPLWare opened this issue Oct 19, 2023 · 1 comment

Comments

@SPLWare
Copy link

SPLWare commented Oct 19, 2023

开源地址:https://github.com/SPLWare/esProc

**SPL(Structured Process Language)专门用于结构化数据计算的程序语言

一、特点描述:

1、超越数据库的计算能力 2、开放的计算体系 3、敏捷语法**

二、与竞争技术的对比

---SPL` VS SQL---
T9NE0FBUB%Z0DHK}N2P~I49

---SPL VS Java---
)8KF2}PX%FGZ3YV`K109J%O

---SPL VS python---
AU`$XG$LMOM30U$9W38 @8i

三、应用场景

SPL应用场景非常多。主要分以下六个方面
image

Got SQL
SQL有一定的计算能力,但很多场景下没有SQL用,只能编写复杂的Java代码。SPL提供了不依赖于数据库的轻量级计算能力,可以在任意场景处理数据:

结构化文本(txt/csv)计算

Excel计算

在文件上执行SQL

多层json数据计算

多层xml数据计算

Java计算类库,超越Stream/Kotlin/Scala

取代ORM实现业务逻辑

Mongodb上的SQL式计算,关联运算

WebService/Restful的后计算

Salesforce的后计算,SAP的后计算

各种数据源的后计算:HBase,Cassandra,Redis,ElasticSearch,Kafka,…

Beyond SQL
对于复杂的集合和有序运算很难处理,常常还要读出来再用Java计算。SPL有彻底的集合化能力,特别支持有序和分步计算,可以简化这些运算:

有序集合、位置引用、分组子集、非等值分组、多层关联运算、静态和动态转置、递归与迭代计算、分步及循环运算

HV_58~JABK%W2SSWHJ$OVCM

%250OAG__Z )DLJ)60W8F

Cooperate DB
数据库的计算能力是封闭的,无法处理数据库外的数据,常常需要先做ETL导入同一个数据库后才能处理。 SPL提供了开放简易的计算能力,可以直接读取多个数据库实现混合数据计算,协助数据库做更好的运算。

并行取数加速JDBC、不同类型数据库的SQL移植、跨数据库的运算、T+0统计查询、替代存储过程运算,提高代码可移植性、降低耦合性、避免ETL做成ELT甚至LET、多样数据源的混合计算、减少数据库中的中间表、报表数据源开发,支持热切换、多样数据源、提高开发效率、微服务实现,占用更少资源,可热切换…
JUER8Z`(UG9YF LC67Q%OP2

2A GG60ZH1R5WFSIC5)E@_2

XRZV3QM{B1QKZE}ISGUE7CG

  1. Surpass DB

SQL难以实现高性能算法,大数据运算性能只能指望数据库的优化引擎,但复杂情况常常靠不住。
SPL提供大量基础高性能算法(有许多是业界创新)以及高效的存储格式,同等硬件环境下可以获得远超过数据库的运算性能,可以全面替代大数据平台与数据仓库。

内存查找:二分法、序号定位、位置索引、哈希索引、多层序号定位
外存数据集: 文本文件并行、二进制存、倍增分段、列存组表、有序存储与更新
外存查找:二分法、哈希索引、排序索引、行存和带值索引、索引预加载、批量查找与集合查找、多索引归并、全文检索
遍历技术:游标后过滤、遍历复用、并行遍历与多路游标、聚合扩展、有序遍历、程序游标、半序分组与排序、序号分组与可控分段
关联技术:外键地址化、外键序号化、索引复用、对位序列、大维表查找、单边分堆、有序归并、关联定位、附表
多维分析:预汇总与时间段预汇总、对位序列、标签位维度
分布式:自由计算与数据分布、集群复组表、集群维表、冗余式容错、备胎式容错、Fork-Reduce、多作业负载均衡

2V9%2@M@6D9HFS2) N BO)1

image

  1. For Excel

0}RX(S2A8 6UPQLIWA$ O

  1. For Industry
    工业场景中有大量时序数据,而时序数据库常常只提供SQL,SQL的有序计算能力本来很弱,结果只用于取数,无法协助计算。
    工业场景中还常常会涉及许多基础数学运算,SQL缺乏这些函数,只能读出来再处理。
    SPL能很好地支持有序计算,而且提供了丰富的数学函数,如矩阵、拟合等,能够更方便地应对工业场景的计算需求。

时序游标:按粒度聚合、平移、相邻引用、关联合并
历史数据压缩固化,透明引用
向量与矩阵运算
各种线性拟合:最小二乘、偏最小二乘、lasso、ridge、…

工业算法常常需要反复实验,SPL开发效率极高,同时间内可以尝试更多:

仪表异常发现算法
异常测量样本定位
曲线升降及振荡模式识别
有约束线性拟合
管道传输调度算法

@521xueweihan
Copy link
Owner

非常感谢您推荐项目,请按照提示编写描述。

该项目暂不能收录到 HelloGitHub 月刊中,HelloGitHub 推荐项目审核标准 #271
期待持续完善该项目,后续推荐更多的项目。

再次感谢您对 HelloGitHub 的支持 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants