Tutti i dati che abbiamo perso con API incompatibili.

Cronache dei nostri dati nel tempo.

Stiamo andando verso i secoli bui dei dati?

Nel febbraio 2015, Vint Cerf, noto anche come il padre di Internet, ha lanciato un avvertimento per l'umanità: quello di una possibile età oscura e di una generazione perduta semplicemente perché i sistemi del futuro non saranno in grado di eseguire il rendering dei file del presente .

"Stiamo con disinvoltura lanciando tutti i nostri dati in quello che potrebbe diventare un buco nero di informazioni senza rendersene conto. Digitalizziamo le cose perché pensiamo di preservarle, ma ciò che non capiamo è che, a meno che non prendiamo altre misure, quelle versioni digitali potrebbero non essere migliori e potrebbero anche essere peggiori degli artefatti che abbiamo digitalizzato "

Il decadimento dei file semplicemente perché il nuovo software / hardware non capisce il formato in cui è stato scritto si chiama Bit Rot e si verifica con ogni nuova generazione di storage, processori o software che arriva e rende il precedente incompatibile e obsoleto.

La NASA ha recentemente dichiarato di aver perso l'accesso a tonnellate di dati dagli sbarchi sulla prima luna, perché le macchine utilizzate per leggere i nastri sono state demolite e non possono essere ricostruite.

Stiamo perdendo, in alcuni casi, l'accesso a oltre l'80% dei dati scientifici sin dai primi tempi dell'informatica e spesso nemmeno realizzandoli e questo non è un problema per un futuro lontano .. non possiamo più giocare a molti videogiochi da anni 90 perché le console sono incompatibili o i distributori non sono più in circolazione. Standard in rapida evoluzione associati al fatto che stiamo distruggendo copie fisiche di vecchi testi preservando le "copie digitali" significa che rischiamo di cancellare non solo le cronache del nostro tempo ma quella della storia stessa.

Stiamo cadendo indietro nel tempo?

Le storie dei primi esseri umani impressi nelle pietre all'interno delle caverne sono sopravvissute per migliaia di decenni.

Quando abbiamo iniziato a scrivere, abbiamo usato tavolette di argilla che sono sopravvissute in alcuni casi per migliaia di anni, quindi siamo passati a un supporto cartaceo, è più conveniente archiviare informazioni su carta ma decade anche più velocemente e gli unici scritti cartacei che troviamo oggi sono quelli che erano stati attentamente preservati nel tempo e in un certo senso "ritenuti importanti".

Scritti cartacei e tavolette di argilla tuttavia non hanno comportato costi elevati per il recupero dei dati, dal momento che chiunque fosse in grado di leggere e comprendere la lingua poteva leggere dal materiale cartaceo.

Nell'era dell'informazione, tuttavia, c'è un costo per l'archiviazione dei dati su larga scala - comporta il costo per eseguire server, pagare per l'elettricità e pagare per le persone che gestiscono quei server, pagare per gli aggiornamenti quando la tecnologia avanza. C'è anche un costo per recuperarlo, gli utenti devono avere hardware e software in grado di comprendere e rendere il formato in cui è stato scritto il file.

I formati cambiano, a volte per motivi tecnici e altre volte per motivi puramente politici. Se Microsoft Word decide di smettere di supportare il formato dei documenti o se il formato PDF non viene più accettato man mano che arrivano quelli migliori e nel tempo la progettazione hardware e software prende una direzione diversa ... in quel futuro tutti i documenti di ricerca, i rapporti finanziari, la nascita i certificati e i record di morte archiviati in pdf andranno persi per sempre.

Mentre stiamo creando più dati, stiamo anche cancellando il nostro passato spesso in modo permanente. Se un'azienda web di consumo viene acquisita o liquidata, non ha alcun incentivo a mantenere i suoi data center in esecuzione come quello che è successo quando la società di automazione Revolv è stata acquisita da Google Nest e il suo hub di automazione è stato chiuso lasciando i proprietari del prodotto di casa intelligente piuttosto stupidi sulla loro decisione. Allo stesso modo, una banca o un istituto finanziario potrebbero non avere alcun incentivo a mantenere registri delle transazioni oltre a quanto richiesto dai requisiti aziendali e normativi.
Considera che quasi nessuno dei blog popolari o delle piattaforme di social media che vediamo oggi sarà in giro tra 50 anni, è difficile immaginare cosa accadrà a tutti i dati che queste aziende avrebbero accumulato nel corso degli anni. I dati che sarebbero stati cronache della nostra vita e dei nostri tempi.

Quando ogni software che utilizziamo è un servizio, la nostra proprietà delle cose e il controllo su di esse è dettato dal fornitore del servizio. In un'ironia che si adatta solo al titolo, nel 2009 Amazon ha cancellato da remoto tutte le copie del 1984 di George Orwell dai dispositivi Kindle dopo una disputa con l'editore.

