Press "Enter" to skip to content

GOTO 2012 • Introduction to NoSQL • Martin Fowler


quindi benvenuto in pista senza sequel
database anche se sembra che abbiamo
avevo già un paio di tracce su quelle
database sequel il mio nome è martin
gli oscar fowler stephen hanno ospitato la traccia
mi ha chiesto di dare il via alla maggior parte
questa pista sta per essere circa
esperienza pratica della gente che fa
uso di nessun database sequel ma questo discorso
è l’eccezione perché questo è davvero
un’introduzione a ciò che nessun sequel
i database sono tutto ciò che farò
il mio meglio per stipare in 50 minuti tanto
informazioni utili come posso che la volontà
ti aiuto per darti un contesto
comprendendo molto di ciò che accade
i discorsi successivi e la prima parte di
questo parlerò un po ‘
sulla storia di nessun database sequel
perché come con molte cose a
capire perché qualcosa è come
è utile sapere come sulla terra
arrivati ​​lì in primo luogo, ora, quando io
iniziato nel settore informatico nel
a metà degli anni ’80 era proprio al punto
i database relazionali più ricchi erano davvero
entrare e iniziare la loro ascesa è
tipo di difficile immaginare che ci fosse un
tempo senza database relazionali ma io
ricorda quando erano il nuovo caldo
le cose di cui le persone stanno discutendo
se ci sarebbe del buono o no
e ci hanno portato molti benefici
ovviamente guardano alla persistenza
dei nostri dati sono anche molto importanti
nel fatto che gestiscono la concorrenza
attraverso il sequel di transazioni è diventato un
linguaggio standard di fatto con cui parlare
questi database non è interamente
standard ma è abbastanza standard ma
una volta che conosci il sequel con cui puoi parlare
questi diversi strumenti hanno anche
diventare molto importante per molti
organizzazioni per l’integrazione e
segnalando che come vedremo ha entrambi
i suoi lati alti e bassi così sequel
i database sono davvero una buona cosa ma
hanno anche alcuni problemi e il
il problema più ovvio è uno che più
gli sviluppatori di applicazioni si imbattono in
loro stanno lavorando con loro che è quello
assembliamo strutture di oggetti in
memoria spesso in termini di tipo di a
coesione di tutto e poi dentro
per salvarlo nel database noi
Devo spogliare
in due pezzi in modo che entri in
quelle singole righe e individuali
tabelle una singola struttura logica in per
la nostra interfaccia utente e per il nostro
l’elaborazione in memoria finisce per essere
schizzato attraverso un sacco di cose
tabelle a cui ci si riferisce come
problema di mismatch di impedenza proprio il
fatto che abbiamo questi due molto
diversi modelli di come guardare
le cose e il fatto che dobbiamo
abbinarli causa difficoltà questo è
cosa porta alla mappatura relazionale degli oggetti
quadri e tutto quel genere di cose
ora il problema di disallineamento di impedenza è
sufficientemente di un problema imbarazzante che
a metà degli anni ’90 la gente ha detto bene che pensiamo
i database relazionali saranno disponibili
i database degli oggetti lontani stanno per venire
in questo modo possiamo prendere la nostra memoria
strutture e salvarle direttamente in
disco senza alcuna di questa mappatura tra
i due ma sappiamo cosa è successo lì
non abbiamo visto i database degli oggetti
persone come me che hanno pensato che loro
stavano per essere una cosa dominante nel
futuro ci siamo sbagliati e tu ancora
ascoltami ma vabbè immagino che tu sia
preso ma discutiamo all’infinito
sul perché non sono i database degli oggetti
effettivamente adempio quel potenziale e io
pensare al centro di esso è il fatto
quel database sequel era diventato un
meccanismo di integrazione ma molte persone
integrate diverse applicazioni
attraverso database sequel e di conseguenza
questo lo ha reso davvero difficile per chiunque
altro tipo di tecnologia per entrare e
ciò ha portato alla continuazione della relazione
dominante fino agli anni 2000 così
relazione che ho avuto 20 anni di completo
dominanza di certo l’impresa
spazio dati e molti altri come
bene intendo che abbiamo visto con un lavoro scientifico
al Large Hadron Collider non l’hanno fatto
voglio davvero usare i database relazionali
e ma dovevano in certa misura a
meno di ciò che è cambiato in realtà è stata l’ascesa
dei siti internet e in particolare
che hanno un sacco di traffico
grande
nei suoi siti come Amazon o a
Google o una scommessa lì o qualcosa del genere
di quel tipo in quanto ottieni grandi quantità di denaro
di traffico che entra nei tuoi dati cosa fare
fai dove devi ridimensionare le cose
e l’ OP una via ovvia è scalare
cose da scatole più grandi, ma quello
l’approccio ha problemi si può solo
costa molto e ci sono dei limiti reali come
fino a che punto puoi andare così come spero tu
tutti sanno un sacco di organizzazioni maggior parte
notoriamente Google ne usa completamente
approccio diverso, molto, molto
piccole scatole solo fondamentalmente CPU
dischi di schede madri commodity Hardware
tutto gettato in queste griglie massicce ma
qui c’è un problema per i dati
sequel di storage è stato progettato per funzionare
Quella scatola grande che muore per correre come un singolo
sistema di nodi di dati non funziona molto
bene con grandi gruppi di piccole scatole
e molti dei grandi giocatori di dati
capito questo hanno provato che lo sono
tentato ho parlato con diverse persone
che hanno tentato di diffondere relazionale
banche dati e mettono eseguirli attraverso
raggruppa il termine abituale che compare
conversazione quando descrivono ho avuto
ha provato a fare questo è stato atti innaturali è
molto difficile da fare un paio di
le organizzazioni hanno detto che ne abbiamo abbastanza
questo dobbiamo fare qualcosa di diverso
e hanno sviluppato i propri dati
sistemi di archiviazione che erano veramente tranquilli
diverso dai database relazionali e
hanno iniziato a parlare un po ‘ di
quel documento pubblicato e quello parlato
su quello che stavano facendo e lo è
questo che ha davvero ispirato un intero nuovo
movimento di database che è il null
movimento sequel ora è importante questo
punta solo a parlare un po ‘di
dove questo termine nessun sequel deriva da a
molte persone si lamentano abbastanza
ragionevolmente perché dicono che è un
termine davvero strano cercando di definire a
movimento da qualcosa che non è e il
l’origine è davvero molto semplice era questa
ragazzo a Londra Johannes Carson ha fatto a
sacco di lavoro con Hadoop e cose del genere
che voleva avere uno sguardo che dovevi
andare a una conferenza in California lui
ha voluto dare un’occhiata a tutti questi
vario interessante
una base che stava curiosando al
tempo e ha detto ha proposto un incontro a
piccolo incontro dove le persone potrebbero
discutere idee e, naturalmente, se lo sei
andando a farlo alla fine degli anni 2000 tu
assolutamente bisogno di qualcosa che è davvero
davvero importante hai bisogno di un Twitter
hashtag quindi abbiamo chiesto bene cosa
sarebbe un buon hashtag è avuto modo di essere
corto
deve essere unico così possiamo facilmente
ordinare su di esso e un ragazzo si avvicinò con il
hashtag nessun sequel che non è tutto sequel
mai voluto essere un hashtag su Twitter
pubblicizzare un singolo incontro a un punto in
ora il minuto grasso è diventato il
il nome di tutto il movimento era
completamente casuale nessuno pensava
sarebbe stato così, sì
questo è il modo in cui la lingua spesso va
molto imprevedibile si adatta e inizia così
c’era un sacco di persone che
girato fino a che incontro per la via
questa è la lista delle persone che ci sono
non quello che chiamiamo l’intero insieme di no
sequel database da un sacco di
database che non erano in quella riunione
sono ora considerati parte di quello no
sequel ombrello quindi questo porta inevitabilmente
tu alla domanda di bene qual è il
definizione di no sequel e questo è
qualcosa che dovevo pensare
riguardo alla scrittura di un libro sull’argomento
se importante se si sta andando a
scrivi un libro su qualcosa da definire
cosa stai scrivendo sul mio
la conclusione è che non possiamo definire nessun seguito
database a causa di questo molto strano
storia, quello che possiamo fare è che possiamo
identificare alcune caratteristiche comuni di
nessun database sequel e c’è un intero
un sacco di E ovviamente non sequel
i database non sono relazionali, è
in realtà più su non-relazionale che
non si tratta di alcun seguito, ovviamente come a
forte guida verso il cluster
cordialità la capacità di correre su grande
grappoli perché è quello che il
scintilla originale attraverso Google e Amazon
è venuto ma non è un assoluto
caratteristica non ci sono alcuni sequel
database che non sono veramente focalizzati
la maggior parte di questi è in circolazione su cluster
i database sono piuttosto interessanti
fonte così la maggior parte delle cose che noi
in genere non chiamare database sequel o
l’open source ci sono
strumenti marziali che amano chiamare
loro stessi nessun database sequel e forse
nel corso del tempo che entreranno a far parte di quel
quello non sarebbe più un comune
caratteristico ma è ancora un comune
caratteristica al momento forse
la cosa più importante è che sono tutte le cose
che sono usciti del 21 ° secolo
cultura del sito web ce ne sono molti
database là fuori risalendo a lungo
prima dei database relazionali che non lo fanno
usa il sequel o il modello relazionale ma
non chiamiamo cose come IMS o
parotite per coloro che ho sentito parlare di una
di quelle cose davvero niente sequel
database quindi è quello che vedo come il
caratteristiche comuni menzionerò il
ultimo uno in un momento così uno dei
cose che sono interessanti di no
sequel database è che usano diverso
modelli di dati per il modello relazionale
ovviamente dal momento che il nome dice questo e
se tipo di trama una foto di più
comunemente riferito a nessun database sequel
tipicamente ciò che vediamo è che ottengono
diviso in quattro grandi blocchi basati su
il loro modello di dati analizziamo questi
modelli di dati un po ‘di più il
il più semplice modello di dati di cui parlare è
quello del valore chiave memorizza la base
idea è di avere un tasto si va al
database dimmi prendermi il valore di
questa chiave il database conosce assolutamente
nulla su ciò che è in quel valore
potrebbe essere un numero singolo che potrebbe essere
un documento complesso potrebbe essere un
l’immagine che il database non conosce non lo fa
cura
ora hai Viger questo fondamentalmente come solo
una mappa hash ma persistente si verificano nel
disco semplice come quello
un altro modello di dati che è molto comune è
il modello dei dati del documento ora il documento
il modello di dati pensa a un database come questo
conservazione di una massa intera di diversi
documenti in cui ogni documento è un po ‘
struttura dati complessa di solito che i dati
la struttura è rappresentata in forme di
Jason perché Jason è molto alla moda
di questi tempi intendo che potresti farlo in XML
ma chi vuole essere visto indossare XML in
pubblico nessuno
quindi abbiamo questi documenti diversi
che tutto lampeggia e il solito
i database dei documenti ti permetteranno di dire
dammi un documento che ha questi campi
con questi puoi interrogare nel
struttura del documento e di solito è possibile
recuperare parti del documento o
aggiornare parti di un documento in modo che il grande
differenza lì di – il valore chiave
negozio in cui è una struttura molto opaca
e il documento è molto di più
una cosa trasparente da notare bene
circa su questi database circa
database di documenti e in effetti tutti sanno
sequel database è che non tendono
avere uno schema impostato con un relazionale
banca dati si può solo mettere i dati in
il database finché si adatta al
schema che hai definito per questo
database con quasi tutto nessun sequel
i database in pratica si possono spingere
qualsiasi cosa in te come molti fa qualsiasi cosa
ti piace solo andare lì e il no
sequel gente parlerà all’infinito su
come questo aumenta la tua flessibilità
semplifica la migrazione dei dati
è tutto assolutamente meraviglioso e
come al solito non è proprio l’intero
verità intendo di solito quando stai parlando
a un database che vuoi ottenere
pezzi di dati specifici fuori di te
posso dire che vorrei il prezzo che vorrei
come la quantità che vorrei il
cliente non appena si sta facendo che
quello che stai facendo è che stai creando un
schema implicito si stanno assumendo che un
l’ordine ha un campo di prezzo che stai assumendo
che l’ordine ha un campo quantità
stai assumendo che si chiami prezzo
e non costo o prezzo al cliente o
qualunque altra cosa tu possa pensare
che cosa sarebbe che schema implicito è
ancora sul posto e devi gestire
quello schema implicito in molti modi in a
approccio simile al modo in cui tu
gestire lo schema relazionale più rigoroso
quindi schema las ‘è davvero un po’ di a
wussy termine qui ora avendo il no
lo schema di archiviazione fisso ne offre alcuni
opzioni con cui non ti trovi
database relazionali e e c’è a
differenza e ci sono vantaggi in
termini di flessibilità pure ma si
non si può
né il fatto che tu sia sempre stato
occuparsi di uno schema implicito
l’unica volta che non devi preoccuparti
su uno schema implicito è se lo fai
qualcosa di simile a darmi tutti i campi
questo disco e gettali sul
nome campo schermo valore un’occasione che
vuoi farlo ma la maggior parte del tempo
in realtà vuoi fare qualcosa di più
interessante quindi ne ho parlato due
dati chiave valore chiave e dati del documento
modelli e li ho presentati come due
cose abbastanza diverse ma in realtà il
la linea tra questi due è un inferno di a
molto più sfocato di così tanti valori chiave
i data store consentono di memorizzare i metadati
sul valore che questo consente, naturalmente
per avere build più complicate
indici
Voglio dire, è se vuoi ottenere tutto il
ordini per un particolare cliente tu
non voglio cercare ogni ordine nel
database per trovare quella morale
equivalente di una scansione di tabella che si desidera
indice che consentono database di valori chiave
per memorizzare varie informazioni sui metadati
tipicamente che tipo di li fa sentire
un po ‘come i database dei documenti e
quindi su un database di documenti sì, è possibile
fare ogni sorta di domande contro una cosa
ma spesso c’è un ID e spesso quando
in effetti lo guardi davvero
fallo dicendo dammi la cosa con
quel particolare ID e quell’ID è
efficacemente come la chiave di una chiave
valore memorizza quindi il confine tra a
valore chiave e un database di documenti come I
detto è un po ‘sfocato e ho spesso
sentito un particolare database a volte
descritto come valore chiave ea volte
descritto come documento nella realtà I
non mi preoccuperei troppo di
la differenza tra loro la pensa come a
tipo di prima approssimazione per funzionare
con ma in realtà non è quello
importante come va su ciò che è
importante però è che entrambi i valori chiave
e i database di documenti hanno questo comune
la nozione di te sta prendendo un po ‘di complicazioni
struttura che puoi salvare come singolo
unità nel database se si tratta di a
documento relativamente trasparente o a
valore completamente opaco questa nozione
esiste ancora
e quella cosa magnetica comunanza bene
abbiamo davvero bisogno di un termine per descrivere
database che funzionano in un modo simile
e così per il libro mi sono inventato un
termine un database orientato agli aggregati
capelli che ti permettono di conservare questi grandi
strutture complesse e dove ha fatto il
aggregato termine provengono da esso proviene da
e questo libro qui scritto da Eric Evans
progettazione basata sul dominio quante persone
ho letto speranze del design basato sul dominio
alcuni dei tuoi eccellenti libri
parla davvero di come pensare
modellazione di domini e una delle chiavi
concetti nella prima parte del dominio
il design guidato è spesso quando vogliamo
per modellare le cose dobbiamo raggruppare le cose
insieme in aggregati naturali perché
quando stiamo parlando con un database anche a
database relazionale ha senso
pensa a quegli aggregati quando si ripristina
e recuperare i dati se stiamo modellando
per esempio, di solito avremo
classi separate che gli ordini e il
elementi pubblicitari
è piuttosto una specie di oggetto standard
Modello 101 ma pensiamo all’ordine come a
intera cosa una singola unità così un
aggregato può essere molti lo fanno molte classi
può essere una struttura piuttosto complessa ma
quando parliamo di ottenere persistente
o recuperandolo dalla memoria che pensiamo
è come una cosa da attraversare avanti e indietro
ora in un database relazionale dobbiamo
splat su aggregato attraverso un intero
mazzo di tavoli ma bella cosa su un
database orientato agli aggregati è possibile
salva quell’aggregato come singola unità
nei termini del database stesso così
per un database di valori-chiave l’aggregato
è il valore in un database di documenti
aggregato è per documento e quello
diventa la singola unità che ci muoviamo
avanti e indietro e sono certo che lo trovo
questo è un modo molto più semplice di pensare
la comunanza di queste classi di
database ora sono il terzo modello di dati che sono
descrivere brevemente è quello di
database di famiglie di colonne ora questo è un
modello di dati più complicato
di questi è un altro aggregato
database orientato comunque la colonna
il database di famiglia dice fondamentalmente che abbiamo
alcuni la pensano singola P la chiamano a
riga chiave e quindi all’interno di quello che possiamo
memorizzare più famiglie di colonne dove
ogni famiglia di colonne è una combinazione di
colonne che si adattano insieme
la famiglia di colonne qui è effettivamente la tua
aggregato e lo indirizzi da a
combinazione della chiave di riga e il
nome della famiglia di colonne
Ora le famiglie delle colonne possono anche essere di tipo
sguardo diverso a quello inferiore qui ma
è effettivamente un elenco di elementi
vari ordini per un cliente così
non mi sembra molto simile al
tipica struttura del record che potresti
sapere ma è ovviamente lo stesso
come memorizzare una matrice in un documento e di
e qualcosa del genere
così ancora una volta ottieni qualcosa di quello
tipo di struttura ricca e che puoi
compilare qui database di famiglie di colonne
darti dati leggermente più complessi
modello con cui lavorare ma a tuo vantaggio
ottenere è di nuovo in termini di recupero
puoi più facilmente tirare le persone
colonne e cose di quello fuori dal
caso, ma ancora una volta l’ampio modello di dati è
quello di un’immagine aggregata orientata così
la cosa bella di questo è che ora
quando stai prendendo il tuo aggregato in
memoria invece di diffusione trasversalmente
un sacco di singoli record si arriva a
memorizzare l’intera cosa nel database in
uno va e il database sa qual è il tuo
i confini aggregati sono ora questo è
interessante dove diventa veramente
utile è quando parliamo di eseguire il
sistema attraverso i cluster perché se lo sei
andando a distribuire i dati quello che vuoi
è necessario distribuire i dati
che tende ad essere accessibile insieme e
quindi l’aggregato ti dice quali sono i dati
sarà accessibile insieme così da
posizionando diversi aggregati
diversi nodi in tutto il cluster
sappi che quando qualcuno dice oh dammi
i dettagli su questo particolare ordine
si andrà solo su un nodo attivo
il cluster invece di sparare in giro
chissà quanti da raccogliere
righe diverse da tabelle diverse
l’orientamento così aggregato si adatta naturalmente
molto bene con la memorizzazione dei dati su
grandi cluster e questo è ovviamente parte
del tutto con BigTable e
dinamo sia effettivamente andato per un
approccio orientato al cluster BigTable molto
molto un approccio alla famiglia in stile colonna
dinamo molto più un negozio di valore chiave ma
rende efficiente l’ esecuzione su cluster
molto più semplice e questo è
è stato davvero come ho detto che la guida
fattore qui ma comunque nulla è
perfetto non è un orientamento aggregato
sempre una buona cosa immaginiamo di averlo
ha il nostro sistema di ordini e vogliamo guardare
ai dati come questo vogliamo dire
dato un particolare prodotto dimmi il
entrate mi dicono un reddito passato noi ora
non importa agli ordini solo noi
cura di cosa sta succedendo
singoli elementi pubblicitari di molti ordini
raggruppandoli insieme per prodotto
effettivamente quello che stiamo facendo è che lo siamo
dicendo che vogliamo cambiare l’aggregazione
struttura per gli ordini di lunga durata aggregati
elementi pubblicitari per quelli in cui il prodotto
segrega gli elementi pubblicitari ora il prodotto
diventa la radice dell’aggregato ora dentro
un database relazionale questo è dritto
inoltriamo semplicemente interrogando i dati
diversamente è molto semplice da
riorganizzare i dati nelle strutture
potremmo volere in diversi casi con un
database orientato agli aggregati è un dolore
nel collo si potesse fare e che cosa
loro tipicamente faranno correranno
MapReduce i lavori per riorganizzare tutti i tuoi
dati in diverse forme aggregate e
probabilmente mantenere quelli persistenti o forse
fare anche aggiornamenti incrementali, ma è
sarà sempre più complicato
quindi essere orientato all’aggregazione è un
vantaggio se la maggior parte del tempo sei
utilizzando lo stesso aggregato per inviare dati
avanti e indietro nella persistenza è un
svantaggio se vuoi tagliare e
Dado i tuoi dati in modi diversi
quindi quello che ho fatto finora è che sono riuscito
per coprire alcuni di questi modelli che ho
Praticamente preso la colonna del documento
famiglia e valore chiave e li ha concentrati
insieme sotto questo aggregato orientato
categoria e penso che sia utile
astrazione almeno a livello di
quello che posso dire in 50 minuti ce n’è uno
anomalia molto evidente che vedi
comunque e questo è il grafo dei database grafici
i database non sono orientati all’aggregazione in
tutti usano dati completamente diversi
modellare un database grafico è il modello di dati
fondamentalmente quello di un nodo un grafico ad arco
struttura non un grafico a barre o altro
così, ma fa nodi e archi
qualcosa che si spera sarebbe
familiare almeno da pochi noiosi
l’informatica è una buona cosa
su come archiviare un database grafico è quello
è molto bravo a gestire il movimento
relazioni tra cose relazionali
database che potresti pensare con la parola
relazione che sono bravi a in là
gestire i rapporti ma, naturalmente
relazione non significa relazionarla
significa qualcosa nella teoria degli insiemi e
in realtà i database relazionali non lo sono
terribilmente bravo a saltare
relazioni che devi impostare straniere
le chiavi e devi fare join se lo fai
troppi join puoi metterti in disordine se
hai modellato una struttura del grafico o a
gerarchia a forma speciale di grafico
struttura in un database relazionale
avrai avuto questa esperienza non lo è
semplici database relazionali
non sono bravi in ​​questo database grafico
entra e dì che possiamo gestire
saltare i rapporti a sinistra
e il centro lo rendiamo facile da fare e noi
ottimizzare per renderlo veloce per fare quel tipo
di cose inoltre possiamo venire con
un linguaggio di query interessante che è
progettato intorno che consente di interrogare
grafico struttura questo tipo di query qui
questo è un codice da near forge a is
tutto sul dire bene dato un certo
la struttura del grafico mi permette di usare quel grafico
struttura per esprimere un più complesso
query e puoi fare molto
interessanti query orientate ai grafi in
database database cose che sarebbero
Là
molto difficile da scrivere in termini di
sequel e un maiale in termini di
performance quindi in molti modi puoi essere gentile
di pensare che siamo andati di fronte
direzioni database orientati all’aggregazione
prendere un sacco di cose che si sono sparpagliate
intorno e li mette in grumi più grandi
database ben orientato al grafico è un po ‘
rompere le cose a parte anche più piccoli
unità e ti permettono di giocare con quelli
unità più piccole con più attenzione intendo te
può ancora modellare le relazioni in
database orientati agli aggregati proprio come te
può in database relazionali voi
basicamente si riferiscono agli ID in diversi
documenti ma è molto più disordinato così
parte della tua decisione se un no
il database sequel sta per essere
interessante per te è come lavori
con i tuoi dati tendi a lavorare con
lo stesso aggregato tutto il tempo che
ti condurrebbe verso un aggregato
approccio orientato vuoi davvero
rompere le cose e saltare attraverso un sacco e
molte relazioni nel complesso
struttura ma ti lascerebbe su un grafico
approccio o è la struttura tabulare
lavorando bene per te nel qual caso tu
voglio stare con un approccio relazionale
quindi nessun sequel si divide in quei due
categorie
tutti questi sono schemi così il grafico
anche i database ti permettono di aggiungerne uno
bit di dati a qualsiasi nodo hai tutto
quella flessibilità ma con lo stesso
attenzione anche agli schemi impliciti
quindi è un po ‘la metà dell’immagine
la parte del modello di dati ora sto andando a
passare ad un altro problema che riguarda
coerenza ed efficace trattamento
molte persone cercano di modificare lo stesso
dati allo stesso tempo hai probabilmente
sentito qualcosa di simile ma relazionale
database sono acidi fanno il
transazioni acide familiari che tutti noi
conoscere e amare
atomico consistente isolante durevole no
sequel percorsi che non fanno nulla di tutto ciò
tipo di cosa
e, naturalmente, nessuno dirà
tutto ciò che facciamo è ancor più
inventato e privo di significato
velocità acronimo e non lo farò nemmeno
provare a dirti cos’è perché io
posso solo ricordare di cosa si tratta il martedì
ma in fondo ciò che si riduce a è
se hai una singola unità di
informazioni e si vuole dividerlo
attraverso più tavoli quello che non fai
voglio fare è catturato in una posizione
dove puoi solo scrivere la metà del
dati e qualcun altro lo legge o tu
arrivare a scrivere metà dei dati e qualcuno
prende lo stesso ordine e scrive a
diversa metà dei dati e delle cose
mettersi veramente in disordine in quel tipo di
situazione è necessario avere questo
meccanismo da controllare per dare efficacemente
aggiornamenti atomici e questo è davvero
quali sono le transazioni su atomico
aggiorna in modo che tu abbia successo o
fallire e nessuno entra nel mondo
in mezzo e mette a posto le cose quando lo fa
arriva al nostro set ben organizzato di no
sequel database la prima cosa a
sottolineare che i database dei grafici tendono a farlo
seguire gli aggiornamenti acidi che ha senso
decompongono i dati ancor più di
i database relazionali fanno così
anche più di un bisogno di assicurarsi che loro
usa le transazioni per mettere insieme le cose
quindi se qualcuno ti dice che non sei sequel
database che non ti fanno acido ora
conoscere una controreplica immediata
ah, ma i database di grafi fanno un po ‘
ora i database orientati all’aggregazione se io
in realtà non ho bisogno di transazioni tanto
perché l’ aggregato è una specie di
più grande struttura più ricca di fatto se
leggi il libro di progettazione basato sul dominio
una delle cose che sottolineo è questa
gli aggregati nella progettazione orientata al dominio
i nostri limiti di transazione
non dovresti incrociare meno transazioni
confini aggregati perché se lo fai
sarà solo complicato gestire il
Concorrenza del tuo sistema quindi il dominio
comunità del design guidato dal
inizio ancora prima che nessun sequel dicesse
mantieni le tue transazioni all’interno di un singolo
aggregare questo è effettivamente quello che fai
nel mondo di aggregato o inter
database qualsiasi aggiornamento di aggregati sta andando
essere atomico sarà isolato
sarà coerente all’interno
di per sé è solo quando si aggiorna
più documenti in un documento
o nel database ma devi preoccuparti
sul fatto che non hai dell’acido
transazioni ma quel problema si verifica
molto più raramente di quanto si potrebbe pensare così
questa è la prima battuta su acido-base
pensa ad alcuni database che fanno il culo
completamente acido comunque e l’ aggregato
database orientati che non sono
acido all’interno degli aggregati che è gentile
di ciò che conta davvero ma c’è anche
un po ‘di più a pensare alla coerenza
anche questo perché anche in a
le transazioni dell’acido mondiale relazionale non lo fanno
intendiamo si arriva a essere completamente coerente
e non devi preoccuparti dell’aggiornamento
anomalie e ti guiderò attraverso
quello che si spera è molto familiare
scenario per sottolineare questo e anche a
illustra come gestisci alcuni di
questo quindi immaginiamo di averne alcuni tipici
sistema a più strati abbiamo una persona
parlando con un browser browser parla con a
server server comunica con un singolo database
e avremo due persone
parlando con gli stessi dati nella stessa
database allo stesso tempo anche se
attraverso diversi browser e server
ed ecco il nostro piccolo scenario di base
iniziare con entrambe le persone a destra e sinistra
prendendo lo stesso pezzo di dati con un get
richiesta in sostanza lo fanno apparire
sullo schermo della grouse e ora il
ragazze umane che ho bisogno di fare un po ‘
cambia a questo a loro a loro a loro
alzare il numero e alla fine
il tizio a sinistra, io vado sempre a sinistra
e giusto confuso dice ok ho il mio
dati aggiornati pubblichiamo alcune modifiche e
poi poco dopo il ragazzo sul
giusto dice che ho caricato i miei dati ora
inseriamo alcune modifiche ora ovviamente se
lasciamo che succeda proprio così e
conflitto di allerta questo è un diritto giusto
conflitto due persone hanno aggiornato il
lo stesso pezzo di informazione che non erano
consapevoli dell’aggiornamento reciproco e hanno
si sono messi nei guai acido al
salvataggio giusto cosa facciamo bene ciò che noi
hanno a che fare per evitare che questo conflitto è
avvolgiamo l’intera interazione da
ottenere i dati sullo schermo e
pubblicandolo di nuovo in una transazione
in questo modo ci assicureremo che il database lo farà
assicurati di non avere conflitti
effettivamente uno di loro sarà detto
ora devi farlo di nuovo recuperare
i tuoi dati ancora non abbiamo conflitti
problema risolto
quante persone fanno questo sul tuo
sistemi di produzione si occasionalmente voi
possono ottenere via con questo la maggior parte del tempo
non puoi
perché perché si tiene aperta una transazione
per quel lasso di tempo mentre tu hai
un utente che guarda e aggiorna i dati
attraverso l’interfaccia utente che farà davvero schifo
le tue prestazioni fuori dal tuo sistema
giusto così e voglio sottolineare che puoi fare
questo in alcune circostanze se il tuo
le prestazioni hanno bisogno di davvero molto minori
sai di averne solo una manciata
la gente guarda a usare il sistema contemporaneamente
potresti riuscire a farla franca
approccio ed è vantaggioso farlo
perché un sacco di problemi vanno via
se lo fai, ma la maggior parte dei sistemi te
non può permettersi di non poter permettersi di tenere
le transazioni si aprono così a lungo e in effetti
la maggior parte delle persone che scrivono di transazioni
sistemi di costruzione come questo te lo diranno
mai farlo
non tenere aperte le transazioni per un utente
interazione ciò che dicono invece sei tu
semplicemente avvolgere la transazione intorno a quello
aggiorna l’ultimo bit di aggiornamento del
database e questa è una buona cosa perché
che interrompe una collisione in cui uno ha colpito
aggiornare Mac si mescola con un altro
aggiornamento a metà dell’operazione ottieni alcuni tavoli
aggiornato qui e alcuni diversi
tabelle aggiornate in modo diverso laggiù
e il risultato è un disordine incoerente
ma hai ancora effettivamente un conflitto
perché le due persone hanno fatto gli aggiornamenti sono
lo stesso pezzo di informazione senza
sapendo che una persona l’ha fatto e
questo è ciò che in genere potrebbe accadere anche
in un aggregato o in matrice aggregata
database orientato se devi modificare
più di un aggregato perché tu
potrebbe trovare una persona che modifica il primo
uno e poi passano al secondo
l’altra persona non cede il passo
intorno e di conseguenza potresti guidare
in un incoerente tra gli aggregati
ora se ti sei imbattuto in questo che tu
probabilmente probabilmente saprai anche come
per risolvere questo e in pratica utilizzare a
tecnica che in uno dei miei precedenti
libri a cui mi riferivo come offline
Sblocca fondamentalmente ciò che significa un consueto
modo di implementare questo è quello che tu
dare ogni record di dati o lisciviazione aggregata
almeno un timbro di versione e quando tu
recuperalo recuperi la versione
timbro con i dati aggregati quando si
inserisci il timbro della versione di
da dove leggi e poi per il
primo ragazzo tutto funziona ok
il timbro della versione viene incrementato e
poi quando la seconda persona ci prova
post hanno ancora la vecchia versione
timbrato e poi sai qualcosa sta succedendo
e tu puoi fare qualunque conflitto
approccio alla risoluzione che ti porti
usa di nuovo le stesse tecniche di base con
stai lavorando con un database sequel di L
la cosa bella è che non c’è bisogno di
preoccuparsi di transazioni su questo
problema tanto perché l’aggregato
ti dà quella unità naturale di aggiornarlo
è il tuo limite di transazione ma una volta
tu attraversi gli aggregati, quindi devi
pensa a bigliettini versione giocoleria e
fare qualcosa del genere ma è così
non proprio molto diverso da quello che tu
avere a che fare con un database relazionale
perché i blocchi offline ti costringono a fare
questo giocoleria con i francobolli di versione comunque
quindi sì, non prendi questi acidi
transazioni nella stessa misura in cui tu
fare con un database relazionale ma il
l’impatto non è eccezionale come alcune persone
pensa perché dobbiamo effettivamente affrontare
con questa roba tutto il tempo comunque
quando parliamo di coerenza lo trovo
utile pensare in realtà due tipi
di consistenza la consistenza che sono stato
parlare di così lontano è ciò che chiamo
coerenza logica questa coerenza
i problemi si verificano sia che tu stia girando su a
cliente di macchine o se lo sei
correndo su una sola macchina tu sempre
preoccuparsi di questi tipi di
problemi di coerenza
ora quando inizi a diffondere i dati
più macchine questo può introdurre
più problemi quando arrivi
distribuendo i dati a grandi linee puoi parlare
su di esso in due modi diversi uno è
dividere i dati prendendo una copia del file
dati e metterli su diversi
macchine in modo che ogni pezzo di dati
vive in un solo posto ma
stai usando molte macchine simili
è veramente cambiare l’immagine molto
molto hai ancora la stessa logica
problemi di coerenza che si fanno con a
a macchina singola sono esacerbati
in qualche misura, ma i problemi di base sono
ancora lo stesso
un’altra cosa comunque è comune a
fare con gruppi di macchine è
replicare i dati per mettere lo stesso pezzo di
dati in molti posti questo può essere
vantaggioso in termini di prestazioni
perché ora hai più nodi
gestire lo stesso insieme di richieste che può
anche essere molto prezioso in termini di
resilienza se uno dei tuoi nodi va
giù le altre repliche possono ancora mantenere
andando
quindi quindi parleranno molto di
disponibilità e resilienza con questi
approcci orientati al cluster tuttavia come
appena replichi i dati una nuova classe
il problema di coerenza inizia a venire
quindi di nuovo illustrare con un semplice
esempio quindi qui abbiamo due persone
io e il mio co-autore promuoviamo e noi
entrambi vogliono prenotare un hotel particolare
camera e così abbiamo inviato la nostra prenotazione
richiesta e ci capita di essere su diversi
continenti promuove in India sono nel
noi inviamo le nostre richieste al nostro locale
elaborare i nodi ora l’ elaborazione
i nodi a questo punto devono comunicare
dove i bisogni vanno avanti su cosa sta succedendo
qui e il sistema nel suo complesso deve
inventare una sorta di decisione
essenzialmente garantendo che uno di noi ha
per dormire per le strade in questo caso io
questo è quello che succede novantanove punti
nove nove qualunque sia la percentuale di un tempo
tuttavia facciamo un tipo di variazione
su questo esempio ancora una volta vogliamo entrambi
prenotare una camera d’ albergo , ma ora il
linea di comunicazione è andato giù i due
i nodi non possono comunicare che inviamo nel nostro
richiede ciò che accade in realtà
ci sono due grandi alternative
quello alternativo è quello che dice il sistema
le nostre linee di comunicazione sono scese scusa
non possiamo prendere le vostre prenotazioni alberghiere al
momento per favore riprova più tardi il
l’alternativa è che il sistema dice che sì
accetta la tua prenotazione grazie mille
perché siamo davvero affidabili e
up-to-date e tutto il resto e
quindi procedere al doppio prenotato l’ hotel
camera
Non sono così amichevole con la promozione di noi
Saranno buoni amici ma tu sai che siamo
tutti i limiti che potremmo non voler condividere
camera d’albergo quindi praticamente quello che siamo
vedere è una scelta è una scelta tra
coerenza che significa ora non lo sono
andando a fare qualsiasi cosa se la mia comunicazione
linee in basso e disponibilità che dice
sì ho intenzione di andare avanti ma al
rischio di introdurre un incoerente
comportamento che una cosa vitale qui
rendersi conto che questa è una scelta e
è una scelta che può essere fatta solo da
conoscere le regole di business ma il
le regole principali che si sta lavorando con I
significa che può sembrare davvero terribile da dire
stiamo andando a raddoppiare un albergo prenotato
stanza possibilmente con estranei completi I
significa che sarebbe male, ma in realtà
forse gli hotel hanno modi di trattare
con questo forse hanno un blocco di
stanze che mantengono sempre disponibili
fino all’ultimo momento per le emergenze
possono semplicemente usarne uno bene, forse
mandano solo un brontolio di scuse
lettera e alcuni punti frequenti del sonno
fuori per cercare di farmi accadere c’è
vari modi negli affari che le persone
tratterà di incongruenze come loro
Ritaglia ora non sto dicendo che dovresti
vai sempre per la disponibilità di a
coerenza, ma ciò che è vero è questo
è sempre una scelta di dominio è il
uomini d’affari che dovrà decidere
ciò che è più importante è il rischio del doppio
prenotare l’ultima stanza in albergo o
il fatto che dobbiamo abbattere il
sito e chiedo scusa non possiamo accettarne
ordini al momento che è tipo
male per gli affari questo è uno dei
cose che hanno guidato la dinamo che volevano
assicurarsi che il carrello fosse
sempre disponibile puoi sempre metterlo
cose nel carrello della spesa perché è questo
perché è l’America quello che è il più
cosa importante da fare in America
shopping dobbiamo mantenere una vendita al dettaglio
destino dobbiamo sempre essere in grado di fare acquisti
e fuori quello che succede guardi che vieni
per il checkout, perché è questo articolo in
qui due volte o sono sicuro di aver messo il così-io-così
in qui i computer ah fanno errori
fammi solo aggiustarlo
quando il peggio potrebbe accaderti davvero
spedisci l’ ordine che ricevi duplicato
roba su cui fai squillare Amazon rara scusa
scusa scusa e hai capito tutto
molto meglio che in realtà qualcuno no
essere in grado di acquistare per pochi secondi così
il punto è per la scelta del business, quindi questo
poi si lega a qualcosa che sentirai
all’infinito su quando qualcuno parla
su questa roba che è il tappo
teorizza chiunque abbia sentito parlare del cap
teorema quante persone capiscono il
teorema del cappuccio, alcuni di voi è in realtà
piuttosto semplice è descritto
molto male anche se ben non non molto
male, ma non penso che sia terribilmente
utili servono dove sono questi tre
concetti qui e puoi scegliere qualsiasi
due questo è vero penso che sia più facile
riformularlo è un po ‘più chiaro se tu
dì se hai un sistema che può ottenere
una partizione di rete che fondamentalmente
significa comunicazione tra diversi
nodi in un cluster che si rompono e se
a proposito, hai un sistema distribuito
stai per ottenere una rete
partizioni se si ottiene una rete
partizionare avete una scelta vuoi
essere coerenti o vuoi essere
disponibile che è davvero quello che il tappo
Il teorema si riduce se hai un
database singolo in esecuzione su un singolo
server non è stato una partizione
non devi preoccuparti di poter essere come
disponibile come quel nodo è e tu sei
sta per essere coerente che puoi mantenere
tutto tranne quando appena hai
un sistema distribuito che devi fare
quella scelta ma quella non è una singola
scelta binaria su tutto il tuo sistema
in realtà hai uno spettro che puoi andare
per un certo importo puoi effettivamente
livelli di compromesso di coerenza e
disponibilità in cui non ho intenzione di entrare
come solo fidati di me puoi anche
può variare a seconda di un particolare
operazione che vuoi fare certo
le operazioni possono essere altamente coerenti
certe altre operazioni possono essere altamente
disponibile uno qualsiasi dei database che lo fanno
questo tipo di cose ti darà tutto il
manopole e modifiche per fare questo e così
si sta andando ad imparare il modo di commerciare
loro attraverso e in realtà la maggior parte del
tempo
non ti stai scambiando di consistenza
contro disponibilità non lo è
la disponibilità è il problema ed è
nemmeno occuparsi di partizioni di rete
questo è il problema molto tempo
stai facendo è che stai facendo trading
preoccupazione
rispetto al tempo di risposta perché ciò che è
accadendo è più si vuole avere
coerenza tra un gruppo di nodi
questo significa che più nodi devono ottenere
coinvolto nella conversazione di nuovo penso
di quel caso in albergo i due dovevano
comunicare che sta andando a rallentare
il tempo di risposta quindi potresti dire anche
se la rete è attiva , sai che sto andando
lasciare che ogni nodo lo prenoti su cose di hotel
e risolvilo più tardi anche con il
collegarsi in rete ti farei ancora più velocemente
tempo di risposta piuttosto che fare tutto il
comunicazione ho bisogno di ottenere il
coerenza e di nuovo è un business
decisione
un’altra cosa che Amazon ha detto che eravamo noi
voglio sempre fare in modo che le persone acquistino velocemente
perché qual è la cosa più importante
in America lo shopping quindi quindi vogliamo
tempi veramente rapidi e anche se tutti i
i nodi sono disponibili e potremmo dare
tu una soluzione completamente coerente noi
vuole essere veloce e anche loro aiuta
che si fondono i carrelli della spesa con cui trattare
l’ incoerenza dei carrelli della spesa è
relativamente facile oh hanno chiesto questo
qui da quelle parti, là là bene
chiaramente vogliono entrambi perché questo è
L’America vuole che tutti abbiano
prendendo roba fuori di carrelli della spesa how
perché dovremmo incoraggiarci?
solo che questo è un trade-off più ampio in
termini di calcolo questo è davvero giusto
un altro aspetto di una concorrenza generale
compromesso tra sicurezza e vivacità
e se sei andato a calcolare concurrent
le lezioni e hai sentito gente parlare
a tale proposito, in realtà dovrebbe essere questo
sembra abbastanza familiare nel tagliare quelli
tipi di termini ora quello che volevo davvero
a che fare con questo piccolo segmento su
la coerenza era concentrarsi sul dare a
sentirsi per quanto sia diversa la coerenza in
in particolare l’aggregato orientato
nessun mondo sequel al contrario di come tu
potrebbe aver pensato a coerenza così
molto c’è un sacco di argomenti che potrei avere
ho discusso qui che non ho proprio avuto
ho il tempo di parlare dell’importante
la cosa che va via è realizzare
che devi pensare alla coerenza
problemi in modo diverso essenzialmente perché
hai questo diverso modello di dati e
la possibilità di dati replicati
e in particolare devi pensare
parla di questi termini di questa coerenza
compromesso disponibilità e che non lo è
fino a solo noi come tecnici per farlo
decisione è in realtà fino alla strada
l’azienda vuole lavorare su dove
facciamo questi trade-off e se vuoi
più bene sto per dirti di comprare
il mio libro comunque così sai cosa fare
okay, quindi l’ ultimo segmento piccolo che sono
parlerò un po ‘ di quando e perché
potresti voler usare un no sequel
database e il modo in cui penso che sia
ci sono due piloti che ci spingono
verso un database senza sequel il primo
uno è quello che ho già parlato
circa come il vero driver per il tutto
tuta non sequel movimento stesso e quello
hai a che fare con grandi quantità
di dati se hai più dati di te
può comodamente o economicamente calettata sull’anello
un singolo server database che stai andando
per andare avrai a che fare con
un po ‘di dolore puoi prendere il dolore
di provare a eseguire un database relazionale
attraverso un cluster o puoi entrare in questo
nuova roba senza sequel e ne sai di più
il tempo penso che andrei per il no
sequel roba perché esegue dati
è il database relazionale tra i cluster
ancora un po ‘della magia nera quindi un grande
quantità di dati è un grosso problema ora alcuni
la gente ha detto e per uno dei
recensioni commenti sul mio libro era sì ma
solo poche organizzazioni devono
preoccuparsi di questa roba se tu e Google
Amazon sì praticamente tutti gli altri
sapere come ho letto quello che ho sentito nel mio
la testa era 640k è sufficiente per quasi
tutti realtà è ci sono tonnellate di
dati che arrivano a noi molto e tutti
l’organizzazione sta per essere catturata
e elaborando sempre più dati
questo problema di dati su larga scala è solo
andando a crescere e questo è un fattore ma
in realtà questa non è la ragione principale per cui
pensa perché la maggior parte della gente non va in nessun seguito
c’è stato un sondaggio che ho visto nel
rintracciare il lunedì ma l’ho fatto notare
la maggior parte delle persone in realtà non sono interessate
nella nostra grande quantità di dati per nessun sequel
database che cosa vogliono fare sono loro
voglio essere in grado di svilupparsi più facilmente
quindi un buon esempio di questo è che ne ho alcuni
amici che lavorano su The Guardian
giornale e sito web quante persone
sentito parlare del buon guardiano
giornale in lingua inglese molti di voi
bravo e loro hanno a che fare
articoli che stanno salvando articoli
aggiorna gli articoli rimandando gli articoli
e avanti l’articolo per loro è un
aggregato naturale che diffonde quello
articoli di dati e metadati attraverso
database relazionali è un dolore nel
collo è imbarazzante ma prendendolo come a
singola cosa un singolo articolo e
spingendolo nel database è molto
più semplice la mappa è il
problema disadattamento di impedenza è
drasticamente ridotto se ne hai uno
aggregato naturale e molti dei
i progetti sono quelli con cui ho parlato a fort
i lavori hanno utilizzato un database senza sequel
hanno seguito quella strada hanno detto la nostra
il modello di dati non si adatta molto bene
con relazionale questi uno di questi no
opzioni sequel è meglio potrebbe essere un
aggregato naturale nel qual caso hanno
andato il percorso orientato aggregato o esso
potrebbe essere che abbiamo qualcosa che si sente
molto simile a una struttura grafica, quindi andiamo al
radice del database grafico e che penso
è la ragione più comune al momento
perché la gente usa quel sequel
database perché hai capito
efficacemente sbarazzarsi di quello
problema di mismatch di impedenza ora ovviamente
che solleva una domanda che era di
Ovviamente la promessa dei database degli oggetti
stavano per sbarazzarsi di
problema di mismatch di impedenza, ma hanno ottenuto
clobbered
perché i database vengono utilizzati per
integrazione perché è lo stesso problema no
colpendo noi ora bene ci sta colpendo ma
è molto ridotto perché ora di più
e più persone dicono che non vogliamo
per integrare in questo modo che vogliamo nascondere
i nostri database all’interno di un più ampio
applicazione o servizio e quindi vogliamo
usare un qualche tipo di servizio orientato
interazione tra i due che possono essere
servizi web può essere qualcosa come
Davvero disgustoso come il sapone su ESB che abbiamo
Dio sa cosa ha gettato ma il punto
sono le applicazioni e il loro controllo
accesso ai dati e se sei in un
scenario in cui puoi farlo dove sei tu
può incapsulare efficacemente il tuo
database quindi il problema di integrazione
diventa molto meno serio e che io
pensare è un fattore abilitante molto importante
per rendere possibile nessun sequel
database per prosperare che questo è un bene
pratica in ogni caso, anche se hai
database relazionali che non si desidera
integrarsi attraverso l’integrazione
i database non causano problemi
credimi se non l’ hai provato
te stesso
molto meglio provare e incapsulare
qualcosa del genere e se stai andando
per farlo, hai molto di più
libertà per quale database usare e io
penso che sarà molto alla guida
struttura verso quest’altra cosa
questo è incoraggiare le persone a usarli
le basi di dati è di occuparsi di noi di analisi
tutti sanno di data warehousing il
normale progetto di data warehousing fino a
Posso dire che arriva quel venditore
da una delle grandi aziende e dice
tutto quello che vuoi fare bene il data warehousing
ecco questo piano di progetto con cui ogni
pezzo di dati che potresti avere in
la tua organizzazione è tutto in uno
posto in modo che tutti possano ottenerlo
facilmente ed è un progetto pluriennale noi
hanno un sacco di molto diverse
le parti interessate che conosciamo quella storia intendo
le persone si imbattono in questi grandi dati
progetti di magazzino che sentivano avere
ci sono riuscito di solito uno o due no
si è pronti ad ammetterlo, oh, prep
in procinto di ammetterlo, ma la maggior parte di loro se ne va
combattere invece ciò che cerchiamo è a
approccio diverso che dice facciamo
in particolare concentrarsi su un particolare
problema e vedere come prendiamo il
dati da quello e i dati a proposito
potrebbe non essere in ben noto relazionale o
persino nessun punteggio successivo potrebbe essere
sparsi in file di registro o tu
sapere cosa fa veramente la maggior parte delle imprese
che è bene fogli di calcolo di Excel
prendi quei dati e prendiamolo e
tirare insieme e nessun database sequel
gioca un ruolo importante in questo grafico
i database ti permettono di fare facilmente un grafico
come l’ analisi sul database che è
davvero molto bello l’aggregato orientato
database questi sono generalmente meno buoni
a questo perché non possono tagliare e
Dado così bene, ma quello che possono fare è
immagazzinare grandi quantità di dati quindi se tu
stanno tirando fuori i dispositivi o il registro
file o simili quindi diventano molto
attraente e naturalmente questo è quello che è
dato un grande vantaggio all’Amazzonia
perché sono in grado di estrarre tutto questo
informazioni così con tutto ciò
Questo significa che
sequel è il futuro dei database ma
database relazionali e poi a
scompaiono e noi stiamo tutti andando a essere
non fare sequel roba non la penso così
Penso che davvero il futuro sia qualcosa
a cui mi riferisco come persistenza poliglotta
e ciò significa che pensiamo
ci sarà spazio per un sacco e
un sacco di diversi tipi di database
con database relazionali ancora in riproduzione
un grande ruolo se stai costruendo un
applicazione forse ne userai un sacco
database diversi come parte del tuo
applicazione sicuramente attraverso un
organizzazione ne userai molte
database e quello che stai facendo è
stai scegliendo il database appropriato
per la natura del problema che
stai lavorando e perché lì
sono diversi problemi di natura per
i nostri diversi dati memorizzano quello
idea di qualunque sia il tuo problema
risposta è un database relazionale andrà
via ora questo è fantastico ci dà un sacco
di opportunità per il futuro ma come
ogni cinico sa che ogni opportunità è
Davvero un problema e ce ne sono molti
loro ora che hai avuto a pensare a questo
tipo di cose che devi decidere cosa
è il database sequel null appropriato
per un problema con cui hai un accordo
questioni organizzative relazionali DBA
non stanno andando come questo, infatti, per
alcune persone è un grande vantaggio ma
non andiamo giù senza database sequel
sono immaturi non hanno gli strumenti
e l’ esperienza e la conoscenza di
come lavorare con loro bene che abbiamo
avuto da vent’anni di relazione
database e tutta questa coerenza
i problemi possono ancora finire per morderti così
quando si tratta di che tipo di progetto I
inizia l’immersione con i conducenti, se tu
vuole un rapido periodo di tempo per commercializzare il ciclo veloce
tempo devi essere veloce facile e
lo sviluppo è davvero importante
quindi se puoi farlo con no
sequel database una tale ragione per andare
con loro
allo stesso modo se hai un dato molto
progetto intensivo quindi ovviamente no
sequel capacità di affrontare grandi
la quantità di dati è molto importante ma io
penso che ci sia un altro obiettivo prioritario come
beh, qual è il tuo progetto davvero
importante per il vantaggio competitivo
del tuo business ciò a cui mi riferisco come a
progetto strategico
perché se è un progetto strategico allora
vale la pena prendere sul rischio extra il
incognite di trattare con un immaturo e
tecnologia non così ben conosciuta che è
che no sequel sono se d’ altra parte
hai un progetto che è quello che chiamo
il progetto di utilità è una specie di a
semplice non è davvero vitale per
il funzionamento del business, allora che possono
significa non il miglior posto per portare a
sconosciuto come questo in quel tipo di
situazione che probabilmente stai meglio
con un familiare almeno per alcuni anni
ma ci sono molti progetti strategici
là fuori e sicuramente la nostra esperienza
negli ultimi due o tre anni alle quattro
i lavori sono stati molto positivi con no
database sequel che ho ascoltato notevolmente
poche lamentele e pensatori
si lamentano sempre di quello che sono
lavorando con così sono certamente molto
convinto, ma nessun database sequel ha
una parte importante da giocare nel
spettro di sviluppi futuri e il
resto dei colloqui in questo brano lo faremo
esplorare diversi modi in cui hanno
stato usato così spero che tu l’abbia trovato
utile se vuoi approfondire il libro
è molto sottile il mio obiettivo era di 150 pagine e
Mi è mancato solo per 2 quindi sono 152 pagine
panoramica rapida un po ‘più di quello che io
ti ho appena dato e spero che lo sarà
a portata di mano se hai una pagina sul mio
sito web raccolgo vari altri
cose di cui ho fatto o parlato in
termini di nessun sequel e grazie per
mi ascolta
tu

Please follow and like us: