在NOSQL数据库中是否存在类似存储过程的东西?

时间:2010-04-14 19:48:11

标签: sql mongodb database nosql

我是NOSQL世界的新手,仍然在nosql和sql数据库之间进行比较,
我刚尝试使用mongodb制作一些样品。

当我们向一个存储过程发送少量参数时,我询问存储过程,这个过程在数据库中执行其他存储过程的数量,将从存储过程中获取数据并将数据发送给其他人。

换句话说,将使用函数序列和存储过程使逻辑发生在数据库端。

NOSQL数据库中是否存在相同的行为或类似内容,或者它完全不同,我的想法是错误的?

2 个答案:

答案 0 :(得分:5)

Mongo在一些地方使用存储的Javascript,包括Map / Reduce,db.eval和where子句。查看此博客文章以进行调查:

Working With Stored JavaScript in MongoDB

将函数存储在服务器上并使它们在这三个上下文中可用的关键是db.system.js.save:

db.system.js.save( { _id : "foo" , value : function( x , y ){ return x + y; } } );

更多详情in the Mongo docs

答案 1 :(得分:0)

取决于您是将“NOSQL”定义为“No SQL”还是“Not Only SQL”。

OpenLink Virtuoso [1](由我的雇主制作)是后者,具有存储过程,SPARQL-in-SQL和SQL-in-SPARQL,以及其他巧妙的技巧;包括通过进程内运行时托管(Perl,PHP,Python,Ruby,JSP等),外部库或帮助应用程序等的可扩展性。

其他NoSQL DB有其他处理方法,例如Mongo通过JavaScript的可扩展性,在其他答案中有描述。

[1] http://virtuoso.openlinksw.com/