Erlang and Oracle

Shawn Pearce spearce@REDACTED
Tue Feb 25 19:26:42 CET 2003


I almost have my team ready to dive into Erlang as the backbone of
our server.  Erlang fits our problems perfectly as far as its
concurrency features go, better than anything else we've tried to
do in Java and JNI.  One problem.

We need to talk to Oracle.

The last time I saw Erlang talking to Oracle was either the researchy
OraErl project (won't cut it for us) or the Erlang/ODBC driver, which
is only available on Windows (we want to run on Solaris or Linux).

Do the Erlang masters have any recommendations?

Or do we have to abandon all hope?  :-(

I've come up with a few possibilities thus far:

	- About two years ago I had written a decent Erlang<->JDBC binding
	  by using JInterface to send and receive messages through
	  to Java.  Java threads acted as "database connections"
	  for Erlang and sent everything through JDBC.  It was
	  slower than I would like now, but allowed me talk to Oracle
	  and provide nice mapped associations like using the Erlang
	  atom 'undefined' for SQL NULL in the database.

	- Write a SQL Relay (http://sqlrelay.sourceforge.net/) client
	  in Erlang and use SQL Relay to access Oracle.

	- Write an Erlang port program to use OCI8 and connect to Oracle.

	- Use XML-RPC to talk to something that can talk to Oracle.

I need the Erlang<->Oracle stuff up as fast as possible for this to
work. :-(

With the size of of the data we have to manage, Mnesia is out.  We're
dealing with about .5 TB now and will be growing it over the next year
to 1 TB and possibly higher.  (We just ordered our second 1 TB database
server.)

-- 
Shawn.

  Water, taken in moderation cannot hurt anybody.
  		-- Mark Twain



More information about the erlang-questions mailing list