SPL即将取代SQL?

news2024/11/24 19:32:12

 先来看看两者的定义。

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了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/530191.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何删除 Docker 镜像、容器和卷?

Docker 是一款常用的容器化平台,通过 Docker 可以将应用程序打包成一个独立的容器,方便地在不同的环境中运行。随着 Docker 的广泛使用,删除 Docker 镜像、容器和卷的操作也变得非常重要。在本文中,我们将介绍如何删除 Docker 镜像…

Python消费Kafka与优化

一.背景与问题 之前使用kafka-python库进行消费数据处理业务逻辑,但是没有深入里面的一些细节,导致会遇到一些坑。正常普通我们常见的一个消费者代码:(假设topic的分区数是20个) from kafka import KafkaConsumerbootstrap_servers [localhost:9092] g…

vim命令大全,非常详细,强烈建议收藏!

Vim是一款常用的文本编辑器,具有强大的功能和高度的可定制性。在本文中,我们将详细介绍Vim的常用命令,并提供相关的示例。如果您是初学者或已经熟练使用Vim,这篇文章都能为您提供帮助。 基本命令 以下是一些基本的Vim命令&#x…

一文足矣:Unity行为树

目录 前言 unity行为树简介 一个简单的敌人AI 正文 个人对行为树的理解 有限状态机与行为树 基本框架 BTNode DataBase 行为树入口 行为树的事件GraphEvent 发送事件 监听事件 脚本发送事件 行为树的管理&操作 一、操作单颗树 二、管理所有树 自定义Task任务 …

python字符串的三种定义方式

之前我们讲过 一些字符串的定义 但当时是说 被双引号包裹的就是字符串 其实并不是特别严谨 这个叫双引号的定义方式 也没错 也只有字符串会被双引号包裹 但还有其他的定义方式 这里 还是先说答案 三种定义方式分别是 单引号定义 双引号定义 三引号定义 参考代码如下 #单引定义…

《点云处理算法》——GROR配准

GROR配准方法(实时性挺好) 一、 效果展示二、VS运行2.1 github源码下载2.2 编译运行 三、后续集成 一、 效果展示 二、VS运行 最近和小伙伴交流,他发现一个好用的配准方法,放在这里实现一下 2.1 github源码下载 gror 2.2 编译…

hexo,typecho,wordpress,hugo的官网下载及介绍

Typecho Typecho是一个轻量级的PHP博客系统,它的优点在于易于安装、使用和管理。Typecho使用MySQL数据库来存储文章和评论,同时支持主题和插件的自定义。Typecho适用于个人博客、技术博客等,因为它的易用性和可扩展性较高。 WordPress Word…

分析SpringBoot 底层机制【Tomcat 启动分析+Spring 容器初始化+Tomcat 如何关联Spring 容器之手动实现

分析SpringBoot 底层机制【Tomcat 启动分析Spring 容器初始化Tomcat 如何关联Spring 容器之手动实现 目录 分析SpringBoot 底层机制【Tomcat 启动分析Spring 容器初始化Tomcat 如何关联Spring 容器之手动实现 实现任务阶段1- 创建Tomcat, 并启动 说明: 分析代码实现 修改…

Android源码之Application与Activity创建时机分析