I giocatori lo sentono spesso quando affrontano il fatto che il loro software e hardware diventano incompatibili e i giochi diventano inutili, se Steam spegne i suoi server, milioni di giocatori non avranno il diritto di giocare al gioco che hanno acquistato. Se i server di League Of Legends si spengono, i giocatori potrebbero non essere mai più in grado di giocare perché i diritti d'autore garantiscono che i server di gioco non possano essere ricreati. Player's of Crysis e BattleField 1942 lo hanno capito quando i titoli sono diventati improvvisamente ingiocabili quando GameSpy ha chiuso i suoi server. I giochi PS3 non sono compatibili con le console PS2 e poiché il supporto per il software e l'hardware diminuisce, tutti i record delle ore della tua vita trascorse giocando saranno spariti per sempre.

Una lettera può sopravvivere nascosta in un armadio per cento anni, ma col passare del tempo e il formato di un file e tutte le sue conoscenze correlate diventano obsolete, nessuna corrispondenza o diario scritto nel formato di file può mai essere recuperato.

Una breve storia di archiviazione dei dati

Le prime registrazioni su tablet sono sopravvissute per migliaia di anni. Fonte.

I nostri primi antenati hanno abbozzato i loro pensieri in dipinti nelle profondità delle caverne che si sono trasformati in archivi senza tempo di dati che guidano l'umanità in avanti. Quando abbiamo iniziato a scrivere, scrivevamo su tavolette di argilla che sono sopravvissute per migliaia di anni e ne sono ancora presenti molte altre ancora oggi.

Poi, nel 1440 d.C., arrivò la Gutenburg Printing Press ed è stato uno dei momenti salienti della storia che ha permesso alle persone di accedere a conoscenze riservate per così tanto tempo all'élite, stimolando le rivoluzioni scientifiche che sono arrivate a definire il moderno mondo. Il supporto di carta aveva un difetto, la carta è un materiale debole e si decompone facilmente. Sono solo i libri meglio conservati che troviamo che hanno centinaia di anni.

Mentre ci dirigevamo verso l'era dell'informazione e trasferivamo l'archiviazione dei dati in un flusso di bit memorizzati sui server, abbiamo spronato un'altra rivoluzione, Internet.
I nostri risultati risiedono nei progressi della teoria dell'informazione e dell'apprendimento automatico. Registriamo le nostre vite su Twitter, Facebook e Instagram che memorizzano i suoi dati in cloud o data center pubblici, facciamo la cronaca del nostro lavoro su Github e lo memorizziamo nei data center di questi fornitori SAAS.

Come stiamo perdendo i nostri dati?

Prima di avere dei data center avevamo delle biblioteche. Le biblioteche avevano il compito di conservare cataloghi di libri e riviste considerati importanti dal punto di vista dell'umanità dal presente e dal passato. Queste biblioteche a volte sopravvivevano attraverso i secoli, ma molte di esse furono distrutte nel corso degli anni attraverso guerre e catastrofi naturali.

I registri di libri e testi che abbiamo perso nel corso della storia

Modifica degli standard hardware

La legge di Moore afferma che il numero di transistor in un circuito integrato raddoppia all'incirca ogni due anni. L'archiviazione su disco e la potenza del processore sono in continua evoluzione e non sempre in modo compatibile con le versioni precedenti. Spesso il mantenimento della compatibilità con le versioni precedenti non è semplicemente possibile e altre volte tali sforzi vengono abbandonati a causa dei rendimenti decrescenti nel tempo.

Stiamo già perdendo molti film e registrazioni dell'era pre-videoregistratore perché le persone si sono semplicemente dimenticate di trasferire le opere su supporti di archiviazione più recenti e le opere esistenti sono state perse o il formato per riprodurle non è più supportato. Per vedere come l'archiviazione su disco è cambiata nel corso degli anni, puoi consultare questo link.

Un'istantanea dell'hardware di archiviazione nel tempo

API e motori di database in evoluzione

Un'istantanea dell'evoluzione dell'API del database [fonte]

Le API del database si sono evolute con la natura mutevole dei dati, nei primi giorni del calcolo dei database relazionali in cui erano gerarchici, fino a quando il modello Entity-Relationship è stato proposto e ha portato all'evoluzione del sistema di gestione del database relazionale. I sistemi NoSQL si sono evoluti per soddisfare le esigenze dei dati nell'era di Internet di dati non strutturati.

Il problema è che queste API spesso non sono compatibili tra loro. Anche le varianti di SQL fornite da diversi fornitori non sono sostituzioni drop-in, esistono diverse varianti di API supportate da diversi fornitori e petabyte di dati archiviati in un formato non compatibile con altre API. Pertanto, se la società che supporta l'API non funziona più, i driver del database per i linguaggi di programmazione più diffusi scompaiono, i dati bloccati nell'API andranno persi per sempre anche se non sono stati effettivamente eliminati dall'hardware.

Guasti hardware ed errori umani

Motivi prevedibili della perdita di dati [Fonte]

