SPL vs SQL
先来看看两者的定义。
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相关推荐
- SPL 和 SQL 能不能融合在一起?
文章目录 SPL 和 SQL 能不能融合在一起? SPL资料 SPL 和 SQL 能不能融合在一起? SQL和SPL都是面向结构化数据的通用处理技术.SQL普及率高受众广,很多用户天生就会用SQL查询 ...
- SPL 简化 SQL 案例详解:组内运算
在开发数据库应用时,经常在分组后需要对组内数据进行计算,例如:列出近3年每年都发表过论文的学生名单(按论文发表年分组后列出每年都出现的学生清单),统计全部参加了历次培训的员工(按培训分组后统计每次都有 ...
- SPL比SQL更难了还是更容易了?
SPL下载 SPL源代码 SPL作为专门用于结构化和半结构化数据的处理技术,在实际应用时经常能比SQL快几倍到几百倍,同时代码还会短很多,尤其在处理复杂计算时优势非常明显.用户在看到这些应用效果后对S ...
- GBase 8s SQL 指南:教程———12 创建和使用SPL例程
本部分描述如何创建和使用SPL例程.SPL例程是以GBase 8s "存储过程语言"(SPL) 编写的用户定义的例程.GBase 8s SPL是提供流控制的SQL的扩展,诸如循环和 ...
- 写着简单跑得又快的数据库语言 SPL
数据库语言的目标 要说清这个目标,先要理解数据库是做什么的. 数据库这个软件,名字中有个"库"字,会让人觉得它主要是为了存储的.其实不然,数据库实现的重要功能有两条:计算.事务!也 ...
- 开源 SPL 优化报表应用应对没完没了
现在应用中的报表大都使用报表工具开发,成熟的报表工具提供了丰富的显示设置.图表类型.导出打印等功能可以简化报表开发,非常方便.但是,实际报表开发中还是经常碰到一些非常棘手的深层次问题,即使是已经熟练使 ...
- SPL - 写着简单跑得又快的数据库语言
数据库语言的目标 要说清这个目标,先要理解数据库是做什么的. 数据库这个软件,名字中有个"库"字,会让人觉得它主要是为了存储的.其实不然,数据库实现的重要功能有两条:计算.事务!也 ...
- 又一门国产数据库语言诞生了,比SQL还好用
一.数据库语言的目标 1.1 数据库是做什么的 数据库这个软件,名字中有个"库"字,会让人觉得它主要是为了存储的.其实不然,数据库实现的重要功能有两条:计算.事务!也就是我们常说的 ...
- 比SQL还好用,又一门国产数据库语言诞生了
目录 一.数据库语言的目标 1.要说清这个目标,先要理解数据库是做什么的. 2.什么样的计算体系才算好呢? 二.SQL为什么不行 1.先看写着简单的问题 2.为什么 SQL 不行呢? 3.再看跑不快的 ...
最新文章
- OSI参考模型和网络编程
- 【GVA】gin gorm多对多many2many更新数据时级联更新关联表数据的正确写法
- AdjacentHTML/innerHTML/innerText
- 人工生命 2.0.2 更新,模拟体全息存贮的模式识别
- OpenCV_cv::Mat的深拷贝 浅拷贝问题
- 【考试记录】20181003
- JDK版本更换后编译android系统出错
- 大地测量学笔记 : 高斯克吕格投影
- AD20输出PDF 打印 位号图 焊接图
- Elasticsearch 带中文分词的全文检索(分页+高亮返回)
- mac地址被路由器拉黑_我买了一个新路由器,告诉我我被黑了
- kali系统自带的aircrack-ng破解WIFI
- 洛谷 P3332 BZOJ 3110 [ZJOI2013]K大数查询
- 手机微信中的文档存放位置
- crop图片后,同时修改物体相应的坐标
- android名字最长,AaaaaAAaaa...体验史上名字最长的游戏
- 【笔记】《计算机网络系统方法》(by Larry L.Peterson)第二章 开始连接
- 刚高考完有些迷茫不知道做些什么?谈一谈我的看法
- 让 wls 拥有可视化功能
- 设计师的自我修养pdf_设计师:您为了自己的利益有太多自我吗?
热门文章
- 什么是堆栈追踪(StackTrace)?如何利用StackTrace对程序进行调试?
- HTTP/2 及 HTTP/3区别比较
- TCP/IP协议学习之六(RPC原理以及NFS协议)
- c语言成绩存储的算法思想,C语言算法总结,非常精辟
- Intellij IDEA Organize Imports
- 在等GPT-5多模态?试试Genmo!Adobe AI首轮内测报告;ChatGPT三条使用哲学与实践;论文追更与阅读神器 | ShowMeAI日报
- 解决eclipse连接不到genymotion的问题
- JavaScript, mysql 总结
- KaiwuDB CTO 魏可伟:1.0 时序数据库技术解读
- Jmeter函数分类及自定义开发