Re: Replace Oracle with Open Source DB?



On Mar 15, 10:09 pm, Lee <L...@xxxxxxxxxxxx> wrote:
BACKGROUND
We have an Oracle 10g installation. There seems to be one important
application implemented in Oracle; a kind of Content Management System
to control information for eventual publication on N or more different
web sites.

Information professionals arrange materials into a hierarchy, add
descriptive metadata (The sort of information one might find in Library
Catalogs), declare the material "ready for prime time" and assign
materials to the different web sites. They also control the production
of images (digital pictures mostly) from the "real world" objects; but
Oracle does not store the actual images themselves.

Some of the materials are "born digital" and dont need digitization
control.

Data entry (descriptive metadata and arrangement) is entered into the
Oracle schema holding the actual data  via a web front end written in
pl/sql using Apache and the pl/sql gateway. THe application is in a
separate schema from the production data but has "rights" to read the
tables and to execute packaged procedures living in the production
schema for insert/update etc.

Independant applications running JVM's "Extract" the data by making SQL
calls into Oracle, format the data into XML files, and also index the
information with Lucene.

The XML files and the Lucene indexes are sent off to web farms.

The actual bit streams (pictures, sound files, etc) that are the
"content" are stored outside of the Oracle system in a set of "image"
servers, where "image" can be taken to be a visual image, a sound file,
or any sort of media file.

The actual production data exclusive of indexes and other support
structures isnt more than 2 or 3 GBytes worth.

The pl/sql code to implement the data entry application is maybe 60
KSLOC of pl/sql.

As a practical matter there are never more than a small handful of (say
half a dozen tops?) simultatneous data entry operators simultaneously
active.

Adding everthing togather there's less than 4 or 5 GBytes of data and
70KSLOC of pl/sql code in the whole ORacle portion system.

The heavy lifting, 24x7 web availability to consumers around the globe,
is borne by the web farms and the image delivery mechanis, all outside
of and only loosely coupled  to Oracle through the extraction system.

I have no idea what the Oracle license fees are like. The only possibly
relevant fact being that we are a non profit public institution.

THE QUESTION (at last)
The institution now favors using open source products wherever it makes
sense to do so. The decision to go Oracle for this particular project
was taken in or around the year 2000.

There are many more choices now and some options, such as mySql, which
were "weak tea" then, have since become "contenders".

The situation is complicated by lack of information on my part. I am
given to believe that some departments plan to acquire XML database
tools, but I dont know which ones.

I can imagine that storing, retreiving, parsing, querying and
ransforming XML documents will be increasingly important in the future.

With Oracle,we have XML DB, the xml data type and a whole panoply of XML
integration tools. If we were to dump Oracle, and go completely "open
source", (lets say that means mySql , but that's not certain either)
I'm not sure how , if at all, we could recreate that easy access between
the RDBMS and the XML incarnations of the information.

Does it make sense to port the application to "something" else.

If so why so, if not why not?

What options does the group think are viable?

How would we recreate the beauty of the XNL DB  features in mySql or
berkely DB or INNODB or whatever?

It is all a cost versus features trade off. Boiled down to simplest
terms:

Assume there is equivalent functionality in the open source to match
Oracle or that the equivalent can be built.
(After all, if it cannot work, then there is no sense in converting.)

Consider the costs -

ORACLE DBMS
development costs W = $0 (they are already paid)
training costs V = $/new developer/year (how stable is the
IT staff?)
license costs U = $/year (can they get some charity
discount?)
Maintenance costs T = $/year (bug fixed and enhancements)
Support costs S = $/year

Total Annual Oracle Cost C = V+U+T

Open Source DBMS - say MySQL
development costs M = $ (one time conversion)
training costs N = $/new developer/year
license costs P = $/year (can they get some charity
discount?)
Maintenance costs R = $/year (bug fixed and enhancements)
Support costs Q = $/year

Total Annual MySQL Cost D = N+P+R+Q

The per year cost difference is C - D
The key question is how many years will it take to save the costs of
conversion?
Assume W is $0 (the current system has been in place long enough that
initial implementation costs has been amortized).

So
M = Y * (C-D) or Y = M/(C-D)
where Y=number of years for payoff.

making those estimates will be tricky. You might consider some of the
individual costs.

Will support costs for Open source Q be less than Oracle support S.
Note that Q will be a variable cost while S is fairly fixed. It's like
the difference between annual insurance costs and being self
insured.When the accident happens, will you have the funds to pay it?
It may be possible to get support for open source, but will it be less
than Oracle?

During the years for payoff, will the maintenance costs (R open source
versus T Oracle) be higher because your staff is less familiar with
the new software? that could stretch out the payoff period.

Training costs are likely to be MUCH higher for the first year or so
of the new system. Suppose the costs are identical per developer. but
you have to train the entire staff on the new system. just for
comparison, assume your staff has a turnover or one developer per
year.
Oracle training cost you: 1*N
you have a staff of J number of developers.
Your first year training costs then will be: J*N
Maybe you bury that cost in the conversion costs (M)


Just some thoughts to consider.

Ed

(disclaimer: I am part of a company that does hosting)
And finally one other idea to consider:
outsource the application.
The CMS can be used remotely, the total costs might be less (again
have to do the estimation work). The reason is the oracle licensing
will be amortized over more applications by the hosting company. you
can still do the enhancements. You might have some reduced work
(backups and such) Contact me if that is something you would like to
consider.
Ed Prochak
Magic Interface, Ltd.
http://www.magicinterface.com
ed prochak at magic interface dot com



.



Relevant Pages

  • Re: ADO.NET and SQL, Oracle
    ... >> pay over 2 million dollars a year to Oracle for licensing costs, ... I am curious why you say Paging code in Oracle is easier. ... >> lightweight client like SQL+, ... > I'm not talking about sqlserver 2005, ...
    (microsoft.public.dotnet.framework.adonet)
  • Re: No more Oracle Standard Edition for VMS
    ... haven't you yet realized that the time your employees spend and the costs ... changing the service processor. ... Oracle, it remains good and pricy ). ... by MySQL. ...
    (comp.os.vms)
  • Re: ADO.NET and SQL, Oracle
    ... > pay over 2 million dollars a year to Oracle for licensing costs, ... > me that they are running on Oracle? ... > to go with oracle instead of SQL Server. ... >> Licensing costs are not an issue with enterprise databases. ...
    (microsoft.public.dotnet.framework.adonet)
  • Re: Loss printing ability in mvBase
    ... Tony Gravagno wrote: ... The cost effectiveness came from lower per seat costs and lower hardware requirements. ... Nor does it have the cachet of Oracle, SAP, or even SQL Server. ...
    (comp.databases.pick)
  • Re: off to the farm to start new career ...
    ... suspicious of open source databases, especially after the MySQL story. ... On the other hand licensing is such that you may use your existing DBs ... reality, to MS or Oracle, too), so the impact of the owner changes aren't so ...
    (comp.databases.oracle.server)