先来看看两者的定义。

SQL:结构化查询语言。

SPL:结构化数据计算语言。


既然是比较文章,那必然是要突出一方的优势。

以下是SQL的痛点以及SPL的优点:

1.SQL缺乏离散性,集合化不彻底;SPL离散与集合充分结合。

2.SQL有序计算支持得很不好;SPL有序计算非常强。

3.SQL不提倡分步计算(对于复杂运算的代码冗长难写);SPL则提倡分步计算(擅长实现复杂运算)。

4.SQL难以实现高性能算法(无法充分利用硬件能力);SPL拥有高性能基础算法和存储机制(充分利用硬件能力)。

5.SQL只能计算数据库中的数据;SPL可以计算任意数据源。

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

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

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

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

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

SPL技术介绍:

  • 1、简洁易用的开发环境
  • 2、专门设计的语法体系
  • 3、丰富的运算类库
  • 4、多样性数据源
  • 5、外部数据接口
  • 6、集成性
  • 7、热切换
  • 8、多线程并行
  • 9、高性能存储
  • 10、分布式计算

总结:

SPL over SQL,什么时候能用上SPL啊,我不想再写冗长复杂的SQL了!

SPL vs SQL相关推荐

  1. SPL 和 SQL 能不能融合在一起?

    文章目录 SPL 和 SQL 能不能融合在一起? SPL资料 SPL 和 SQL 能不能融合在一起? SQL和SPL都是面向结构化数据的通用处理技术.SQL普及率高受众广,很多用户天生就会用SQL查询 ...

  2. SPL 简化 SQL 案例详解:组内运算

    在开发数据库应用时,经常在分组后需要对组内数据进行计算,例如:列出近3年每年都发表过论文的学生名单(按论文发表年分组后列出每年都出现的学生清单),统计全部参加了历次培训的员工(按培训分组后统计每次都有 ...

  3. SPL比SQL更难了还是更容易了?

    SPL下载 SPL源代码 SPL作为专门用于结构化和半结构化数据的处理技术,在实际应用时经常能比SQL快几倍到几百倍,同时代码还会短很多,尤其在处理复杂计算时优势非常明显.用户在看到这些应用效果后对S ...

  4. GBase 8s SQL 指南:教程———12 创建和使用SPL例程

    本部分描述如何创建和使用SPL例程.SPL例程是以GBase 8s "存储过程语言"(SPL) 编写的用户定义的例程.GBase 8s SPL是提供流控制的SQL的扩展,诸如循环和 ...

  5. 写着简单跑得又快的数据库语言 SPL

    数据库语言的目标 要说清这个目标,先要理解数据库是做什么的. 数据库这个软件,名字中有个"库"字,会让人觉得它主要是为了存储的.其实不然,数据库实现的重要功能有两条:计算.事务!也 ...

  6. 开源 SPL 优化报表应用应对没完没了

    现在应用中的报表大都使用报表工具开发,成熟的报表工具提供了丰富的显示设置.图表类型.导出打印等功能可以简化报表开发,非常方便.但是,实际报表开发中还是经常碰到一些非常棘手的深层次问题,即使是已经熟练使 ...

  7. SPL - 写着简单跑得又快的数据库语言

    数据库语言的目标 要说清这个目标,先要理解数据库是做什么的. 数据库这个软件,名字中有个"库"字,会让人觉得它主要是为了存储的.其实不然,数据库实现的重要功能有两条:计算.事务!也 ...

  8. 又一门国产数据库语言诞生了,比SQL还好用

    一.数据库语言的目标 1.1 数据库是做什么的 数据库这个软件,名字中有个"库"字,会让人觉得它主要是为了存储的.其实不然,数据库实现的重要功能有两条:计算.事务!也就是我们常说的 ...

  9. 比SQL还好用,又一门国产数据库语言诞生了

    目录 一.数据库语言的目标 1.要说清这个目标,先要理解数据库是做什么的. 2.什么样的计算体系才算好呢? 二.SQL为什么不行 1.先看写着简单的问题 2.为什么 SQL 不行呢? 3.再看跑不快的 ...

最新文章

  1. OSI参考模型和网络编程
  2. 【GVA】gin gorm多对多many2many更新数据时级联更新关联表数据的正确写法
  3. AdjacentHTML/innerHTML/innerText
  4. 人工生命 2.0.2 更新,模拟体全息存贮的模式识别
  5. OpenCV_cv::Mat的深拷贝 浅拷贝问题
  6. 【考试记录】20181003
  7. JDK版本更换后编译android系统出错
  8. 大地测量学笔记 : 高斯克吕格投影
  9. AD20输出PDF 打印 位号图 焊接图
  10. Elasticsearch 带中文分词的全文检索(分页+高亮返回)
  11. mac地址被路由器拉黑_我买了一个新路由器,告诉我我被黑了
  12. kali系统自带的aircrack-ng破解WIFI
  13. 洛谷 P3332 BZOJ 3110 [ZJOI2013]K大数查询
  14. 手机微信中的文档存放位置
  15. crop图片后,同时修改物体相应的坐标
  16. android名字最长,AaaaaAAaaa...体验史上名字最长的游戏
  17. 【笔记】《计算机网络系统方法》(by Larry L.Peterson)第二章 开始连接
  18. 刚高考完有些迷茫不知道做些什么?谈一谈我的看法
  19. 让 wls 拥有可视化功能
  20. 设计师的自我修养pdf_设计师:您为了自己的利益有太多自我吗?

热门文章

  1. 什么是堆栈追踪(StackTrace)?如何利用StackTrace对程序进行调试?
  2. HTTP/2 及 HTTP/3区别比较
  3. TCP/IP协议学习之六(RPC原理以及NFS协议)
  4. c语言成绩存储的算法思想,C语言算法总结,非常精辟
  5. Intellij IDEA Organize Imports
  6. 在等GPT-5多模态?试试Genmo!Adobe AI首轮内测报告;ChatGPT三条使用哲学与实践;论文追更与阅读神器 | ShowMeAI日报
  7. 解决eclipse连接不到genymotion的问题
  8. JavaScript, mysql 总结
  9. KaiwuDB CTO 魏可伟:1.0 时序数据库技术解读
  10. Jmeter函数分类及自定义开发