Database support (10)

The Sakai CLE supports the following production-grade databases:

Database

Driver

Notes

MySQL 5.5.xMySQL Connector/J 5.1.13+

(minus) Sakai requires transaction support. In the case of MySQL you must implement the InnoDB storage engine to ensure proper transaction handling.

(green star) QA for Sakai 10 MySQL was using Connector/J 5.1.27 and MySQL 5.5.34

MySQL 5.1.x

MySQL Connector/J 5.1.13+

(minus) Sakai requires transaction support. In the case of MySQL you must implement the InnoDB storage engine to ensure proper transaction handling.

Oracle 11g

OJDBC

(warning) Oracle recommends using the latest 11g driver if you are using Java 6 with either 10g or 11g; with Java 6 in combination with the 11g driver,

(green star) Recommend but not required - convert longs to clobs - SAK-7977 - Getting issue details... STATUS Only tested on Oracle 11.2.0.3 - https://github.com/daveadams/sakai-tools/blob/master/convert-longs-to-lobs.sql . By default it will scan your tables for LONG and LONG RAW fields but it won't change anything. Add "CONVERT" to the command line to actually perform the conversion and rebuild the indexes in the involved tables. Please be sure you understand what the script will be doing before you run it, and always always test thoroughly on a non-production environment before you attempt to run this on your production system.

Oracle 10g

OJDBC

(warning) Both Oracle 10g AND 9i users must use the 10g driver; the latest 10g "Release 2" (10.2.x) or higher is recommended.
(warning) Oracle recommends using the latest 11g driver if you are using Java 6 with either 10g or 11g; with Java 6 in combination with the 11g driver

DB2


Deprecated

The Sakai CLE have official support for Mysql with production-grade databases, but MariaDB is a binary drop in replacement for Mysql (source : https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/) and should work with Sakai but it is not officially supported.

Database

Driver

Notes

MariaDB 5.5.x (Not officially supported but works)MySQL Connector/J 5.1.13+

(minus) Sakai requires transaction support. In the case of MariaDB, you must implement the XtraDB storage engine to ensure proper transaction handling.

Check the Incompatibilities between MariaDB 5.5 and MariaDB 5.3 and MySQL 5.5 to configure your MariaDB server correctly if you want to use the "INSERT IGNORE" parameter:

https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/#incompatibilities-between-mariadb-55-and-mariadb-53-and-mysql-55

Rutgers University, The State University of New Jersey, use Sakai 2.9.x with MariaDB 5.5 and the XtraDB storage engine (previously MariaDB 5.1 and Sakai 2.9.x)

Source 1 : https://sakai.rutgers.edu/access/content/public/technical.html

Source 2 : http://collab.sakaiproject.org/pipermail/production/2013-January/001962.html


Choose the appropriate MySQL or Oracle JDBC driver (or connector) for your installation. For MySQL, download the *zip/*tar.gz archive, extract its contents and copy the mysql-connector-java-<version>-bin.jar to $CATALINA_HOME/common/lib. For Oracle download the ojdbc14.jar file and copy it to $CATALINA_HOME/common/lib.

(info) You will not need to create Sakai database objects (tables, indices, etc) when setting up your database. Sakai generates its own database schema automatically during the Tomcat setup process via the autoDDL setting in sakai.properties.

In actuality, Sakai is not limited to these database choices and integration with other RDBMS systems is not difficult. In the past at least one installation used Microsoft SQL Server while requests for PostgreSQL integration are occasionally raised on the Sakai developers list. However, to date no one in the Sakai Community has stepped forward to support alternatives to either Oracle or MySQL, a prerequisite for adding additional database options to the release.