Press "Enter" to skip to content

GOTO 2014 • Big Data, Bad Analogies • Mark Madsen


ciao a tutti, sono Mattson che ho
state facendo roba di dati o
circa 30 anni e ho iniziato come a
programmatore si è trasferito in operazioni che ho
fatto praticamente ogni lavoro in IT che ho
stato sai CIO e CTO sono stato un
sviluppatore sono stato un DBA che sono stato un
bidello in un data center che è in
Infatti, ho imparato a conoscere il mainframe
I janitor di programmazione hanno molto gratis
ora è un buon lavoro se sei un IT così
Ne parlerò solo alcuni
analogie ora una delle cose su
analogie nel mercato dei Big Data è questo
hanno tutti torto e il fatto è se
usi una cattiva analogia per spiegare
qualcosa a qualcun altro allora tu
inquadrare il problema in modo errato e quindi
pensi al problema in modo errato
e quindi parte di ciò a cui voglio attaccare
questo discorso è solo un modo di pensare
sui problemi un po ‘diversamente
ad esempio la carrozza senza cavalli il
carrozze senza cavalli come la gente parlava
sulle auto per molti anni e il
il problema è che quando ci pensi
come una carrozza senza cavalli a cui pensi
è come una carrozza e se la guardi
di questi primi vagoni senza cavalli questo
non è il primo ma è il migliore
foto ho una carrozza con
sterzo del carrello e freni a mano
e tutto il resto in un motore
legato a questo prima di questo
il carrello è stato trainato da un motore acceso
quattro ruote attaccate al carrello così
la gente ci pensava esattamente come
un problema alla carrozza che non pensa sia qui
la tecnologia qual è la capacità
che voglio e come posso usare il
tecnologia per darmi quella capacità
che stava guidando un’auto nello stesso modo
nel mondo dei Big Data abbiamo terribile
il lago dati analogici è un grande esempio
odio il marketing intorno al lago dati
i laghi si trovano in natura che non si fanno
I laghi esistono e un lago è pieno
di che acqua è piena
roba indifferenziata quindi è un lago dati
solo un posto con un mucchio di bit in esso
ma non puoi dire da una serie di bit
un’altra serie di bit ma è importante
essere in grado di classificare e ordinare e
differenziare i dati e quindi quando si avvia
pensando al lago dati che inizi
pensando solo a scaricare i dati in
non preoccupatevi di esso o come Devlin farebbe
chiamalo un serbatoio dati proprio a te
Almeno l’ingegneria per costruire a
dam dopo di che tutti i dati
si accumula dietro e inonda tutto il
infrastruttura che annega tutto
questo è dentro e quando ho iniziato
fare sistemi orientati ai dati come grandi
sistemi di dati negli anni ’90 che sarebbero
sono stati machine learning per frode
rilevamento e cose del genere o semplicemente
attività di base di data warehousing
intelligenza, naturalmente, allora grande
significava che conoscevi 50 gigabyte, ma lo era
lo stesso problema l’intera idea lì
era appena tornato indietro
i tuoi database in questo grande
database e hai una grande quantità di dati
e tu sei finito con una discarica di dati
e ora si sta solo andando a finire con
una perdita di dati inquinati lo sappiamo
avvicinarsi a questo modello mentale di come
pensare al problema non funziona a
nuovo che è diverso dal passato
è che oggi abbiamo più dati per molti
più fonti di quelle che abbiamo fatto in precedenza e
quindi le persone hanno parlato dello scarico dei dati
Penso che il marketing splunk usi i dati
lo scarico è un’analogia che è grande se
stai pensando di soffocare sul
fumi delle applicazioni che sei
correndo e stai pensando ai dati
è un sottoprodotto, lo sai che i dati lo sono
probabilmente la parte più importante della tua
elaborazione dati lavoro i tuoi programmi
operare sui dati e pensarci come
esaurire è un po ‘ come questa nuvola di
roba non c’è nessuna struttura lì
nessun modello e una volta emesso
non ci pensi più il
il problema è che i dati hanno una sua vita
proprio quello va avanti per molto tempo e uno
delle ultime analogie è che i dati sono i
nuovo petrolio giusto guardando l’economico
alcuni aspetti dicono che è a
risorsa e puoi elaborarla
molte forme diverse e fare soldi fuori
di fare questo o quando il tuo business
meglio farlo e questo è in realtà
non una cattiva analogia funziona funziona anche
nel senso che ci sono perdite di dati
la privacy perde persone con dati privati
lo prendono in ostaggio e ti ricattano
con esso così si adatta per entrambi i modelli ma
la cosa vera dei dati è che è un
scelta è la tua scelta quando scrivi
un candidato
quando scrivi un’applicazione che hai
strutture dati strutturate i dati
nel tuo codice e quindi stai usando
strati di persistenza di un tipo o
un altro per memorizzare e utilizzare tali dati e
cosa scegli di registrare e cosa tu
scegliere di elaborare è ciò che è importante
ciò che scegli di misurare in un
applicazione ciò che si sceglie di registrare o
il registro non è importante, mi sono semplicemente seduto
il case study di Pinterest e uno dei
le cose alla fine del suo discorso erano a pagamento
attenzione a ciò che si registra il registro tanto quanto
possibile sulle tue operazioni se tu
si aspettano di essere in un ambiente di alto livello
questa è la scelta che stai facendo
e lo stesso vale per te
costruire sistemi ERP o costruire web
scala i siti così quando li guardi
le analogie fanno da cornice a come la pensi
cose e tu conosci una delle domande
è come sai che siamo arrivati ad alcuni dei
posti che abbiamo e sono una specie di computer
storico oltre a farti diventare un genio
Conosco materiale di dati e adoro alcuni di questi
vecchie citazioni sai che ci sono
un sacco di cose là fuori che non sapevamo
esisteva prima e così una delle cose
Mi piace guardare è guardare oltre
modi di organizzare i dati e l’anno scorso I
parlato di tavolette di argilla e tu sai
informazioni sumeriche ipercubes e
cose del genere perché in realtà
ha inventato i dati multidimensionali
modello 6.000 anni prima che si brevettassero
1962 quindi mi sto solo andando a tornare questo
tempo per roba dell’era della carta intorno a te
conosci l’era elisabettiana perché è così
che libri sono davvero decollati, così siamo
parlando da 1550 a 1600 e abbiamo
macchine da stampa commerciali che conosci
la stampa è ormai impazzita per tutti
ho carta e libri e la cosa è così
era unico invece che personalmente
trascritto copie di macchine da stampa
produrre copie esatte così ora possiamo avere
una copia esatta della stessa cosa in molti
tempi sparsi su molti posti che abbiamo risolto
problemi come i problemi di dati oggi
il problema dei dati di come si serializza
oggetti, per esempio, sai che io uso
se uso parsimonia, ne uso un po ‘
xml personalizzato è proprio come font
standardizzazione
il principio è che tu sei
scrivere i dati che qualcun altro ha
leggere ora quando avevamo i testi latini
c’erano tre diverse varianti quindi
ce n’erano di più, ma tre molto
variazioni comuni del testo latino uno di
i testi erano per gli accademici uno di
i testi erano per gli studiosi religiosi
uno dei testi era per il non
studioso religioso il sai bene
non ci entreremo adesso ma il
filosofo e il carattere che hai scritto
non può essere letto dalle altre classi
a meno che non siano stati addestrati a leggerlo
è molto simile alla scrittura di dati in
Hadoop e poi dover avere un input
uscita per la materia che devi legare
in un programma essenzialmente personalizzante
API per tutto o scrivere
formati che altre persone non possono leggere
aspetto unico della standardizzazione dei font
gioca in un mondo di database nel
la forma di SQL è meno comune
denominatore per descrivere i set di dati ora
durante questo periodo siamo passati dagli otto
milioni di libri a 200 milioni di libri e
la popolazione europea era molto
più piccolo in quel momento che è oggi
ovviamente e così una delle cose che abbiamo
finito con era come classificare
dati in cui metti questi dati
registrato in libri in quel momento così
quello è il contenitore il logico
contenitore di struttura e in Alize
Elisabetta un’epoca in pratica ne avevi due
scelte sacre profane sacre date di
le cose religiose profanano tutto
altro e così quando hai questi libri
li hai appena spinti nella biblioteca
lì in due cose c’è forse 50 di
li hai incatenati agli scaffali
non è un grosso problema ma quando tu
iniziare a ottenere così tanti libri
prodotto hai nuovi problemi così avanti
viene la pancetta non quella pancetta di Francis Bacon
e Francis Bacon, certo che lo sai
sta guardando il modo in cui il Vaticano ha fatto
sta guardando l’era classica e
jiri classifica la conoscenza e dice
beh, in realtà ce ne sono tre
categorizzazioni che conosci invece di
sacro e profano avremo
storia Storia di Posey e filosofia in
il suo mondo era tutto ciò che accadeva
Posey era tutto ciò che potevi
immaginare potrebbe accadere che sia
la finzione e la filosofia sono tutto
che in teoria o in realtà può
curr e quindi ha avuto questa divisione e lui
iniziato la tassonomia attorno ai dati e
conoscenza in modo da entrare nel 17 e
1800 ora stiamo parlando del
Filosofia naturale di epoca georgiana
rivoluzioni scientifiche l’illuminismo
e quando questo è successo, lo erano tutti
rendendo ancora più libri il numero di
i libri raddoppia di nuovo durante questo periodo
e la varietà di informazioni nel
prenota la possibilità di riprodurli
le cose creano un’altra esplosione che otteniamo
nell’era vittoriana ora siamo 300
anni dopo da Francis Bacon e il
problema di informazione del giorno è
stampa industriale perché industriale
la stampa produce libri è così
incredibile tasso che non hai più
la capacità di archiviare e gestire correttamente
loro ma non sono solo libri ora che abbiamo
giornali abbiamo l’equivalente di
riviste di oggi abbiamo il volantino
orecchie che corrono selvagge per le strade e
questa esplosione ed esplosione di
la conoscenza specializzata crea il bisogno
per sempre più tassonomia che è modi
di categorizzazione e memorizzazione delle informazioni
e i livelli di riferimento indiretto che hai ora
pensare non solo a una biblioteca
entra e trova il libro che stai cercando
perché ci sono 50 libri ora
5.000 libri in una biblioteca come fai tu
organizza gli scaffali per trovare quei libri
e come organizzi la conoscenza
dentro quei libri e questi vecchi
i modelli non avevano livelli di riferimento indiretto quindi
la gente ha iniziato a prestare attenzione a
scienza della biblioteca che ci porta nel
era moderna essenzialmente con melvil dewey
e ti farò notare alcune cose
lui che sarà rilevante dopo, noi
si avvicinò con una classificazione duale
sistema che è stato per un periodo il più
sistema di classificazione delle biblioteche comuni su
il pianeta è tassonomia fondamentalmente lo è
un orientamento strutturato ad albero dall’alto verso il basso
dove navighi lungo un albero come a
l’albero delle api non è un albero delle api e tu ottieni
fino a uno scaffale di libri e questo è
dove atterri e ha costruito questo per aiutare
si ottiene libri sugli scaffali e per
bibliotecari per aiutarti a trovare i libri
che avevi bisogno di lui era un’efficienza
esperto quindi noterai il suo nome
normalmente Melville sarebbe stata scritta VI el
ma ha tolto l’ Ellen Ian
ha cambiato il suo nome
legalmente perché era più efficiente
togliere quelle due lettere era tutto
sull’efficienza operativa l’altra
persona con cui stava gareggiando durante
questa era dov’è la taglierina di Charles
aveva il sistema di classificazione della fresa
che un sacco di biblioteche universitarie
ancora oggi utilizzato il sistema di taglio di
corso di gestione delle conoscenze non solo libri
e ha progettato un sistema che non lo era
dall’alto in basso era in basso come una sfaccettata
modello di classificazione così come si aggiunge
attribuisce che espandi il sistema che è
come la differenza tra gli intrighi
o database relazionale e lo schema in
una tabella sparsa memorizza qualcosa di simile
HBase dove può essere flessibile e
può adattarsi nel tempo tranne che in quello
era sulla carta che lo ha reso molto
più difficile ora ciò che questo ti dà come a
l’orientamento dal basso verso l’alto ti dà un
modello di informazione flessibile
architettura e ti consente di identificare a
libro unico vedere la cosa sul
Il sistema Dewey è che è un blocco
le persone modello orientato mi chiedono sempre perché
Guardo la scienza della biblioteca è perché
è come un database uno scaffale è come un
bloccare i libri sugli scaffali sono come
record e il sistema decimale Dewey
dice che puoi trovare questo libro qui e
allora devi scannerizzare quella libreria
trova quel libro che è esattamente come
Hadoop funziona bene con l’ Hadoop di base
il modello è che c’è un 64 o 256 megabyte
pezzo ora scansione per trovare i record
a cui sei interessato ora se lo usi
File H o qualcosa del genere che hai
filtri di fioritura e altre cose sul
fine, ma è più come il
modello di taglierina che dice il modello della taglierina
ecco un identificatore è un unico
identificatore per la singola cosa ed è
immutabile se vieni con un nuovo libro
una nuova versione dello stesso libro un libro
con lo stesso titolo otterrà un
diverso identificatori giusto che sia
essenzialmente dicendo che c’è
immutabilità nelle strutture dati
che ti offre una gamma completamente diversa
di comportamenti e facilità di ricerca
informazione ma chi ha vinto ci ha vinto noi
vinta per il pragmatismo giusto
non era che il suo modello fosse di fatto migliore
la sua modella era peggiore per la maggior parte delle cose
ma per i problemi del giorno e del
le tecnologie che stava usando funzionavano
davvero bene e le tecnologie nostre
cataloghi di carte cartacee e sistemi cartacei
dove ogni volta devi fare
qualcosa ti basta scorrere sul
fine mentre il sistema di taglio e avente
fare l’equivalente di come un albero
equilibrio e quindi è stato abbastanza buono da ottenere
il lavoro svolto senza il sovraccarico di persone
sul fronte carta l’altro lato di esso
è molto più interessante che ha risolto il
ingerisci il problema vero problema
risolto che le biblioteche ricevevano libri
più veloce di bibliotecari potevano mettere
su scaffali e quindi se non riesci a ottenere
un libro su una mensola abbastanza veloce allora
i libri si accumulano e alla fine loro
inizia a buttare fuori libri che è
esattamente quello che è successo in molti grandi
biblioteche che non potevano permettersi il
il numero di persone per metterlo su è come
l’equivalente di provare a eseguire a
sito web con un database alle spalle come
Oracle che non può scalare le dimensioni di
che una scatola, perché non può permetterselo
e così ha risolto il problema dell’ingestione
rendendolo molto efficiente a molto
Prendi velocemente degli scaffali sul libro o sui libri
sugli scaffali perché non importa
esattamente dove va quella cosa
va in questo secchio l’altra cosa
prestare attenzione alle biblioteche per come è
i bibliotecari stessi accolgono libri
interessantemente lo scoprirai
inventato cose come il quicksort il
shell ordina l’ordinamento dell’inserto ma
i bibliotecari che mostrano libri usano adattivi
algoritmi di ordinamento tentano gli scienziati informatici
per trovare il miglior algoritmo di ordinamento e così via
il quick ordina il tipo migliore a meno che il
cardinalità dei dati o dell’istogramma
distribuzione dei valori in skew e
i dati sono in un certo modo nel qual caso
l’ordinamento dell’inserto è migliore o la shell
ordinare è meglio e quindi capire come
queste cose si comportano è molto
interessante e questi ragazzi hanno capito tutto
questa roba fuori centinaia di anni fa con
questa roba ci insegna solo a guardare
una specie di libri e librerie e tutto
queste altre cose sono quell’informazione
richiede principi organizzativi e
all’inizio quando hai solo 50 o 60 di
qualcosa che puoi scaricare in questo è
molto simile all’utilizzo di splunk per i dati
analisi Ho un grande flusso di clic profondo
set di dati discarica nella sua gran tiro in
i miei dati cliente il mio Prada
dati i miei dati di vendita miei costi e improvvisamente
devi costruire grandi sistemi disordinati che
non posso navigare nulla perché tu hai
essenzialmente un grande indice di ricerca
e non puoi unire i dati e unire i dati
è una di quelle cose che si rivela
essere molto importante e questo significa
categorizzazione dei dati in diversi blocchi
avere uno schema globale che dice solo
tu dove trovare i diversi dati
imposta la seconda cosa è le differenze in
scala richiede principi diversi esso
è stato abbastanza facile da accantonare libri quando noi
ne aveva 200 milioni in tutto il mondo
molto difficile da archiviare libri quando 200
milioni sono stati prodotti ogni pochi mesi
e quindi è proprio come la tecnologia di oggi
rivoluzione dove i tassi di assunzione di
dati che stiamo uscendo dal
i sistemi che abbiamo oggi hanno superato
tutto ciò che è stato prodotto è a
è più ordini di spostamento della magnitudine
di velocità dati terza cosa è che nel
ciclo di adozione delle informazioni c’è a
punto in cui le persone smettono di prestare attenzione
alla creazione della cosa e inizio
prestando attenzione al consumo di
così è successo con le librerie è
quello che è successo con molto altro
prima si presta attenzione alla tecnologia
come posso catturare le transazioni
accantonare i libri e fare altre cose e
poi più tardi pensi a come posso ottenere
il materiale torna come posso usarlo se
non puoi risolvere il problema di cattura
non c’è molta ragione per prestare attenzione
per risolvere il problema di query e questo è
quante tecnologie di database hanno
si è evoluto così quando pensi alle analogie
uno dei modi per pensare ai dati e
e i database è che sai che i dati sono
per database come i libri sono in una biblioteca
destra i dati in una struttura di dati in a
il programma è una struttura che ha uno schema
ora quando dico schema non intendo un
schema relazionale intendo uno schema in a
senso della struttura organizzativa così a
struttura in un programma Java o un oggetto
o un vedere struct queste sono tutte le strutture
un libro ha una struttura molto rigida e
i dati si inseriscono in quella cosa
la biblioteca è la collezione e c’è a
grande differenza tra fare con
ogni singolo oggetto e collezione
che è stato perso nel settore per a
molto tempo e molti programmatori no
capire perché i modelli orientati sono
importante
stanno tornando in grande stile e il
l’altra cosa è che c’è un punto
dove la stampa è diventata più importante
rispetto alla cosa che ha prodotto al
la stampante si concentra molto sulla storia
le macchine da stampa hanno poca storia
si concentra su come le persone organizzano e
gestire i libri che sono usciti da loro
lo stesso vale per i mercati dei dati e
quindi è una buona analogia nel modo di pensare
come lo si gestisce perché ce ne sono due
serie di cose qui la produzione di
cose su larga scala e il consumo di
questa roba su scala e così uno dei
le cose a cui devi pensare è questo
quando scrivi un’applicazione potrebbe
Diventa Pinterest conosci una scala enorme
l’applicazione potrebbe essere una piccola cosa
per il tuo dipartimento quando costruisci un web
app quando costruisci un’app mobile
produrrà dati che sono
utile per quella applicazione l’altra
la cosa che viene fuori però è
che altre persone troveranno quei dati
utile c’è un ciclo di vita per i dati
che va ben oltre il tuo programma
e così quando arriva un ordine per esempio
nel servizio clienti ha bisogno di accedere a questo
ma fanno le cose anche se tu
costruisci un bel archivio di Mongo da prendere
ordini potresti scoprire che il modello
del percorso di accesso e del nidificazione
relazioni che hai costruito in questo
il modello gerarchico annidato non è mappato a
di cosa ha bisogno il servizio clienti, quindi cosa fare
loro ti costringono a rifare il tuo
modello fisico o sifone i dati
fuori e storicamente quello che abbiamo fatto per
motivi di scala e altri motivi è quello di
continua a spostare i dati dal sistema a
sistema e passare i dati in giro nel
organizzazione fino a quando non sembra così
Ho lavorato molto sull’IT e lo sono
sempre guardando il contesto del sistema
diagrammi che mostrano i flussi di dati di dati
set che assomigliano a questo grande nido di topi
qui ora la cosa che amo il Douglas
Adams cita in un universo infinito il
una cosa la vita senziente non può permettersi di
avere un senso delle proporzioni perché
quando inizi a guardare questo, senti
come se fosse senza speranza, ma non è senza speranza
è solo che a volte devi
pensa oltre a come il tuo programma produce
dati su come viene utilizzato downstream come
gli sviluppatori e io ero uno sviluppatore di a
molto tempo pensiamo a cosa c’è dentro
la scatola e poi se qualcun altro usa
i nostri dati non sono il loro problema
il fatto è che il codice vive più a lungo o
che i dati vivano più a lungo del tuo codice
i dati vivono sempre più a lungo del codice solo
come i libri hanno superato le stampanti che
Producili e quando guardi gli altri
tipi di catene di approvvigionamento che ti ho appena mostrato
un diagramma del sistema aziendale e non lo era
anche una grande azienda questo è il multi
flusso di dati dell’industria per la produzione di formaggio
in un paese e quindi è molto
uno astratto ma tutta questa roba qui
i flussi di dati vanno avanti e indietro
tra tutte le aziende quaggiù
e quindi ci sono livelli di composizione
di dati che vanno oltre il sistema
processo e l’ organizzazione a questo
una sorta di prospettiva molto ampia e
questo è il contesto in cui questo
piccola applicazione qui corre ma
i dati che produce potrebbero andare tutti
oltre il posto e quindi devi pensare
su come vengono prodotti i dati
il lignaggio è ciò che è la sua struttura
altre persone possono consumarlo e altro
persone altri sistemi altri processi
questo mi porta ad un punto sul design così
Ho intenzione di fare una rapida traccia laterale
qui perché davvero quello che sto cercando di fare
uscire con un sacco di cose che io
Parlo di modi migliori di progettare
sistemi e una delle cose che noi
ha un sacco del suo debito tecnico ora
il debito tecnico è fondamentalmente solo cosa
succede quando prendi una decisione con a
trade-off, ho intenzione di farlo ora
perché devo spedire in tre settimane
e lo aggiusterò nella prossima versione quindi
hai assunto un debito lì
preso intenzionalmente quel debito altro
volte non sapevi di aver perso un
requisito hai fatto un errore c’era
un bug che non hai capito
Pinterest talk è stato bello per parlare
riguardo abbiamo provato questo e quello ha funzionato
sei settimane e abbiamo dovuto buttarlo fuori e
avere una piattaforma completamente nuova in
e poi l’abbiamo provato e tu lo sai
mi ricorda il pitone monty
episodio con la palude sai che io
costruì un castello e la gente della palude disse
Ero pazzo di averlo fatto comunque affondare
le paludi ho costruito un secondo castello che
anche uno ti ha affondato nella palude così io
costruì un terzo castello che uno bruciava
giù è caduto dentro e affondò nel
palude ma il quarto finalmente si alzò
possiamo evitare alcuni di questi quarti
finalmente si alzò se capissimo
costruendo in una palude e ciò che la natura
di costruire in una palude è e lavorare
con i dati è spesso così ora
ha detto molte volte che ci piace dare la colpa al nostro
strumenti Oracle non scala o relazionale
i database non ridimensionano o fanno schifo
è il povero falegname che incolpa il suo
strumenti tranne che a volte gli strumenti
davvero fai schifo quindi pensa ai dettagli tecnici
debito in termini di tipi di cose che tu
maturi nel tuo portafoglio software da a
a breve termine in una prospettiva a lungo termine
e quello che troverai è il breve termine
roba sarà per lo più sul tuo
codice dell’applicazione qui per conoscerti
puoi fare molto lassù
architettura e design delle infrastrutture
o una diversa natura del problema e uno
delle cose che vorrei discutere è questo
un sacco di design iterativo che viene
di sviluppo agile e DevOps
approcci è ottimo per trasformare le funzionalità
veloce e veramente terribile per la costruzione
infrastruttura di base che non si costruisce a
città non pianificandola e lasciandola semplicemente
una baraccopoli cresci costruisci una città
creando zonizzazione e costruzione
infrastrutture e strade e acqua e
impianti elettrici e fognari che supportano
le cose sopra di esso senza limiti
loro troppo e l’equilibrio non lo è
avendo su infrastruttura pesante che
abbiamo litigato a lungo
tempo e non abbastanza libertà sul fronte
fine ma se vai nella direzione opposta
è altrettanto grande di un casino e così il
tipi di debiti a breve termine che prendi in
i debiti a lungo termine che assumerai lo faranno
manifestare più tardi e questo è ciò che porta a
grandi fallimenti a volte ora quando tu
pensa alle decisioni che hanno portato a
queste cose qui a breve termine
intenzionalmente intendevo fare ciò che non siamo
andando a mettere questa funzionalità o siamo
andando a farlo in questo modo e poi lo faremo
sistemalo nella prossima versione a lungo termine
è più come le scelte di design che siamo
intenzione di progettarlo in questo modo lo farà
limitare ciò che possiamo fare e che potremmo avere
risolverlo tra due anni contro il
cose non intenzionali i difetti e
come ti indirizzi metodologicamente
c’è un sacco di cose in questo
conferenza su in particolare agile e
DevOps up
qui per risolvere questi tipi di problemi
contro sai ridisegnare e oltre
qui nell’esperienza involontaria della scatola
in educazione è in genere l’unico modo
abbiamo di uscire da quello che vorrei
piacerebbe vedere più di sta muovendo fuori
questa scatola e spintoni importanti
decisioni infrastrutturali che nel mio
il libro tende ad essere topologie hardware
topologie di rete modelli di utilizzo e
strati di persistenza in un intenzionale
box in cui comprendiamo i trade-off
che stiamo facendo la domanda è come
entriamo in questo casino nel primo
posto così ho intenzione di gettare un po ‘di storia
a voi questa è una specie di database
storia del settore e cosa abbiamo qui
sai iniziare nel 1960
archivi di dati multi-valore che conosci in a
archivio di dati a più valori che potresti avere
strutture variabili di record come
abbiamo in Mongo o Cassandra o HBase
quindi questi modelli sono esistiti per molto tempo
tempo avevamo database gerarchici che
lascia che tu costruisca una gerarchia che è
molto come per esempio un documento
database di modelli in cui si ha un cliente
e poi avvolgi gli ordini dentro il
cliente o il classico esempio di
Mongo conosci blog e commenti
modella e fai un commercio là fuori e
fai un trade off qui ed è
esattamente lo stesso commercio fuori così se tu
ridisegnare la letteratura degli anni ’70 per
anche tu puoi essere un buon designer mongolo
perché i principi che operano
dietro questi database pre relazionali
sono comunque la mia carriera iniziata con
registrare i sistemi di gestione che è
fondamentalmente solo sputando le strutture su a
file system nei record e hai avuto per
primitivi per la navigazione oltre
aprendo e chiudendo hai avuto il primo
l’ultimo precedente e successivo c’era no
indice non c’era b-tree c’era no
la chiave per cercare abbiamo dovuto sovrapporli
cose su e il database che
è nato in quest’area come database o
IMS ci ha dato alcune cose come
recuperabilità e transazioni acide e
ci ha spostato da questo disco orientato
modello in cui ogni navigazione dovevi
fai nel tuo codice ma vedo persone Java
lo fanno ancora oggi scrivono una query
contro una relazione relazionale
database lo tira in memoria e poi lo fa
l’unione in memoria che è un’iterazione
costruire iteratori e non è proprio così
una buona idea
non è una buona idea per una ragione chiave così
Non so quanti di voi hanno visto
Conan il barbaro ha ragione di un vecchio classico
filmare ciò che è meglio nella vita bene secondo
a Larry Ellison ciò che è meglio nella vita è
per schiacciare i venditori a vederli
guidato di fronte a te e ascoltare il
lamento dei venditori e
quello è guidato dall’industria informatica
per molto tempo, ma direi male
si tratta di una riusabilità dell’accoppiamento lento e
scalabilità e questo è ciò che i database
database pre-relazionali ce li hanno dati
ci ha dato un accoppiamento sciolto al posto mio
scrivere i record in un file ho questo
descrittore dello schema che dice solo questo
è come appaiono i dati ora che potrei
ho scritto qualcos’altro lì dentro
ma è quello che dovevo mettere
lì e così qualcun altro può venire
lungo chi vuole usare il mio codice perché
il nostro problema chiave in quei giorni era
riusabilità quando ho scritto un file e
quindi ora ho questa idea di perdere
accoppiamento in cui lo schema è separato
dalla memoria fisica che significa
ora qualche altro sistema può gestire
navigazione ottimizzata dei dati su disco o
incassato nella memoria il mio programma ha semplicemente
chiamare l’api per averlo ci ha dato
schemi che ci hanno dato la riusabilità di
programmare la scrittura di più applicazioni
contro lo stesso set di dati che ha dato anche
noi riusabilità nel senso dei dati
portabilità perché a quel tempo tutto
doveva essere scritto attraverso le biblioteche
tutto doveva essere fatto tutto questo
modi diversi e quindi non c’era
portabilità dei dati da un luogo a
l’altro perché si doveva riscrivere tutto
dei dati in un programma diverso
linguaggio diverso vincolante terza cosa
con scalabilità una volta che l’ho consegnato a
tutta una serie di compiti intorno a cui devo un
database che potrebbe iniziare a gestire
concorrenza molto meglio del singolo
programmi di lettura e scrittura di dati e così via
abbiamo alcune cose grandi allora
sono molto simili alle cose che abbiamo oggi
e quello che abbiamo spinto oggi è
i database relazionali fanno schifo perché
sono troppo rigidi, quindi abbiamo bisogno
la flessibilità dello schema bene avevamo uno schema
database relazionale della flessibilità
le implementazioni oggi lo hanno scambiato
e stanno iniziando a ricostruirlo
di nuovo, ma quali sono i trade-off
veramente questi qui sono globali
convalida contro diritto di convalida locale
il contesto del tuo programma definisce il
regole per quali dati appropriati è quello che va
dentro e fuori contro tutti devono conformarsi
a questa regola lo schema non è la sua affermazione
sui dati che i dati appaiono in questo modo
e se hai digitato schemi di questo
si adattano a questi tipi e così globali
regole dello schema come un database relazionale
ha o come gli ims ha avuto un molto severo questi
tipi in queste colonne se si tenta di mettere
caratteri in una colonna numerica è
andando a buttarlo fuori se lo fai in un
il database dei documenti non lo fa se tu
farlo in HBase non lo fa a meno che
applichi queste regole in modo da avere il
possibilità ora di decidere quando è
importante e penso che sia davvero
buona cosa che hai regole sui versi di lettura
giusto e questa è davvero una cosa utile
anche perché ad esempio nei sistemi che ho
costruito che prende i dati di telemetria come
dati di telemetria di gioco in arrivo a a
tasso costante sulla rete dei giochi
e il firmware e i dispositivi e a
centinaia di altre cose cambiano ogni settimana
il che significa che il registro strutturato varia
settimana per settimana sono forse gli stessi dati
è stato riordinato forse qualcosa di nuovo
è stato aggiunto se devo fermarmi
le operazioni alterano una tabella che lo ricarica
tabella ricreare il codice di modifica della tabella in
per scrivere quei dati in quella tabella
Perdo i dati e questo è esattamente cosa
è successo a me, passiamo alle cose
ha appena registrato il record invariabile di ingest
strutture non ho questo problema
più ma ho spostato il mio carico di lavoro
Ho reso molto semplice l’ingestione dei dati
molto veloce e più o meno sa cosa
i dati sono lì per esempio se usi
HBase sai cosa c’è lì dentro
hai strutture variabili il tuo problema è
se vuoi leggere set specifici di
i dati si paga il prezzo in uscita
lato perché i tuoi dati digitano il tuo
archiviazione efficiente e tutto il resto
non sono lì perché non sono stati fatti
per scherzo, quindi fai tutto ciò che funziona
dall’altra parte ma abbiamo abbastanza CPU
e abbiamo abbastanza larghezza di banda in a
sistema parallelo che punta
rapidamente possiamo mangiare quei costi sul
lato in uscita che significa che ora tu
avere una scelta abbinare i dati al
modelli relazionali da tavolo o abbinare il
tabella per gli schemi di predicati dei dati e
quindi hai problemi comunque
a volte non riconosci e uno di
questi problemi sono in flessibilità cosa
tu pensi ad una flessibilità come MongoDB
un mio amico è uno statistico a
amazon si occupa di molti dati
costruito un nuovo sistema per una nuova funzionalità in
Amazon gli sviluppatori sono venuti da lui e
ha detto che proveremo Mongo
per questo ti dispiace e lui ha detto di no
mi dai questi dati e lui ha detto di sì
posso darti che posso costruire questo in
Mongo sarà fantastico così se ne sono andati
hanno costruito il sistema che hanno ottenuto
ha preso queste cose che hanno fatto
analisi statistica e poi lui era
guardando alcune di queste cose e lui
detto questo è fantastico ho bisogno di questo
informazioni qui bene come Mongo
Im e cose prima che abbia un modello
questo richiede di sposarti fisicamente
la tua struttura dati con ciò che è scritto
su disco non esiste un modello di schema libero
qui che ti permette di dire come un relazionale
database lancia un nuovo tavolo qui
non ci sono join nella maggior parte di questi no sequel
database che significa se hai bisogno
flessibile sui tuoi dati devi
riscrivere lo schema in modo che andassero via per
tre settimane hanno ricreato scaricato e
ricaricato il database ha fatto un altro
analisi un paio di settimane più tardi aveva bisogno
alcuni dati diversi e ancora tre
settimane per far cambiare uno schema e questo
l’ hanno fatto in modo intelligente invece che stupido
sai che non hanno scaricato e ricaricato
hanno fatto un modello di riscrittura pigro contro
così sai che leggi i vecchi dati in
e lo scrivi in quello nuovo e
in un periodo di tre settimane ha agitato
abbastanza dati che potrebbe fare il suo
analisi ma dopo ci hanno detto che siamo
non andare a utilizzare più perché questo
ogni volta che lo mangiamo e la ragione è
di nuovo a quel principio semplice dal
i primi giorni si disaccoppiano se puoi
disaccoppia il modello logico dei tuoi dati
dal modello fisico dei tuoi dati
che sia relazionale o meno, vinci
qualcosa
e questo ci porta in alcuni di questi
cose come il teorema del cappuccio che è il
grande driver per molti di questi senza seguito
database che è stato qui come provare
e ridimensionare eliminando cose come
coordinamento delle transazioni che è una chiave
collo di bottiglia nei sistemi di dati in qualsiasi momento due
le cose devono sincronizzarsi con la serializzazione
e quando serializzi un punto che limiti
paralisi che significa limite
scalabilità e quindi molti sistemi che tu
guarda sono qui sulla dir un PCP
asse e ciò che sei ciò che è è
tolleranza di partizione di coerenza e
disponibilità giusta coerenza se tu
scrivi dati e leggo dati è
coerente non sto leggendo a metà strada
volo impegnato transazioni se sei
guardando la disponibilità è che il
i clienti possono effettivamente accedere a
dati e se perdi parte del tuo sistema
per esempio perdere un disco o perdere un nodo
il sistema si bloccherà se è a se è a
Sistema CA che è relazionale moderno
database mentre se siete alla fine
coerente come Cassandra Mongo qualunque cosa
scegli qualcosa su questi accessi
e che cosa ti dai
coerenza e quella coerenza
il trade-off è la cosa che la maggior parte di
questi database creati perché la maggior parte del web
le app non hanno bisogno di transazioni acide
non è necessario preoccuparsi dei saldi bancari
Potrei perdere una registrazione per a
newsletter a cui importa il caricamento
il tuo cellulare sta per Pinterest o
Instagram se fallisce e stai cercando
puoi ricaricare non è un grosso problema
mentre se quello era un deposito di 10-q per
la borsa e il deposito no
passare attraverso sei nei guai quindi c’è
una grande differenza tra quando lo fai e
non ho bisogno di questo ora cosa stai facendo trading
fuori perché i compromessi sono la chiave
cosa perché si sta andando ad ereditare
debito tecnico se si sceglie il torto
cosa e quindi questo è ciò che è relazionale
database fa per te la giusta archiviazione
gestione dei dati di accesso alla navigazione dei dati
transazioni di ottimizzazione delle query
coerenza e, naturalmente, un standardizzato
strato che è universo
in cima quando abbiamo iniziato stavo facendo
registrare i sistemi di gestione prima di me
mi sono trasferito in pochi anni nel mio
carriera avevamo database che facevano i dati
manico di navigazione si unisce per noi trattati
con l’accesso ai dati fisici mi ha lasciato a
affrontare il livello più alto quando a
la relazione è arrivata, abbiamo ottenuto tutto questo
roba e quindi un database un relazionale
database lo fa se si sceglie di non farlo
questa via diventa il tuo lavoro e
è importante sapere molte volte
la gente dà per scontato che io abbia un buon risultato
abbastanza transazioni perché se il mio
il database è coerente entro 10
millisecondi non c’è problema, giusto
malleabilità della transazione di Google errata
e guarda il repository di Bitcoin
fallimenti e quello che scopri è questo
hanno costruito cose con non acido
semantica per un sistema finanziario che
aveva centinaia di milioni di dollari in
e questo ti ha portato a problemi dove
Potrei fare diversi attacchi
questo particolare si sa che porta problemi
fondamentalmente l’equivalente di
letture non durevoli o non isolamento di
transazioni che è un modo semplice di
dicendo che è sbagliato e quindi puoi tirare
più dati o più denaro
quello è dentro c’è altri attacchi che
puoi usare contro sistemi non acidi
come la differenza tra latenza di cassa
e fisico io se mandi il tuo
richieste abbastanza veloci da poter essere ritirate
essenzialmente dal tuo conto bancario due volte
tanti soldi quanti ne hai nella tua banca
questo è il motivo per cui abbiamo l’acido
transazioni e questo è stato argomento
andando avanti da alcuni anni e Google
l’anno scorso ha scritto un articolo per la f1
database a cui ho fatto riferimento qui e
Ho solo alcune citazioni da cui
essenzialmente dire che questo è te e il tuo
codice e così nel tempo i casi limite a
trattare con coerenza finale quando si
bisogno di coerenza supera i costi di
performance da cui prendi il controllo qui
non averlo e così torneremo
il database f1 è una transazione completa
conforme globalmente distribuito
database acido e un numero di nuovi
anche i database sul mercato stanno andando
in questo modo perché si scopre che il
il modello relazionale è abbastanza utile e
alcune di queste cose sono abbastanza utili
che se riesci a rilassarli in certo
contesti ma mantengono ancora il resto di
la modella stai meglio di se tu
buttato fuori e iniziato da zero
che è dove l’industria è oggi e
questo mi riporta indietro
conosci il 1985 quando guardammo il
prestazioni di questi sistemi relazionali
era standardizzato, sai che il seguito è diventato
uno standard nel 1986 e questo era davvero
le porte di apertura per le cose e per quello
tempo che ti ha dato un database gerarchico
prestazioni molto migliori tre volte il
prestazioni a un livello superiore a quello che era
trenta transazioni al secondo o te
conoscere centinaia di transazioni al secondo 30
Penso che le operazioni per disco abbiano ragione
oggi ti stiamo facendo conoscere due milioni di I
Ops, ma 25 anni dopo un singolo sequel
il database del server potrebbe farlo a
la cosa interessante è perché potrebbe farlo
parte giusta del perché poteva farlo era il
cose che i modelli relazionali ti hanno dato
e uno di questi non mi è più entrato
doveva navigare attraverso il percorso fisso dei dati
navigazione che è l’elaborazione delle transazioni
ogni transazione è come ogni altra
transazione conosci l’ I / O percorso
conosci il percorso del codice che conosci tutto
quello accadrà è così prevedibile
che puoi semplicemente costruire quelle query o
una storia diversa perché le query no
devono essere corretti possono variare perché
è solo questo insieme di dati per quel tipo
di data e la cosa interessante di
Certo che stai buttando via domande e il
la prima cosa che la gente capisce è che c’è
più di un tipo di join e poi tu
pensa a cose come tu sai che non posso
far sì che il mio sequel si riduca, quindi sono
senza sequel o non riesco a ottenere
relazionale in scala in modo che andremo a fare
qualcosa di completamente diverso quando il
il problema è probabilmente qualcos’altro e
quando pensi al regalo nel 1985-86
in realtà il patrimonio e il sistema sono
che è venuto prima è che il nucleo è
linguaggio dichiarativo un dichiarativo
linguaggio rispetto a un procedurale o
linguaggio imperativo lascia la macchina
capirlo per te e allo stesso modo a
il compilatore può ottimizzare i loop nel tuo
codice
un database può ottimizzare il percorso di I / O
attraverso il motore per ottenere i risultati
che vuoi che non siano perfetti
più che i compilatori sono perfetti o
Le JVM sono perfette ma ti prendono
qualcosa che prima non avevi
la seconda cosa è l’ottimizzatore basato sui costi
se si sa che questo costa tanto un
I / o qui è questo un transito di rete
costa così tanto in un accesso alla memoria
questo è possibile scegliere il percorso migliore
e questo è importante ed è l’ unico
il modo in cui puoi farlo è se ti separi
schema logico da schema fisico e
non si blocca il modello di archiviazione e
accoppiatelo strettamente al
modello rappresentazionale dei dati e
cosa dice questo ottimizzatore?
ecco tutte queste cose che posso fare
il modo in cui ottiene quello è il
linguaggio dichiarativo che capita di essere
sequel in questo caso gli operatori sono
commutativo associativo e distributivo
il che significa che l’ottimizzatore può cambiare il
ordine di loro perché è così importante
immagina di avere 10 milioni
clienti 100 milioni di sessioni e a
un paio di miliardi di chilometri a cui puoi unirti
cose basate sul meno popolato
tavolo o il tavolo più popolato se tu
scegliere quello sbagliato a bruciare un sacco di
più tempo e sprechi molto
risorse che si traducono in sprecate
tempo nel tuo codice che si traduce in
latenza nella tua applicazione e il
ottimizzatore tenta di risolvere questo ora quanto difficile
può essere oops bene questo è un semplice
cosa selezionando tre tavolo comune
i clienti per ordinare due prodotti solo io
voglio vedere i clienti e gli ordini
che dire contengono un particolare prodotto
ci sono nove piani logici a questo
nove modi di ordinare i tavoli ABC CA.
B e facendo i join ora il fisico
join dei livelli hash join merge-join ness a
unisciti ora alla maggior parte di noi programmatori
dì oh, basta schiaffeggiarlo in un hash e fallo
che non è efficiente sotto certi livelli
di nidificazione della cardinalità sarebbe
meglio o una fusione sarebbe meglio se
sono già ordinati così
le possibilità combinatorie
esplosione per questa semplice query è 324
possibili piani congiunti fisici ora voglio
a pensare a questo quando si è
scrivere una query contro una cassandra
database perché non c’è un join lì
quindi se devi fare un join come fa
capita che tu scriva la query qui che scrivi
una domanda qui porti le tabelle
insieme e poi lo fai nel tuo
codice hai pensato a ogni singolo
possibile uno di questi si unisce a te
potrebbe fare per ordinare i tuoi operatori
correttamente per ottenere il risultato ottimale I
davvero seriamente ne dubito se hai scritto un
script su maiale in Hadoop hai fatto questo
molto improbabile perché è un sacco di
lavoro e varia con la cardinalità
con la distribuzione di valori e il
inclina i tuoi dati e quindi se lo sai
quelle cose che sceglierai un piano
un altro un piano di query è dinamico a
il programma è statico e scritto da te e
quindi sai qual è la soluzione bene il
ovvio soluzione Hadoop gettare nodi a
il problema è solo aggiungere hardware ma di
Certo che sai che amo questa citazione
l’industria del software e in pratica come
il software mangia semplicemente l’hardware per il pranzo
perché è quello che succede e da allora
la tua scala di dati web non ti preoccupare
su di esso bene quando scrivi il codice da fare
questo hai un percorso e in genere
potrai scrivere con qualcosa di simile
iteratori dentro e tu continuerai a scorrere
questo linguaggio dichiarativo rende questo a
diamine molto più facile e questo non lo farà
correre in parallelo breve storia del 1994 che abbiamo
appena venduto un 1,6 milioni di dollari simmetrici
server multiprocessing con un enorme
32 core in cui conosci gli anni ’90
è stato solo uno straordinario sviluppatore venuto da me
con un mucchio di codice che aveva scritto
imperativo procedurale un sacco di iteratori
aprire cursori ha fatto cose come lui
lo ha scritto molto strettamente era in realtà
codice molto ben scritto e mi ha detto
il mio portatile è più veloce del 32 core
server ed era convinto di questo fatto
Ho detto come puoi essere sicuro di te
questo e lui mi mostra i numeri e lui
mi mostra i grafici e ho guardato i suoi
codice e ho detto che te ne rendi conto tutto
di questo si inserisce nel cash del processore
ed è un thread singolo e ha detto di sì
ma io giro a ruba i dati e io spruzzo
a ciascuno dei 32 processori e
così il mio lettore lo legge e lo diffonde
fuori e così sto andando lo sai e posso farlo
meglio scalabile e quindi il tuo sistema
quindi perché dovrei farlo e ho riscritto il suo
codice che era probabilmente circa otto o
nove pagine in una serie di tre pagine
di dichiarazioni sequel che sono appena accadute
uno dopo l’altro e ovviamente mi sono acceso
tutti i 32 core su quel sistema perché il
Stat non aveva guardato quando si era canticchiato
il suo computer portatile è stato il numero di thread che aveva
in esecuzione sul server del database perché
non aveva illuminato tutti i fili?
perché ha scritto il codice serializzato il
il problema è che nessuna quantità di hardware
risolve il codice serializzato ed è molto
difficile scrivere codice parallelo e quindi sì
cose come MapReduce ti danno confusione
operatori e altre cose, ma è possibile
ancora scrivere codice molto sciatto è molto
difficile fare un esempio più realistico di te
conoscere query come questa che è ciò che più
dite che gli strumenti di query bi generano il retro
fine 22 milioni di possibilità che sono a
molte scelte e devi venire
con la risposta ottimale per questo in a
pochi millisecondi dichiarativi basati sui costi
l’ottimizzatore è compilatori just in time
Compilatori di query risolvono cose del genere
questi problemi non sto dicendo uso sequel
per risolvere i problemi di elaborazione dei dati
Il registro dati delle lingue dichiarative è
alternative perfettamente accettabili a
sequel ed è un linguaggio logico che non conosco
mi piacciono molto i linguaggi logici che preferisco
lingue funzionali ma questo è quello che
è il punto chiave su solo aggiungere hardware e
se ti interessa questo lato di
cose che ho spogliato tutto il database
roba di prestazioni fuori da questo parlare di questo
è la legge delle bambole giusta questa linea blu
che rappresenta l’aggiunta di processori e
ottenere una migliore scala lineare delle prestazioni
se avevo quattro processori sua quattro
cento per cento più veloce se io alle otto
processori è l’ottocento per cento
più veloce con il dieci percento del tuo codice
essere al dieci per cento di cereali da fare
una sorta di appuntamento o creare una serratura
e bloccare qualcosa che ha il dieci per cento
per eseguire una sincronizzazione dei confini
conoscere fondamentalmente una MapReduce in modo che tu possa fare
il prossimo
produce il dieci percento di overhead porta a
questa curva cosa significa questo significa
questo qui smetti di aggiungere
processori o smetti di aggiungere nodi perché
bene il mio quarto processore mi dà il
equivalente di tre processori il mio quinto
il nodo mi dà metà di un nodo
esempio di vita reale di questo è stato nel 1993 I
erano i benchmark Iran TPC e io ero
eseguendo un benchmark su processore a4 HP
il server costa due milioni di dollari ciascuno
costi di amministrazione proc a circa un quarto di a
milioni di dollari nel server HP loro
aveva quindici per cento in testa a quindici
percentuale al di sopra del semplice calcolo
della legge di Amdahl che non è la migliore
uno a proposito del quarto processore
me netzero mi ha preso circa il dieci percento
di un processore $ 250.000 mi compra dieci
miglioramento percentuale e tutto il resto
stai facendo avrà un certo livello
di parallelo ed efficienza così è
importante che tu guardi i tuoi dati
guarda i tuoi algoritmi nel tuo codice e
cerchi di capire dove utile
il parallelismo finisce perché si lancia
altri cento nodi di cluster Hadoop
o cluster di Cassandra o teradata a
qualcosa non risolverà il problema se il
l’algoritmo o la query non possono essere utilizzati
in modo efficiente e quindi se vuoi
saperne di più su questa alta frequenza
colloquio commerciale che è questo pomeriggio quello
Martin Thompson Tom Thompson Thomas fa
è veramente buono perché entra in un
molti dei costrutti teorici ma
ne parla dal
prospettiva di messaggistica e accodamento
sistemi e come risulta è esattamente
lo stesso in linea di principio quindi voglio dare
sei un vero esempio di vita nel caso tu
non mi credete dati di ebay sei petabyte
magazzino in esecuzione in un teradata standard
20 bit di i compresso ovviamente Hadoop
cluster e poi questa cosa chiamata
singolarità che è un teradata
database del modello di appliance ha il
dischi molto grandi e lenti che ha 40
petabytes in esso ora ho avuto il
opportunità di eseguire effettivamente un paio di
domanda contro questa cosa in un trilione
tabella di fila con circa un 40 a 50 miliardi
il filtro set di ritorno riga su questo richiede 30
secondi
questa è la cosa importante comunque
Le bugie di Amdahl sull’efficienza delle risorse
e il codice di sloppy efficienza parallela e
basta aggiungere i nodi non è efficiente noi
ho imparato questo con simmetria
multiprocessori conosci multi-core
chip negli anni ’90 anche negli anni ’80 se
il tuo codice o il tuo sistema che sta alla base
il tuo codice non è efficiente, è così
semplicemente spreca risorse dicendo di fare
digita le conversioni ogni volta che leggi
dati invece di fare il tipo
conversione una volta prima di scrivere il
i dati rallentano le cose così prima
grafico proprio qui quanto costano le cose
costi così normalizzati Hadoop dannatamente economici
giusto per te che è un costo unitario
di un diritto l’apparecchio teradata e
i grandi nodi teradati costosi
ridicolmente costoso come 30 X cosa
I costi di Hadoop guardano a questo poi a te
sapere quante unità sono consumate e
quello di cui stiamo parlando è il tipo di
cose che facciamo molti tipi di aggregati
conta i raggruppamenti che conosci selezionali
le cose li raggruppano in questo modo aggregano
questi numeri e mi danno i risultati
grosso grosso brutto che sposta problemi paralleli
e il data warehouse è
straordinariamente efficiente questa cosa non
abbastanza buono e ovviamente quella cosa
orribilmente inefficiente perché a causa di
cose come leggere 64 megabyte in pull
quattro cose su di esso le inefficienze
in scala ti mordono nel sedere e così via
quando guardi cosa fa le unità
consumato incrociato con l’ aspetto del costo
normalizzato bene quel grosso costoso
teradata multimilionaria che ha
sei petabyte al suo interno hanno lo stesso costo di
il tuo cluster Hadoop e tuttavia equivalente
questa cosa proprio qui che è stata modificata
per le operazioni di dati alla rinfusa e i dati di massa
parallelo è circa un terzo del costo
del tuo cluster Hadoop per lo stesso set
delle operazioni questo soffia un buco nel
argomento che aggiunge solo hardware è il
modello giusto per entrare nel mondo dei Big Data
ma per quali operazioni giusto per
il conteggio parallelo ordina le operazioni di aggregazione
se io
fare calcoli e calcoli di bulloni
quello non ha attraversato quello ma
iterated questa sarebbe l’opzione migliore
probabilmente e quindi devi iniziare a
capire come sono i tuoi carichi di lavoro
perché se non lo fai farai il
errore sbagliato perché siamo in a
mondo multi-motore ora e così sì
la cosa è grande per questi problemi, ma se
Ho una serie diversa di problemi che ho
ho un diverso set di soluzioni così
i carichi di lavoro sono fondamentali e ce ne sono tre
tipi di carichi di lavoro ho iniziato a parlare
sui carichi di lavoro e sulla scrittura delle applicazioni
dati e dati di lettura e acido
transazioni e consistenza è quella
insieme di sistemi con cui ho avuto a che fare
il tizio che parla di Pinterest è quello
ha detto oh avevo bisogno di transazioni acide
come il tuo upload di persone Pinterest
foto perché avresti bisogno di questo e lui
abbiamo detto che avremmo ricevuto le notifiche di rimozione di dmca se tu
dimentica di presentare un avviso di rimozione di DMCA
che qualcuno ti ha mandato che hai appena fatto
rotto la legge e gli avvocati arrivano
dopo aver così anche i siti web semplici che
sembra non aver bisogno di cose come l’acido
le transazioni in certi casi fanno così cosa
fai bene potresti avere un sistema
che registra quella roba in acido
transazioni mentre il tuo servizio web
carichi che possono perdere roba e non lo fanno
importa o può essere incoerente è possibile
scrivere per fare due servizi diversi o
puoi andare con quello che hanno fatto
ho tracciato il mio sequel ma quello è un
sistemi analitici del sistema operativo
che è ciò che trascorro la maggior parte del mio tempo
lavorando su sistemi di query grandi
sistemi di analisi e scientifici
grandi dati dei sistemi computazionali
elaborazione intensiva computazionale
le cose sono tutte molto diverse
le nature sono diverse quindi come sono
diverse queste sono le cose fondamentali che sono
non andando a riprendere tutto ciò che puoi
scarica le diapositive se vuoi guardare
a esso in dettaglio ma fondamentalmente
distribuito commette problemi con
coerenza assicurandomi che non possa
prendere più soldi dal sistema di
hai messo in base alla scansione del sistema
cose selettive e un aspetto chiave di
questi sistemi e in cosa sono bravi
è se la selettività e il recupero
sono selettività bassa o alta è la quantità
i dati filtrano effettivamente verso il basso
qui recupera quanti dati tiri
indietro se è nel tuo processore a
un cliente attraverso la rete
calcoli analitici leggono cento
la percentuale dei dati processa cento
percentuale dei dati e in genere put
o un piccolo set o un intero set
queste cose di solito li riassumono
non restituire liste restituite
aggregati ecco perché i database bi
in realtà ho ottimizzato così bene che è
perché quel sistema di singolarità può farlo
dove Hadoop non può questo tipo di cose
ora sei in un mondo dove se tu
bisogno di chiedere che hai bisogno di coerenza te
vai da una parte se non ce l’hai
nuova gamma di opzioni che non hai
avere prima e quindi è necessario pensare
su quei carichi di lavoro e su cui riflettere
conosci le prestazioni / le dimensioni rispetto a
prestazioni oltre la complessità, se lo sei
interessato a questo, purtroppo tu
Ho appena perso una fantastica chiacchierata
dai dati esadecimali ma puoi guardare il
video perché è in fase di registrazione e
questo è tutto ciò che sai molto importante
cose qui per esempio nei database di te
penserei che i dischi siano il collo di bottiglia io
i canali sono il collo di bottiglia sono lenti
e sto recuperando i dati nella memoria
la memoria risolve tutti i problemi che è cosa
L’AP lo direbbe con Hannah no
funziona in questo modo se il tuo algoritmo non lo è
intelligente su come si muove i dati attraverso
la pipeline del processore che spendi verso l’alto
in un mondo relazionale del sessanta per cento
del tuo tempo al livello uno livello due
cache di bancarelle non si direbbe su
questo ma se è lì che stai sprecando
tutto il tempo che più risorse non lo faranno
ti aiuto più memoria potrebbe aiutarti ma
improbabile perché il problema è questo
la tua memoria non sta alimentando i tuoi soldi
abbastanza veloce dovresti essere in grado di fare
questo perché non può farlo perché il
modo di spostare i dati in memoria e
processo non è ottimizzato per questo
spingerlo nel motore risolve quello
problema che è una delle cose esadecimale
i dati fanno dinamici fa vertica e
quindi sai quando pensi a questi
i problemi sono venuti come un
l’industria completa il cerchio dai primi anni
era di non avere sequel che è dove
Ho iniziato a sapere che hai davvero bisogno di questo
roba degli anni 2000 quando tutti hanno detto
no no sequel bad memcache memcached
risolverà tutti i problemi che userà
negozi di valore chiave per tutto per te
conosci Mongo e Cassandra e tutti
dicendo che non abbiamo bisogno di nessun sequel puzzolente
e poi hanno aggiunto sequel come
le lingue sono tornate, ma le hanno chiamate
HQ
o c ql o qualsiasi altra cosa e ora siamo tornati
con te conosci la carta di Google e altro
cose e sistemi post relazionali come
meta non estesa relazionale che hanno
mantenuto quel modello e il dichiarativo
ha aggiunto nuovi operatori e li ha resi migliori
e rilassare alcuni dei vincoli così
dove siamo è non esiste una cosa del genere
come un pranzo gratis che fai sempre
decisioni di trade-off e tu erediterai
debito tecnico e devi pensare
sull’infrastruttura dati perché
è così difficile cambiare una volta costruito
un’applicazione su di esso no tuo
trade-off in anticipo e capirne qualcuno
del dove e del perché di queste cose
ed evitare le conseguenze indesiderate
hai installato Mongo e poi non l’hai fatto
realizzare lo stretto accoppiamento dei dati
struttura e schema per l’archiviazione fisica
ha portato a una serie completamente nuova di problemi
è il mio esempio preferito, lo uso molto
per conseguenze indesiderate che è
che negli anni ’50 era il potere atomico
tutta la rabbia e la potenza atomica stavano andando
per risolvere ogni problema che la società aveva appena
come nessun sequel di oggi e così il radio
una cosa così facilmente disponibile che potremmo
dipingilo sui quadranti degli orologi e il radio lo è
radioattivo quindi lo mettiamo a masticare
gomma per darti energia extra per le donne
il trucco aveva un radio per quel tocco in più
bagliore sano e il mio esempio preferito di
tutto l’ unico che funziona il
profilattico al radio così profilattico
con il radio che in realtà impedirebbe
sai non solo la gravidanza attuale
ma ogni possibile futura gravidanza
quelle sono le conseguenze non volute
che puoi ereditare quando tu
fare l’implementazione tecnica sbagliata
decisione ora sono triste nel dire che non c’è
una risposta sai confusione e
Hortonworks lo adorerebbe se tu solo
comprato Hadoop e buttato tutto il resto
fuori, ma che non sta andando a lavorare Oracle
mi piacerebbe se tu abbia appena comprato un XO
qualunque cosa e li ha pagati otto miliardi
dollari ma non funzionerà
siamo tornati a Best of Breed
architetture per una generazione intera mia
generazione abbiamo pensato al relazionale
la base di dati era la risposta ma risulta
che ci sono più carichi di lavoro con
risposte diverse
e questo è il mondo che stiamo ottenendo
torna a e in modo da sapere Non fare questi
questi errori che alcuni di noi hanno fatto
abbiamo dovuto disimparare perché ho speso il
ultimi sette anni disimparare un sacco di
roba che è che si hanno veramente a
dì qual è il problema per cui questo
la tecnologia è la risposta numero uno e
numero due più importante quello che è mio
obiettivo e come si traduce in
le capacità di cui ho bisogno e in che modo
fa quella mappa su quelle tecnologie
e infine non ci sono buone pratiche
adesso in questo mondo ce ne sono alcuni
buone pratiche ma soprattutto buone pratiche
provengono da pregiudizi di sopravvivenza e sopravvivenza
il pregiudizio è la gente che ce l’ha fatta
il campo minato ed è fantastico se puoi
seguili attraverso il campo minato e
fai tre passi a destra e due
passi avanti e un passo a sinistra ma
ogni azienda è diversa ogni
il team di ingegneri è diverso da quello che non sei
partendo dallo stesso posto che quello
ragazzo iniziato da che significa che se tu
segui il suo esatto schema di passaggi che sei
probabile che passo su una miniera e questo è quello che
noi sappiamo che stiamo imparando nel
mondo tecnologico emergente ora e così davvero
ciò su cui dovresti concentrarti è molto del
peggiori fallimenti sapete qual era il
vera storia del perché Monte vaix abbiamo fallito
potrebbe non saperlo mai, ma lo incolpano
malleabilità delle transazioni sappiamo cosa
questo è e sappiamo che sapevamo cosa fosse
nel 1972 quindi ci sono soluzioni là fuori
cerca quei fallimenti e studia il
schema di quelle cose e imparerai
molto e quindi questo è solo il riassunto di
il corso e con quello sono finito
e voi ragazzi siete tutti liberi per pranzo
la ringrazio molto per essere venuti

Please follow and like us: