MySQL Cluster or Oracle options

MySQL Cluster or Oracle options

by HJWUCGA INC. -
Number of replies: 8
Has anyone tried to install Moodle using Oracle 10g and what was your experience with it and any tips / gotcha's that I should look at?

Also, I noticed that MySQL Cluster 7.0 GA is now ready download.. I'm very interested in this as I'm planning to build an enterprise class moodle environment. I'll test first in an isolated VM environment and will let you know.

Anyone else interested?

thanks

Chris
Average of ratings: -
In reply to HJWUCGA INC.

Re: MySQL Cluster or Oracle options

by François Marier -
Hi Chris,

Having run Moodle on Oracle for some clients, all I can say is try to avoid it if possible.

There are significant performance problems due to the PHP Oracle driver not handling CLOB fields very well.

But perhaps more importantly, there are a few incompatibilities between Oracle and MySQL/Postgres and these show up quite often because there is much less testing done on Oracle.

(You can forget about being able to use Contrib modules easily for example...)

And now that MySQL is also an Oracle product, I guess that makes it another enterprise-ready database ;)

Cheers,
Francois
In reply to François Marier

Re: MySQL Cluster or Oracle options

by HJWUCGA INC. -
Thanks Francois. I thought about that too and will leave out Oracle. Thanks for confirming my hunch...

looks like mySQL now =)
In reply to HJWUCGA INC.

Re: MySQL Cluster or Oracle options

by Richard Jensen -
We have set up a test-bed MySQL cluster (v.7.0) and are finding some serious application compatibility problems. Converting one of our own applications to ndbcluster tables from their original types results in about 10% of the tables proving to be non-convertable. The issues underlying the conversion errors would require a pretty thorough rewrite of our application--a daunting prospect that will not likely happen anytime soon!

We have not yet tried converting a Moodle instance, but the serious problems we have already encountered with our own application, and the research we have done about those problems, leads me to think that it will not be possible for any existing Moodle version. There are many caveats associated with the ndbcluster table type:

http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-limitations.html

It seems that the Moodle team will need to reassess the database schemas in light of these limitations, if MySQL clustering is to be supported in any future version.

I consider the need for such a reassessment to be a profoundly pressing issue. As it stands, Moodle cannot be properly considered an "enterprise grade" application, as there appears to be no well-supported platform (comparible to Oracle's RAC approach, which we employ for our PeopleSoft system) to provide HA and load balancing at the critical database layer.

We intend to next attempt a PostgresSQL cluster, but that platform has other problems from our perspective. So, at the moment, the prospects for an enterprise grade Moodle instance seem bleak.
In reply to Richard Jensen

Re: MySQL Cluster or Oracle options

by François Marier -
Hi Richard,

If you're looking for HA, you might want to look into DRBD: http://www.drbd.org/

It will work with MySQL and Postgres without any special support from the DB.

Cheers,
Francois
In reply to Richard Jensen

Re: MySQL Cluster or Oracle options

by Martín Langhoff -
There is abundant enterprise grade support for both MySQL and PostgreSQL, coming from well known and trusted commercial support companies.

It's not the single-vendor story that leads to inflated pricing you're familiar with but something a lot healthier, with a nimble market with competing support companies. A smart customer (read: you smile ) can get excellent service for a lot less $.
In reply to Richard Jensen

Re: MySQL Cluster or Oracle options

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Clustering does buy you more scalability, at the top end, but only at the cost of hugely increased complexity. Have you thought about what it takes to implement clustering in a DBMS?

So, it is really better not to go there unless you really have to. A much simpler solution is to just buy the biggest single database server you can find.

Of course, for robustness, you do need redundant hardware with failover. But that only requires Master -> Slave replication which is much simpler and more reliable.

How many simultaneous users are you trying to support anyway?
In reply to Tim Hunt

Re: MySQL Cluster or Oracle options

by Gary Benner -

I endorse Tim's remarks entirely.

The mechanics of real-time synchronisation of data in a timely manner is VERY complex, and the recommendation Tim makes regarding a BIG but single DB server backed up in master->slave mode, seems to be the best solution that we have found as well.

If you have a LARGE organisation, consider multiple Moodle installs ( eg. one per school / department ), but using a single LDAP / AD based authentication system, which itself can easily have redundancy built in.

And use a media / document server(s) or a Hive system for file based media.

regards

Gary