L'hardware di archiviazione spesso non riesce, a volte a causa di crash di virus o software, altre volte a causa di errori umani o interruzioni di corrente. I dati vengono persi quando il disco rigido del telefono si rompe, a volte perché non può essere recuperato altre volte perché potrebbe essere costoso farlo.

Il cloud pubblico: un'astrazione senza tempo del livello dell'infrastruttura (almeno in teoria)

La promessa di astrazione senza tempo sul livello dell'infrastruttura che trascende gli aggiornamenti hardware o API

Confidiamo che il provider cloud sarà senza tempo e sopravviverà alle forze di mercato e alle tecnologie in evoluzione e che i dati archiviati nel cloud pubblico verranno impressi per sempre. Riteniamo che il provider cloud migrerà internamente i dati in caselle più recenti se quelle più vecchie diventano obsolete. Il provider cloud manterrà repliche e copie contro le interruzioni di dati e si occuperà della migrazione del software. Ma forse non è semplicemente vero.

Tasso di crescita per i fornitori di cloud pubblico nel 2016 [fonte]

Osservando il mercato globale IAAS vediamo molti nomi e start-up che forniscono soluzioni "Infrastruttura come servizio". In un certo senso guadagneranno e perderanno quote di mercato e con il tempo scompariranno molti nomi e ne arriveranno di nuovi e mentre possiamo supporre che il consolidamento avverrà quando i giganti assorbiranno quelli più piccoli, non sappiamo quali saranno gli SLA onorato nel tempo con tecnologie in evoluzione e forze di mercato.

L'idea dietro YugaByte

Un motore di archiviazione senza tempo, agnostico di infrastruttura o API.

Abbiamo dato nomi alle stelle e alle costellazioni e le abbiamo tramandate di generazione in generazione.

Yuga rappresenta un'era in sanscrito. La visione dietro YugaByte è quella di costruire un livello dati che sia in un certo senso senza tempo e indistruttibile. Alcuni dei fondatori che hanno costruito l'infrastruttura di archiviazione e messaggistica su Facebook e Oracle, conoscono in modo univoco alcune delle sfide che le aziende di domani dovranno affrontare quando la scala dei petabyte diventerà un luogo comune. I dati mission-critical di oggi diventeranno i dati di magazzino di domani e i dati archiviati in pochi anni. Vogliamo che i dati vivano modificando le API e le specifiche hardware. Siamo stati guidati dai seguenti principi guida:

Il livello dati deve essere indipendente dalle API.

Uno sguardo ai sistemi di database negli ultimi 40 anni mostra un panorama disseminato di API nessuna delle quali è compatibile tra loro. Abbiamo deciso di creare un database compatibile con le API Redis, CQL e SQL ed è altrettanto performante nella maggior parte dei casi d'uso e più performante nei casi d'uso focalizzati rispetto al motore di archiviazione originale.

Il livello dati deve essere indipendente dall'hardware.

Possiamo astrarre completamente il livello dell'infrastruttura, fornire la stessa esperienza sui provider AWS, GCP o OnPrem ed eliminare il blocco del cloud sul livello dati (credo che i bambini di questi tempi lo chiamino cloud-native)
Possiamo aggiungere o rimuovere nodi al cluster di dati in modo agnostico hardware, possiamo usare gli strumenti e la containerizzazione moderni di devops per costruire una soluzione che astragga completamente l'infrastruttura del provider IAAS.

Il livello dati deve essere open source e compatibile con standard aperti.

Una base di codice open source e una fiorente comunità di collaboratori significa che il software sopravviverà alla maggior parte delle forze di mercato e si evolverà per supportare casi d'uso che si adattano meglio al futuro sconosciuto.

Il livello dati deve essere distribuito e tollerante agli errori.

Il livello dati può tollerare il fallimento di un numero arbitrario di nodi, possiamo integrare il meccanismo di allerta e le metriche in modo nativo nel motore in modo che non vi siano perdite di dati a causa di nodi inattivi o di dischi pieni. È possibile eliminare la maggior parte dei casi d'uso delle operazioni per errore del nodo all'interno dello stesso livello di orchestrazione.

Il livello dati deve supportare nativamente repliche e istantanee asincrone.

Possiamo applicare i principi di cui sopra non solo al cluster primario ma anche per leggere repliche, backup e snapshot e renderli anche hardware e API agnostici in un certo senso fornendo una mobilità perfetta tra i vari provider di infrastrutture.

Per rispondere ad alcune di queste domande, abbiamo realizzato il progetto YugaByte. È uno sforzo in continua evoluzione verso il raggiungimento di dati che è in un certo senso permanente.

Se ti è piaciuta la storia, ci sono 50 modi (applausi) per mostrare il tuo apprezzamento :)

Questa storia è pubblicata in The Startup, la più grande pubblicazione sull'imprenditoria di Medium seguita da oltre 293.189 persone.

Iscriviti per ricevere le nostre storie migliori qui.