前言 我们知道App进程是由SystemServer启动的Android启动流程 那App对应的Application以及第一个Activity又是如何创建的呢? 源码分析(API 30为例) 我们从ActivityThread.main函数入手; public static void main(String[] args) {...ActivityThread t…

第八章结构型模式—装饰者模式

文章目录 装饰者模式解决的问题概念结构 案例使用装配者进行改进 使用场景JDK源码分析 静态代理和装饰者的区别 结构型模式描述如何将类或对象按某种布局组成更大的结构,有以下两种: 类结构型模式:采用继承机制来组织接口和类。对象结构型模式…

【Linux】volatile | SIGCHLD | 多线程概念

文章目录 1. volatile编译器优化 2.SIGCHLD信号验证SIGCHLD的存在 3. 多线程多线程概念理解概念什么是多线程调度成本低局部性原理 什么叫做进程 1. volatile 在vscode中,创建signal.c文件 故意在while中没有写代码块,让编译器认为在main中,…

爬虫+可视化 | 动态展示2020东京奥运会奖牌世界分布

文章目录 前言1. 导入模块2. 数据爬取3. 地图展示 3.1 2020东京奥运会奖牌数世界分布3.2 2020东京奥运会金牌世界分布3.3 2020东京奥运会金、银、铜世界分布 前言 2020东京奥运会已落下帷幕,中国军团共获得88枚奖牌,其中38枚金牌、32枚银牌、18枚铜牌…

基于RV1126平台检测模型全流程部署(附工程)

基于RV1126平台检测模型全流程部署 模型训练ONNX导出ONNX模型简化Python部署C部署 本工程地址:https://github.com/liuyuan000/Rv1126_YOLOv5-Lite 模型训练 这次选用的是方便部署的YOLOv5 Lite模型,是一种更轻更快易于部署的YOLOv5,主要摘…

嵌入式通信协议【Modbus】modbus RTU的帧格式

modbus的帧格式 设备地址功能代码数据格式CRC校验LCRC校验H8bit8bitN*8bit8bit8bit 1 主机对从机单个寄存器写数据操作(0x06) 从机地址功能代码数据格式(数据地址)数据格式(数据)CRC校验LCRC校验H010600…

动态规划:万变不离其宗,带你吃透股票系列问题

前言: 对于买卖股票问题而言,最关键的是我们对问题的处理方式(对于每一天而言,我们应该描述当天买入卖出还是只描述每天股票的只有或者不持有的状态呢?)我们应该描述每天股票是否持有的状态,因…

中科院发布多模态 ChatGPT,图片、语言、视频都可以 Chat ?中文多模态大模型力作

作者 | 小戏、ZenMoore 在 GPT-4 的发布报道上,GPT-4 的多模态能力让人印象深刻,它可以理解图片内容给出图片描述,甚至能在图片内容的基础上理解其中的隐喻或推断下一时刻的发展。无疑,面向所谓的 AGI(通用人工智能&am…

数据结构初阶(1)(一些学习数据结构所需掌握的先导知识:包装类、装箱与拆箱、泛型、List简介)

包装类 基本数据类型和包装类是Java中处理数据的两种不同方式。 基本数据类型(Primitive Types): Java的基本数据类型是直接存储数据的原始类型,包括以下8种类型: byte:1字节,用于表示整数 …

IEEE编写LaTeX时在作者后添加ORCID标志及链接(简单方案,一行代码)

IEEE的一些论文,如Trans系列惯例是要在作者后添加ORCID标志及链接,但是其How to里面没有相关latex代码案例。 1. 可以用但复杂的方案 CSDN中不少博主也给出了挺漂亮但是比较复杂的方案,如这个的一大串: \documentclass[letters…

Linux文本之awk编译器

一、awk介绍 1)awk概述 AWK 是一种用于处理文本的编程语言工具。AWK 在很多方面类似于 shell 编程语言,尽管 AWK 具有完全属于其本身的语法。它的设计思想来源于 SNOBOL4 、sed 、Marc Rochkind设计的有效性语言、语言工具 yacc 和 lex ,当…

尚硅谷大数据技术NiFi教程-笔记02【NiFi(使用案例,同步文件、离线同步mysql数据到hdfs、实时监控kafka数据到hdfs)】

尚硅谷大数据技术-教程学习路线-笔记汇总表【课程资料下载】 视频地址:尚硅谷大数据NiFi教程(从部署到开发)_哔哩哔哩_bilibili 尚硅谷大数据技术NiFi教程-笔记01【NiFi(基本概念、安装、使用)】尚硅谷大数据技术NiFi教…