Nu tine pt oracle. Motive : 1. Cu kernelul ala nu mai beneficiaza de suport tehnic. (si in functie de versiunile de glibc si gcc-ul distributiei pe care ar instala, s-ar putea sa nici nu i se instaleze) 2. Taskurile care se preteaza pentru mosix-like clusters sint cele nevoi MARI de cpu si nevoi MICI de i/o.
Acum sa vedem cum merge oracle, si o baza de date in general : Are o arie de memorie (destul de mare) care se cheama SGA si care trebuie sa fie accesibila tuturor proceselor oracle. (Shared Global Area). In functie de dimensiunea bazei de date si optimizarile pe care le vrea DBA-ul, acel SGA poate fi de la 128 de mega la ... 1-2 giga, sau chiar mai mult. De asemenea, o baza de date lucreaza pe seturi MARI de date, pe care de asemenea le tine in memorie. Cu cit tabelele sint mai mari, cu atit vei avea zone de memorie alocate mai mari. Acum sa vedem ce se intimpla in mosix. La un moment dat, din cauza incarcarii sistemului, kernelul mosix va incerca sa migreze un proces pe alt nod. Procesul ala are deja un segment de date de.... 300-400 de mega spre exemplu, pe care le rumega. Asta ar insemna un timp de transfer ENORM care ar anula orice avantaj al tranzitiei. Mai mult, in interiorul SGA se tin toate mecanismele interne oracle de sincronizare intre procese (asta spus FOARTE pe scurt). Cum accesul la acea zona este dat pentru toate procesele oracle, accesul la ea este controlat in mod normal prin mecanismele standard ale kernelului. Insa cind un proces de pe alt nod incearca sa scrie acolo, kernelul mosix va trebui sa faca trafic suplimentar pentru a simula ca SGA-ul pe care il vede procesul x pe un nod este acelasi cu SGA-ul pe care il vede procesul y pe alt nod. Ba chiar cele 2 sga-uri trebuie SINCRONIZATE. Evident - tot prin retea.- > alt timp pierdut. Si daca tinem cont de diferenta absolut enorma intre viteza si latenta memoriei unui sistem si viteza si latenta oricarei retele la care ai putea conecta nodurile, atunci rezulta ca ai pierdut inca si mai mult timp. Si de asemenea accesul la disc : in momentul in care un proces migrat va incerca sa acceseze un datafile - ai ghicit, il va accesa tot prin retea. Rezulta - din nou,pierdere de viteza. Situatia aceasta din urma ar putea fi partial rezolvata prin folosirea unui sistem de fisiere distribuit, insa din nefericire astea sint cam experimentale si nestandard in linux. Oricum... ideea ar fi ca daca tu pui oracle pe mosix, este posibil ca: 1) sa nici nu il poti instala 2) sa iti mearga nu mai repede, ci mai incet decit un singur nod. --- Detalii despre listele noastre de mail: http://www.lug.ro/
