我正在尝试使用任何DBMS.与LAPACK进行numerical matrix operations library通信DBMS.
是否有可能send/receive完整的matrix为二进制或直接内存指针来处理它们(这将是这样的:外部库处理存储在数据库中的数据,然后计算一些巨大的matrix的东西,然后通过内存块或一个二进制DBMS从库中得到结果)?
主要目的是速度和避免通过一个平面文件,最后但并非最不重要,使用图书馆有效地做一些操作DBMS不devise。
* Is it possible that Oracle, SQL Server, MySQL support this technique?.
Oracle支持matrix操作,包括LAPACK兼容命令。
看看Oracle包UTL_NLA给你一个起点。 我认为你最好是使用数据库工具来查看数据库,或者完全抛开数据库 – 你似乎想要的方式并不是一个真正的RDBMS。
不,不可能,不明智。 DB数据是事务性的,做事务共享内存是活的地狱。 绝对不是“处理指针”。 可能的,但是你要求客户端库非常好/在控制之下,或者运行很多开销,这意味着不能再去。
看起来像你几乎有不匹配的要求。 标准产品的RDBMS不针对您的工作types进行优化。
你可能做的最好的是:
你可以通过文件共享访问blob,它应该允许内存映射文件。 不导出 – 他们是文件。 每个提交都会创build一个具有不同名称的新副本。 你从数据库中得到sql的名字(这是一个GUID)。
这可能是解决这个问题的最有效的方法。
您可能会在本地存储数据的caching副本,以避免自上次访问以来没有更改过的其他传输。 这将完全在DBMS之外进行编码。