Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to communicate a numerical matrix operations library like LAPACK with any DBMS.

Is it possible to send/receive complete matrices as binary or as a direct memory pointers to process them (it will be something like: The Outside library processes data stored in DBMS, then it computes some huge matrix stuff and then via memory block or a binary DBMS get the result from library)?

The main purpose is speed and avoid passing through a flat file, and last but not least, use library toefficiently do some operations DBMS are not designed to.

* Is it possible that Oracle, SQL Server, MySQL support this technique?.
share|improve this question
up vote 2 down vote accepted

Oracle has support for matrix operations, including LAPACK compatible commands.

Have a look at the Oracle package UTL_NLA to give you a starting point. I think you're better off looking at either using the database tools, or leaving the database behind entirely - the way you seem to want to approach is, well, not really an RDBMS.

share|improve this answer

No, not possible, not sensible. DB data is transactional, and doing tansactional shared memory is living hell. Definitely not "handling pointers around". Possible, but you then require the client libraries to be VERY good / under control OR run a lot of overhead, and that means no go again.

Seems like you pretty much have requirements that dont match. RDBMS, standard products, are not optimized for your type of work.

The BEST you could possibly do is:

  • Store the files in BLOBS.
  • Use SQL Server
  • Use a FILE based BLOB store

THen you could access the blobs via file share whould should allow memory mapped files. Not export - they ARE files. Every commit makes a new copy with a differ5ent name. You get the names in sql from the database (it is a GUID).

That possibly is the most efficient way to deal with this.

share|improve this answer
So, any other way to let some huge processing like statistic analysis outside DBMS, because some things can not be done inside DBMS? – cMinor Mar 18 '11 at 7:02
One question, Do you have an example? just to follow your idea of BLOBS – cMinor Mar 18 '11 at 7:04
Ah, no - but the documentation has. has the starting point (FILESTREAM option). WIth an add in (free) this storage can happen on a sparate server. This is then called "Remote Blob Storage". – TomTom Mar 18 '11 at 7:09

You could possibly store a cache copy of the data locally to avoid another transfer if it hasn't changed since the last access. That would be coded totally outside of the DBMS.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.