存储过程都有什么替代方案?
一、存储过程都有什么替代方案
使用集算器 SPL可以替代存储过程,实现“库外存储过程”。
集算器 SPL 是一款专业的开源数据计算引擎,提供不依赖数据库的计算能力,数据库更换不需要更改 SPL 计算脚本,解决存储过程的移植性问题;简洁易用的 IDE 环境编辑调试功能齐全,算法实现更加简单;SPL 体系更加开放,可以直接使用多样数据源计算;“外置存储过程”不依赖数据库,可随应用存放解决耦合性问题;借助文件系统的树状结构进一步解决管理问题;SPL 独立数据库运行,更不会带来安全问题。
SPL 在库外实现存储过程,不再依赖数据库,这样原来绑定数据库带来的各种问题也就解决了。
SPL 独立于数据库运行,解除应用与数据库的耦合性。计算脚本随应用(模块)存储在文件系统中,应用(模块)间不共用脚本文件,降低应用间耦合性。
SPL 脚本在文件系统采用树状目录管理,可以满足原来数量众多存储过程的管理需要,提升可管理性。同时不再依赖数据库,也不需要给应用程序员分配过高的数据库权限,从而提升数据库安全性。
SPL 实现的“库外存储过程”,借助 SPL 的独立计算能力、过程计算、敏捷语法易开发、开放的多样性数据源支持等特性可以实现对原有数据库存储过程的很好替代,对原有不支持存储过程的数据库也是很好地补充。
延伸阅读:
二、存储过程的缺点
移植性差
移植性是指存储过程能否从原有数据库方便移植到到另一类数据库上。存储过程缺乏让存储过程语法变得很不通用,很难移植且成本高昂。
编辑调试困难
存储过程在数据库内实现,缺少有效的 IDE 环境,直到今天存储过程难以编写调试的问题仍然没有解决。
体系过于封闭
存储过程在数据库内运行只能计算数据库内数据,无法满足多样性数据源的需求。如果要计算外部数据,需要先 ETL 到库内完成,不仅浪费时间,也无法保证数据实时性,同时占用非常宝贵的数据库空间。
耦合性高
存储过程通常是为前端应用服务的,但却存储在数据库中,物理分离,维护时需要兼顾两处造成应用与数据库的紧耦合。同时,数据库的线性结构导致存储过程创建后可能被多个应用使用,又会造成应用间的紧耦合。
猜你喜欢LIKE
相关推荐HOT
更多>>如果有子查询SQL语句的执行顺序是怎么样的?
一、如果有子查询SQL语句的执行顺序是怎么样的1、子查询作为WHERE子句的一部分子查询作为WHERE子句的一部分时,首先会执行子查询,得到结果集后...详情>>
2023-10-20 23:42:56SQL Server 2014的集成内存OLTP(Hekaton)有什么战略意义?
一、SQL Server 2014的集成内存OLTP(Hekaton)有什么战略意义1、SQL Server本来就是in memory的,任何数据库都会用大量内存去cache磁盘数据,所...详情>>
2023-10-20 18:27:43Python编程中,如何使用多进程完成多任务进程有哪些注意点?
一、Python编程中,使用多进程完成多任务的方法Python提供了multiprocessing模块,可以用于在单个计算机上创建多个进程,从而实现多任务处理。...详情>>
2023-10-20 12:27:56一次简单的redis网络请求会有哪些CPU开销?
一、网络连接开销Redis是一个基于客户端-服务端模型的网络应用程序,通过TCP/IP协议进行通信。因此,建立和维护与Redis服务器之间的网络连接会...详情>>
2023-10-20 10:12:38热门推荐
如果有子查询SQL语句的执行顺序是怎么样的?
沸制作大型软件一般选用什么类型的数据库以保护数据安全?
热sql server2000导出CSV文件用EXCEL数据格式出错怎么处理?
热oracle user_segments表的segment_name字段以BIN$开头的是什么?
新MySQL日均10万数据永久保存实现高可用可以采用什么方案?
如何将ABAP时间戳转换为JAVA时间戳,原理是什么?
Django项目中如何配置MySQL数据库?
在mysql中既然where和having都能过滤,为什么用where的多?
CSS3有哪些特性?
SQL Server 2014的集成内存OLTP(Hekaton)有什么战略意义?
用access做一个数据库,用户登录界面,不同用户权限不同,应该怎么设置?
什么是Caché数据库?
flash手机广告动画制作公司使用哪些软件?
文件过多时ls命令为什么会卡住?