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

猜你喜欢LIKE
相关推荐HOT
更多>>
为什么SQL数据库用B树索引?
一、SQL数据库用B树索引的原因1、平衡性B树是一种自平衡的树型数据结构,它能够自动调整和保持树的平衡状态。这意味着无论是在插入、删除还是查...详情>>
2023-10-15 17:27:31
Python的pymysql、mysql、mysqlx库都有什么区别?
一、Python的pymysql、mysql、mysqlx库的区别Python的pymysql、mysql、mysqlx库连接数据库所使用的引擎不一样,简单操作都没什么影响的。如果一...详情>>
2023-10-15 16:54:43
CHNS数据库怎么查找想要的数据?
一、CHNS数据库查找想要的数据的方法CHNS数据库是指中国健康与营养调查(China Health and Nutrition Survey)数据库,该数据库提供了中国家庭...详情>>
2023-10-15 16:31:56
502 Bad Gateway怎么解决?
一、502 Bad Gateway的解决办法“502 Bad Gateway”错误是指在客户端(通常是您的浏览器)和服务器之间建立网关或代理时出现问题。1、刷新页面...详情>>
2023-10-15 16:03:47热门推荐
MySQL LEFT JOIN 和 JOIN查询有什么区别?
沸写好的java可执行程序在其他电脑上如何使用?
热oracle19c与oracle12c有哪些区别?
热Python的字典和数据库有什么区别?
新mysql字符串内部是怎么比较大小的?
Excel怎样从Access中实时读取更新的数据?
mysql中,逻辑删除对索引以及性能会造成什么影响?
什么是 ZIP 文件,工作机制是什么?
sql中group by,having语句在select前执行,那么为什么能用select中的别名?
public class和class的区别有哪些?
Python的应用领域及优缺点?
postgreSQL is not null 和 !=NULL有什么区别吗?
Oracle执行SQL报错ORA-00922是什么原因?
为什么SQL数据库用B树索引?
技术干货






