Nelle scorse ore Uber ha portato a termine la migrazione dei suoi dati di pagamento da DynamoDB e blob storage a LedgerStore. Quest'ultima è una soluzione di archiviazione progettata per gestire dati di tipo ledger, cioè immutabili e sequenziali come quelle che riguardano le transazioni economiche. Il progetto ha coinvolto oltre un trilione di voci, corrispondenti a diversi PB di dati, con notevoli vantaggi in termini di risparmio sui costi e semplificazione dell'architettura di archiviazione.
Le ragioni della migrazione
Come anticipato, la migrazione è stato operata innanzitutto in un'ottica di riduzione dei costi. DynamoDB, infatti, si sarebbe dimostrato troppo costoso per la gestione di grandi volumi di dati. La necessità di una soluzione più economica per l'archiviazione a lungo termine ha così convinto Uber a sviluppare LedgerStore. Un altro aspetto rilevante riguarda la semplificazione dell'architettura. Prima della migrazione Uber utilizzava DynamoDB per i cosiddetti dati "caldi", quello allocati non più tardi di 12 settimane prima, e blob storage per dati più datati.
Uber Migrates 1T Records from DynamoDB to LedgerStore to Save $6M Annuallyhttps://t.co/eUSlbE6oNL
— HackerNewsX (@HackerNewsX) May 20, 2024
LedgerStore ha invece il vantaggio di centralizzare e ottimizzare la gestione delle informazioni allocate.
Come funziona LedgerStore
LedgerStore è stato implementato specificamente per dati immutabili e a bassa latenza, come per esempio quelli relativi transazioni finanziarie. La strategia di archiviazione utilizzata prevede la presenza di più livelli per bilanciare costi e performance. I dati più recenti vengono mantenuti su supporti più veloci, quelli registrati in precedenza su supporti più economici.
LedgerStore garantisce inoltre che i dati, una volta scritti, non possano essere modificati. Viene così ridotto il rischio di corruzione migliorando la sicurezza.
Prima di procedere Uber ha condotto delle verifiche per garantire l'integrità dei dataset. I test includevano la Shadow Validation con validazioni offline per confrontare i dati tra i due sistemi. Essa consiste nel replicare il traffico di produzione su un sistema parallelo (o "sistema ombra") che esegue le stesse operazioni di quello principale in produzione. In questo modo si è avuta la certezza che i nuovi sistemi funzionassero correttamente senza interrompere quelli in corso.
Come sottolineato dalla compagnia, i dati sono stati trasferiti in modo incrementale, gestendo il carico di lavoro proprio con l'obbiettivo di non interrompere i servizi esistenti. Nel complesso sono stati migrati 1.2 PB di dati immutabili in forma compressa e 0.5 PB di indici secondari senza alcuna compressione. Parliamo di informazioni raccolte a partire dal 2017. L'intervento effettuato sui database dovrebbe permettere di risparmiare circa 6 milioni di dollari l'anno.