MariaDB MaxScale è diventata una Release Candidate, per questo traguardo dobbiamo ringraziare tutte le aziende che hanno accettato di far parte del progetto di test MaxScale Beta e tutta la squadra di MariaDB che è stata coinvolta in questo studio.
Questo importante passo nella vita di MaxScale ha avuto un impatto importante sul processo della Quality Assurance di MaxScale.
Il test
Abbiamo deciso di chiedere aiuto a diverse società, per testare MaxScale in ambienti “reali” con impostazioni personalizzate, differenti configurazioni e con carico di traffico il più possibile vicino alla realtà.
La società Colt Engine srl proprietaria del brand Joomlahost.it, è una società Italiana di hosting con sede a Torino che ha mostrato molto interesse per questo progetto fin da subito, sono stati grandi fan di MariaDB MaxScale e sono stati molto entusiasti di essere i primi collaudatori di MaxScale a partire dall’ inizio del 2014 quando era ancora nella versione Alpha. In realtà proprio loro hanno suggerito alcuni plugin di filtraggio che sono stati poi implementati.
Nel mese di Novembre, abbiamo iniziato ad elaborare insieme un possibile ambiente di test e Colt Engine ha deciso di inserire MaxScale nella produzione di uno dei suoi progetti.
Quello che vorrei mostrare in questo post è uno dei possibili infiniti modi in cui MaxScale può aiutare gli amministratori e gli architetti dei database a risolvere diversi problemi e a progettare facilmente un’architettura flessibile.
Colt Engine è un Internet Service Provider, nonché fornitore ufficiale italiano di hosting per Joomla!, secondo me uno dei migliori tester.
I Plugin di filtraggio
Negli hosting in Joomla!, nella maggior parte dei casi (se non tutti) non sono presenti aiuti che possano indicare quali applicazioni sono in esecuzione sui loro server e come queste accedano alle istanze di MariaDB o MySQL (ora stanno utilizzando sia MariaDB che MySQL, ma a poco a poco sposteranno tutti i server su MariaDB). Non è facile prevedere i carichi di traffico o il numero di connessioni di cui una specifica applicazione avrà bisogno nel tempo e non è facile ne’ gestirli ne’ distribuirli.
Alcuni plugin di Joomla! che sono disponibili, utilizzano istruzioni obsolete o che sono state modificate (“TYPE =” versus “ENGINE =” in the CREATE TABLE, solo per citare una delle più comuni).
In questo caso particolare, MaxScale può filtrare tutte le sintassi obsolete e fornire a Colt Engine la possibilità di decidere su quale specifico server con una particolare release di MariaDB/MySQL indirizzare le richieste, o meglio ancora, sostituire la parola chiave obsoleta (come nell’esempio precedente) con la sintassi più aggiornata e mantenere tutti i server allineati con la stessa versione del database.
E’ facile capire che se si devono monitorare centinaia di server è importante avere una piattaforma affidabile e scalabile, tuttavia, quando ciò non è possibile, o durante i periodi di transizione, MaxScale può dare la possibilità di integrare le diverse versioni del database e instradare costantemente le query verso i server specifici in base a regole specifiche.
Il filtro Tee
Un’altra parte dell’ambiente di test coinvolge un ulteriore importante filtro di MaxScale cioè il filtro Tee.
Questo filtro permette di duplicare le query su diversi tipi di server database, quindi è possibile creare server con carichi di lavoro differenti con una tecnologia di bilanciamento dei servizi davvero unica.
In realtà l’ utilizzo specifico del filtro Tee ha dato feedback importanti per i nostri ingegneri di MaxScale che, grazie a questo, sono stati felici di perfezionare la progettazione originale del filtro Tee e di permettere un uso più evoluto di esso.