使用集算器 SPL可以替代存储过程,实现“库外存储过程”。集算器 SPL 是一款专业的开源数据计算引擎,提供不依赖数据库的计算能力,数据库更换不需要更改 SPL 计算脚本,解决存储过程的移植性问题。
一、存储过程都有什么替代方案
使用集算器 SPL可以替代存储过程,实现“库外存储过程”。
集算器 SPL 是一款专业的开源数据计算引擎,提供不依赖数据库的计算能力,数据库更换不需要更改 SPL 计算脚本,解决存储过程的移植性问题;简洁易用的 IDE 环境编辑调试功能齐全,算法实现更加简单;SPL 体系更加开放,可以直接使用多样数据源计算;“外置存储过程”不依赖数据库,可随应用存放解决耦合性问题;借助文件系统的树状结构进一步解决管理问题;SPL 独立数据库运行,更不会带来安全问题。
SPL 在库外实现存储过程,不再依赖数据库,这样原来绑定数据库带来的各种问题也就解决了。
SPL 独立于数据库运行,解除应用与数据库的耦合性。计算脚本随应用(模块)存储在文件系统中,应用(模块)间不共用脚本文件,降低应用间耦合性。
SPL 脚本在文件系统采用树状目录管理,可以满足原来数量众多存储过程的管理需要,提升可管理性。同时不再依赖数据库,也不需要给应用程序员分配过高的数据库权限,从而提升数据库安全性。
SPL 实现的“库外存储过程”,借助 SPL 的独立计算能力、过程计算、敏捷语法易开发、开放的多样性数据源支持等特性可以实现对原有数据库存储过程的很好替代,对原有不支持存储过程的数据库也是很好地补充。
延伸阅读:
二、存储过程的缺点
移植性差
移植性是指存储过程能否从原有数据库方便移植到到另一类数据库上。存储过程缺乏让存储过程语法变得很不通用,很难移植且成本高昂。
编辑调试困难
存储过程在数据库内实现,缺少有效的 IDE 环境,直到今天存储过程难以编写调试的问题仍然没有解决。
体系过于封闭
存储过程在数据库内运行只能计算数据库内数据,无法满足多样性数据源的需求。如果要计算外部数据,需要先 ETL 到库内完成,不仅浪费时间,也无法保证数据实时性,同时占用非常宝贵的数据库空间。
耦合性高
存储过程通常是为前端应用服务的,但却存储在数据库中,物理分离,维护时需要兼顾两处造成应用与数据库的紧耦合。同时,数据库的线性结构导致存储过程创建后可能被多个应用使用,又会造成应用间的紧耦合。