Integrating Moodle with a Postgres-XC cluster database providing high availability and high performance at a low cost Afonso Bione a Rodrigo de Souza b, 1 Unidade Acadêmica de Educação à Distância e Tecnologia Universidade Federal Rural de Pernambuco Brazil a aagbione@gmail.com , b rsouza@deinfo.ufrpe.br Abstract: We study an integration of Moodle, a Virtual Learning Environment (VLE), with the distributed database system Postgres-XC, aiming at the construction of a pool of computers connected in parallel to ensure performance, as required by Moodle, at a low cost. The methodology used was the installation of 10 small computers in parallel, all running the free operating system Linux, forming a parallel processing server. As a result, we obtain an open, accessible and cheap platform for running VLE’s. This prototype has undergone real- world testing and yielded good results concerning usability, availability and performance of the VLE. Introduction The main issue addressed by this research lies in the challenges faced by some educational institutions for the deployment of a Distance Education (DE) infrastructure, mainly in what concerns cost. It is well known that Virtual Learning Environments (VLE) require heavy hardware in order to assure acceptable performance in the context of hundreds of students (or much more, such as in Massive Open Online Courses – MOOC’s) operating the system simultaneously. This is true in particular for Moodle ( https://moodle.org/ ), one of the most popular VLE’s, due inter alia to a large community of developers and the fact that it is open source. In Brazil, where this research has been developed, plenty of educational institutions use Moodle for on-line courses; this is the case for example of the EADTec Department at Universidade Federal Rural de Pernambuco (UFRPE) that hosts a number of DE based undergraduate courses. However, few of these institutions can afford the recommended minimal hardware to support the aimed public. “Moodle has been designed to be compatible, flexible and easy to modify. It has been written using the popular and powerful PHP language, which runs on any computer platform with a minimum of effort, allowing teachers to set up their own servers using their desktop machines. Moodle is built in a highly modular fashion and uses common technologies such as shared libraries, abstraction, and Cascading Style Sheets to define the interfaces (while still working on old browser technology)” (Dougiamas, 2003). “In a distributed environment data is replicated in order to achieve shorter response times, higher throughput and increased availability and reliability in case of failures.In a distributed environment data is replicated in order to achieve shorter response times, higher throughput and increased availability and reliability in case of failures” (Nicola, 2003). We propose a solution based on the integration of Moodle with the Postgres- XC distributed database management system ( http://sourceforge.net/projects/postgres-xc/ ) running over a Linux cluster of cheap computers. As a result, we obtain an affordable, powerful and scalable platform, which most universities can build from existent equipment. To the best of our knowledge, no similar solution (involving Moodle and Postgres-XC) has been proposed in the literature of the subject. The choice of Postgres-XC is natural for, besides being open source, it is a clone of the popular Postgres database management system (for the deployment of databases in parallel), which is used natively by Moodle. Another feature of our solution it that it can be implemented in the cloud – this opens new perspectives to institutions of any size interested in Distance Education but not willing to deal with physical hardware issues. 1 This research is part of the project APQ-0833-1.03/12 Modelos Formais de Computação: Alguma Teoria e seu Ensino supported by FACEPE (Brazilian government).