521xueweihan / HelloGitHub

:octocat: 分享 GitHub 上有趣、入门级的开源项目。Share interesting, entry-level open source projects on GitHub.
https://hellogithub.com
92.96k stars 9.63k forks source link

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

Closed SPLWare closed 1 year ago

SPLWare commented 1 year ago

开源地址: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 commented 1 year ago

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

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

再次感谢您对 HelloGitHub 的支持 🙏