Lo scale-out NAS è uno di quegli argomenti che sta avendo sempre più successo e nuove soluzioni, come quella di Rozo Systems per esempio, sono orientate non solo alla scalabilità in termini di capacità ma anche alle prestazioni.
Un erasure coding interessante
Rozo è una piccola startup francese che sta sviluppando un file system basato su un algoritmo di erasure coding molto particolare e performante (Mojette transform). L’erasure coding è una forma di protezione dei dati molto più avanzata del classico RAID e permette di avere un livello di protezione di gran lunga superiore. In pratica, semplificando molto, l’informazione viene segmentata e vengono calcolate una serie di codici di controllo tali per cui l’informazione originale e ricostruibile anche avendo solo parte dei segmenti. Ad esempio, una volta applicato l’erasure code, potrei ottenere 26 segmenti di cui 20 sono sufficienti per ricostruire l’informazione originale (26/20, significa che posso permettermi di perdere fino a 6 elementi!). Il livello di protezione può risultare molto più elevato ed efficienti che con altri sistemi ma è necessaria molta più CPU per eseguire i calcoli matematici necessari…
L’algoritmo sviluppato da Rozo, al contrario di quelli più diffusi (Reed-Solomon), usa molta meno CPU perchè esegue solo addizioni e sottrazioni, ed è quindi molto più veloce. Il File System, ora alla V2.0, ha anche aggiunto una serie di funzionalità comuni ad altri FS ed è possibile utilizzarlo per creare cluster NAS ad alte prestazioni. Intendiamoci, rispetto ad altre soluzioni, come EMC Isilon per esempio, la lista delle funzionalità è limitata ma qui quello che fa la differenza sono le prestazioni. Infatti la comfort zone di Rozo si estende a cluster con una capacità nell’intorno degli 8/10 PB garantendo però un throughput decisamente superiore alla concorrenza, soprattutto se i file sono di piccole dimensioni.
100% software
Il prodotto di Rozo è un File system. Il vantaggio, come per tutti gli altri prodotti software, è che bastano dei server Linux per poter creare il cluster. Indipendente dall’hardware e dalla configurazione (anche se ovviamente le prestazioni dipendono dall’hardware che si usa), Rozo si presenta quindi come una soluzione molto semplice da questo punto di vista. A volte anche troppo semplice, ad esempio non è presente una UI e tutto viene gestito da CLI (probabilmente anche per una questione di maturità). In ogni caso, Rozo sfrutta i componenti standard di Linux per offrire servizi di rete come, ad esempio, NFS.
I casi d’uso
Gli use case più frequenti per Rozo sono da ritrovarsi nel Big Data, nelle rendering farm e nell’entertainment in generale (ad esempio un repository di video per lo streaming o per l’editing). Infatti, uno dei vantaggi dell’erasure code sviluppato da Rozo è anche dato dal fatto le prestazioni rimangono sempre costanti anche quando il sistema ha subito un fail e deve eseguire una ricostruzione.
Nota finale
Lo storage scale-out è uno degli argomenti più interessanti oggi in questo campo. Con la crescita esponenziale di dati che stiamo vivendo è sempre più facile registrare questo tipo di esigenze in termini di capacità da parte degli utenti. Ora però, oltre alla capacità, alcuni di questi hanno bisogno anche di prestazioni. Rozo ha una soluzione che potrebbe essere interessante se la prestazione è al primo posto e quando la quantità di dati da gestire è considerevole.