[MIZIK jwe] RICK Houlihan: Tout dwat. Hi, tout moun. Non mwen se Rick Houlihan. Mwen se yon direktè lekòl ansyen solisyon achitèk nan AWS. Mwen konsantre sou NoSQL ak DynamoDB teknoloji. Mwen se isit la jodi a pou pale ak ou yon ti kras sou sa yo. Jan nou koumanse mwen se prensipalman nan kouch done. Mwen te pase mwatye devlopman mwen karyè ekri baz done, aksè done, solisyon pou plizyè aplikasyon yo. Mwen te nan Cloud Virtualization pou apeprè 20 ane. Se konsa, anvan Cloud a te Cloud a, nou itilize yo rele li sèvis piblik informatique. Ak lide a te, li la tankou PG & E, ou peye pou sa ou sèvi ak. Jodi a nou rele l 'nwaj la. Men, sou ane yo, mwen te travay pou yon koup nan konpayi ou te pwobableman pa janm tande pale de. Men, mwen te fin fè yon lis teknik reyalizasyon, mwen devine ou ta di. Mwen gen uit rive nan sistèm Cloud Virtualization, konsepsyon mikro, pwosesis evènman konplèks, ak lòt zòn kòm byen. Se konsa, jou sa yo, mwen konsantre sitou sou NoSQL teknoloji ak jenerasyon kap vini baz done. Epi sa a, jeneralman sa m ap pral yo dwe isit la ap pale ak ou jodi a sou yo. Se konsa, sa ou kapab espere soti nan sesyon sa a, nou pral ale nan yon kout istwa nan pwosesis done. Li nan toujou itil yo konprann ki kote nou te soti nan e poukisa nou ap kote nou ye. Epitou, n ap pale yon ti kras ti jan sou NoSQL teknoloji sòti nan yon fason fondamantal. Nou pral jwenn nan kèk nan entèrn yo DynamoDB. DynamoDB gen okenn gou AWS la. Li nan yon konplètman jere ak anime NoSQL solisyon. Epitou, n ap pale yon ti kras sou tab estrikti, APIs, kalite done, endis, ak kèk nan yo entèrn a ke teknoloji DynamoDB. Nou pral jwenn nan kèk nan desen an menm modèl yo epi pi bon pratik. Nou pral pale sou ki jan ou sèvi ak teknoloji sa a pou kèk de aplikasyon pou jodi a la. Lè sa a, nou pral pale yon ti kras sou evolisyon an oswa Aparisyon nan yon nouvo paradigm nan pwogram rele aplikasyon evènman ki soupye ak ki jan DynamoDB jwe nan ke kòm byen. Epitou, n ap kite ou yon ti kras nan yon diskisyon achitekti referans pou nou ka pale sou kèk nan fason ki ou ka itilize DynamoDB. Se konsa, premye off-- sa a se yon kesyon Mwen tande yon anpil se, sa ki nan yon baz done. Yon anpil moun panse ke yo konnen ki sa yon baz done se. Si ou Google, ou pral wè sa a. Li se yon yon seri estriktire nan done ki te fèt nan yon òdinatè, espesyalman yon sèl ki aksesib a nan divès fason. Mwen ta kwè sa a, se yon bon definisyon nan yon baz done modèn. Men, mwen pa renmen l ', paske li implique yon koup nan bagay sa yo. Li implique estrikti. Epi, se implique ke li nan sou yon òdinatè. Apre sa, baz done pa t ' toujou egziste sou òdinatè. De aktyèlman te egziste nan plizyè fason. Se konsa, yon definisyon pi bon nan yon baz done se yon bagay tankou sa a. Yon baz done se yon òganize mekanis pou estoke, jere, ak retwouve enfòmasyon. Sa a se soti nan About.com. Se konsa, mwen renmen sa a paske li vrèman chita pale sou yon baz done yo te yon repozitwa, yon repozitwa nan enfòmasyon, pa nesesèman yon bagay ki chita sou yon òdinatè. Apre sa, nan tout listwa, nou pa te toujou te gen òdinatè. Koulye a, si mwen mande mwayèn nan pwomotè jodi a sa ki nan yon baz done, sa a, se repons lan mwen jwenn. Yon kote mwen kapab bwa bagay. Dwa? Lè li nan vre. Men, li la malere. Paske baz done a se reyèlman fondasyon an nan app a modèn. Li nan fondasyon an nan chak aplikasyon. Ak ki jan ou bati ki baz done, ki jan ou estrikti ke done ki pral dikte ki jan ki aplikasyon fè jan ou echèl. Se konsa, yon anpil nan travay mwen jodi a se fè fas ak sa k ap pase lè devlopè pran apwòch sa a ak fè fas ak konsekans nan nan yon aplikasyon ki se kounye a dekale pi lwen pase orijinal la entansyon ak soufrans soti nan move konsepsyon. Se konsa, èspere ke lè ou mache ale jodi a, ou pral gen yon koup nan zouti nan senti ou a, ki pral kenbe ou soti nan fè moun erè menm. Tout dwa. Se konsa, kite nan pale sou yon ti kras nan delè a nan teknoloji baz done. Mwen panse ke mwen li yon atik pa sa ki sa pibliye depi lontan epi li te di yon bagay sou lines-- nan li nan yon deklarasyon trè powetik. Li te di ke istwa a nan done pwosesis se plen ak filigran segondè nan done kantite. OK. Koulye a, mwen devine sa a, se kalite vre. Men, mwen aktyèlman gade nan se kòm se istwa a aktyèlman ki te ranpli ak segondè Watermark nan presyon done. Paske to a done nan enjèstyon pa janm ale desann. Li sèlman ap moute. Ak inovasyon rive lè nou wè done presyon, ki se kantite lajan an nan done se sa ki kounye a nan vini nan sistèm nan. E li pa kapab trete avèk efikasite swa nan tan oswa nan pri. Epi sa a, lè nou kòmanse fè yon gade nan presyon done. Se konsa, lè nou gade nan nan premye baz done, sa a se youn nan ki te ant zòrèy nou an. Nou tout ap fèt ak li. Li se yon baz done bèl. Li te gen yon disponiblite segondè. Li nan toujou sou. Ou ka toujou jwenn li. Men, li la yon sèl itilizatè. Mwen pa ka pataje panse mwen ak ou. Ou pa ka jwenn lide m ' lè ou vle yo. Apre sa, abilitiy yo se pa tèlman bon. Nou bliye bagay sa yo. Chak kounye a epi lè sa a, yonn nan nou fèy ak deplase sou nan yon lòt egzistans epi nou pèdi tout bagay sa ki te nan ki baz done. Se konsa, sa a, se pa tout sa ki bon. Lè sa a te travay byen sou tan lè nou te tounen nan jou a lè tout nou reyèlman bezwen konnen se kote nou pral ale sou demen oswa kote nou ranmase manje a pi byen. Men, jan nou te kòmanse yo grandi kòm yon sivilizasyon ak gouvènman te kòmanse antre nan ke yo te, ak biznis te kòmanse evolye, nou te kòmanse reyalize nou bezwen yon ti kras plis pase sa nou te ka mete nan tèt nou an. Tout dwa? Nou bezwen sistèm nan dosye-li. Nou bezwen kote yo dwe done magazen kapab. Se konsa, nou te kòmanse dokiman ekri, kreye bibliyotèk ak achiv. Nou te kòmanse devlope yon sistèm yon kontablite chèk. Epi sa sistèm nan chèk konte kouri mond lan pou plizyè syèk, ak petèt menm milenèr kòm nou kalite te grandi nan pwen an kote ki chay done plis pouvwa pase kapasite a nan sistèm sa yo pou kapab gen li. Lè sa a aktyèlman te rive nan lane 1880 yo. Dwa? Nan peyi Etazini an 1880 resansman. Sa a se vrèman kote vire a pwen pwosesis done modèn. Sa a se pwen an nan ki kantite lajan an nan done ki te ke yo te kolekte pa la US gouvènman te rive nan pwen an kote li te pran uit ane nan pwosesis. Koulye a, uit years-- kòm ou konnen, resansman an kouri chak years-- 10 se konsa li a bèl evidan ke pa tan nou te resevwa resansman an 1890, kantite lajan an nan done ki te ale nan dwe trete pa gouvènman te ale nan depase 10 ane yo ke li ta pran te lanse resansman an nouvo. Sa a te yon pwoblèm. Se konsa, yon nèg yo te rele Herman Hollerith te vini ansanm epi li envante inite dosye kout pyen kat, lektè kat kout pyen, kat kout pyen tabilatè, ak konpilasyon an nan fòmil yo pou teknoloji sa a. Apre sa, ke konpayi ke li fòme nan la tan, ansanm ak yon koup la lòt moun, aktyèlman te vin youn nan poto yo nan yon ti konpayi nou konnen jodi a rele IBM. Se konsa, IBM orijinal te nan biznis la baz done. Epi sa a, reyèlman sa yo te fè. Yo te fè pwosesis done. Kòm se konsa pwopagasyon de kout pyen kat, yon fòmil enjenyeu ke yo te kapab ogmante ki teknoloji nan biwo vòt Ranje kouche rezilta. Ou ka wè nan foto sa a gen nou gen yon little-- li nan yon ti kras ti ponyen-men ou ka wè yon mekanis trè enjenyeu mekanik kote nou gen yon pil kat kat kout pyen. Ak pran yon moun nan yon ti kras tournevis ak rete soude a nan fant ak leve l 'kanpe jwenn ki matche ak, ki Ranje rezilta mete. Sa a se yon agrégation. Nou fè sa tout tan tout tan an jodi a nan òdinatè a, kote ou fè l 'nan baz done a. Nou te konn fè l 'manyèlman, dwa? Moun mete bagay sa yo sa yo ansanm. Epi li te pwopagasyon nan nan kat kout pyen sa yo nan sa nou rele done tanbou ak bobin done, tep papye. Endistri a pwosesis done pran yon leson nan pyano yo jwè. Jwè pyano tounen nan vire a nan syèk la itilize yo sèvi ak bobin papye avèk fant sou di li ki kle yo jwe. Se konsa, teknoloji ki te adapte evantyèlman nan magazen done dijital, paske yo te kapab mete ke done sou moun bobin tep papye. Koulye a, kòm yon rezilta, done te aktyèlman ki jan ou gen aksè done sa a te dirèkteman depann sou ki jan ou estoke li. Se konsa, si mwen mete done yo sou yon kasèt, Mwen te gen aksè a done yo linear. Mwen te oblije woule tout la tep jwenn aksè nan tout done yo. Si m 'mete done ki nan kout pyen kat, mwen te kapab jwenn aksè li nan yon ti kras pi plis o aza mòd, petèt pa tankou byen vit. Men, te gen limit nan ki jan nou aksè a done ki baze sou ki jan yo te estoke. Se konsa, sa a te yon pwoblèm pral antre nan '50s yo. Yon fwa ankò, nou ka kòmanse wè ke jan nou devlope nouvo teknoloji nan pwosesis done yo, dwa, li ouvè pòt la pou nouvo solisyon, pou nouvo pwogram, nouvo aplikasyon pou ke done. E reyèlman, gouvènans pouvwa yo te rezon ki fè yo poukisa nou devlope kèk nan sistèm sa yo. Men, biznis te vin rapidman chofè a dèyè evolisyon nan nan baz done a modèn ak dosye sistèm lan modèn. Se konsa, bagay la pwochen ki te vini te nan '50s yo te sistèm nan dosye ak nan devlopman nan o aza depo aksè. Sa a te bèl. Koulye a, tout moun nan toudenkou, nou ka mete nou an depoze nenpòt kote sou kondui difisil sa yo epi nou ka jwenn aksè done sa a owaza. Nou ka analizan ki enfòmasyon soti nan dosye. Apre sa, nou rezoud tout nan nan mond pwoblèm ki genyen ak pwosesis done. Apre sa, sa ki te dire sou 20 oswa 30 ane jouk evolisyon nan baz done a relasyon, ki se lè mond lan deside kounye a nou bezwen gen yon repozitwa ki defèt s'étalè la nan done atravè dosye a sistèm ke nou te bati. Dwa? Done Twòp distribiye nan twò anpil kote, de-repetisyon an nan done, ak pri a nan depo te menmen. Nan '70s yo, resous la pi chè ki yon òdinatè te gen te depo a. Processeur a te wè li kòm yon pri fiks yo. Lè m 'achte bwat la, CPU a fè kèk travay. Li k ap pase yo dwe k ap vire si wi ou non li nan aktyèlman ap travay oswa ou pa. Sa ki nan vrèman yon pri koule. Men, sa ki koute m 'tankou yon biznis se depo. Si mwen gen yo achte plis disk pwochen mwa, sa a, se yon pri reyèl pou m 'peye. Epi sa depo se chè. Koulye a, nou vit pou pi devan 40 ane epi nou gen yon pwoblèm diferan. Compute a se kounye a nan pi chè resous. Depo a se bon mache. Mwen vle di, nou ka ale nenpòt kote sou la nwaj epi nou ka jwenn depo bon mache. Men, sa ki mwen pa ka jwenn se compute bon mache. Se konsa, evolisyon nan jodi a teknoloji, nan teknoloji baz done, se reyèlman konsantre ozalantou baz done distribiye ki pa soufri soti nan kalite la menm nan echèl limit nan baz done relasyon. Nou pral pale yon ti kras sou sa ki aktyèlman vle di. Men, youn nan rezon ki ak chofè a dèyè sa a men nou te pale osijè de presyon an done. Done presyon se yon bagay ki kondui inovasyon. Men, si ou gade nan plis pase senk dènye ane yo, sa a se yon tablo nan sa ki done yo chay atravè antrepriz la an jeneral sanble nan senk dènye ane yo. Apre sa, règ la an jeneral nan gwo pous days-- sa yo si ou ale Google-- se 90% nan done yo ki nou sere jodi a, epi li te pwodwi nan lespas de dènye ane yo. OK. Koulye a, sa a se pa yon tandans sa a, se nouvo. Sa a se yon tandans ki te gen pral soti pou 100 ane. Depi tout tan Herman Hollerith devlope kat la kout pyen, nou ve yo te bati zarchiv done ou ranmase done nan pousantaj fenomenn. Se konsa, plis pase 100 dènye ane yo, nou te wè tandans sa a. Sa pa k ap pase yo chanje. Ale pi devan, nou ap ale nan wè sa a, si se pa yon tandans akselere. Epi ou ka wè ki sa sa sanble. Si yon biznis nan 2010 te gen yon sèl teraokte nan done anba jesyon, jodi a sa vle di yo ap jere 6.5 petabytes nan done. Sa a 6,500 fwa plis done. Apre sa, mwen konnen sa a. Mwen travay avèk biznis sa yo chak jou. Senk ane de sa, mwen ta pale ak konpayi ki moun ki ta pale ak m 'sou sa ki yon doulè li se nan jere teraokte ak done yo. Apre sa, yo ta pale m 'sou ki jan nou wè ke sa a se pwobableman pral yo dwe yon petabyte oswa de ki nan yon koup nan ane. Konpayi sa yo menm jodi a mwen ap rankontre avèk, epi yo ap pale ak m 'sou la pwoblèm ki genyen li te gen jere dè dizèn, 20 petabytes nan done. Se konsa, eksplozyon an nan la done nan endistri a se kondwi menmen nan bezwen pou pi bon solisyon yo. Apre sa, baz done a se relasyon jis pa k ap viv jiska demann lan. Se konsa, gen nan yon lineyè korelasyon ant presyon done ak teknik inovasyon. Te Istwa montre nou sa a, ki sou tan, chak fwa volim nan done ki bezwen yo dwe trete depase kapasite a nan sistèm an nan pwosesis l 'nan yon tan rezonab oswa nan yon pri rezonab, Lè sa a, nouvo teknoloji yo envante yo rezoud pwoblèm sa yo. Moun sa yo ki nouvo teknoloji, nan vire, louvri pòt la nan yon lòt seri pwoblèm, ki se ranmase menm plis done. Koulye a, nou pa ap ale nan sispann sa a. Dwa? Nou pa pwal yo sispann sa a. Poukisa? Paske ou pa ka konnen tout bagay gen konnen nan linivè a. Apre sa, osi lontan ke nou ve yo te, tou vivan, nan tout istwa a nan moun, nou te toujou kondwi konnen plis. Se konsa, li sanble tankou chak pous nou deplase desann chemen an nan dekouvèt syantifik, nou ap miltipliye kantite lajan an nan done ke nou bezwen nan pwosesis exponentielle jan nou dekouvwi pi plis ak pi plis ak plis sou fonksyonman yo enteryè nan lavi, sou ki jan linivè a travay, sou kondwi dekouvèt la syantifik, ak envansyon nan ki n ap fè jodi a. Volim a nan done jis toujou ogmante. Se konsa, ke yo te kapab fè fas ak pwoblèm sa a se menmen. Se konsa, youn nan bagay ki nou gade kòm poukisa NoSQL? Ki jan NoSQL rezoud pwoblèm sa a? Oke, baz done relasyon, Estriktire rekèt Lang, SQL sa a, se reyèlman yon konstwi nan la relasyon database-- bagay sa yo se optimisé pou depo. Retounen nan '70s yo, ankò, ki gen kapasite se chè. Fè egzèsis nan du nan depo nan antrepwiz lan se pa janm fini-. Mwen konnen. Mwen te viv li. Mwen te ekri chofè depo pou yon enterprised konpayi superserver tounen nan '90s yo. Epi se liy anba a tourmantant yon lòt etalaj depo te jis yon bagay ki ki te pase chak jou nan antrepwiz lan. Apre sa, li pa janm sispann. Ki pi wo depo dansite, demann pou depo dansite segondè, ak pou depo pi efikas devices-- li pa janm la sispann. Apre sa, NoSQL se yon gwo teknoloji paske li nòmal done yo. Li de-Doublon done yo. Li mete done ki nan yon estrikti ki se agnostik nan chak modèl aksè. Aplikasyon miltip ka frape ki SQL baz done, kouri komisyon hoc demann, epi pou yo jwenn done nan fòm nan yo ke yo bezwen nan pwosesis pou charj yo. Sa ki son kokenn. Men, liy la anba se ak nenpòt sistèm, si li nan agnostik nan tout bagay, li se optimisé pou pa gen anyen. OK? Epi sa a, ki sa nou jwenn ak baz done a relasyon. Li nan optimisé pou depo. Li nan normalized. Li nan relasyon. Li sipòte komisyon hoc queries yo. Apre sa, li epi li balans vètikal. Si mwen bezwen yo ka resevwa yon pi gwo baz done SQL oswa yon baz done SQL plis pouvwa anpil, M 'ale achte yon moso pi gwo fèt an fè. OK? Mwen te travay ak yon anpil nan kliyan ki te sibi gwo amelyorasyon nan enfrastrikti SQL yo sèlman yo chèche konnen sis mwa pita, yo ap frape miray la ankò. Apre sa, repons lan soti nan Oracle oswa MSSQL oswa okenn moun lòt bagay se jwenn yon bwat pi gwo. Oke pi bonè oswa pita, ou pa ka achte yon pi gwo bwat, e ke sa a pwoblèm reyèl. Nou bezwen aktyèlman chanje bagay sa yo. Se konsa, kote fè travay sa a? Li travay byen pou offline analytics, charj OLAP-kalite. Epi sa a, reyèlman kote SQL ki dwe. Koulye a, li la itilize jodi a nan anpil sou entènèt transactionnelle pwosesis-kalite aplikasyon yo. Apre sa, li ap travay jis anfòm nan kèk nivo itilizasyon, men li jis pa echèl fason ke NoSQL fè. Epitou, n ap pale yon ti kras ti jan sou rezon ki fè se sa ki. Koulye a, NoSQL, sou lòt men an, se pi plis optimisé pou compute. OK? Li se pa agnostik modèl la aksè. Se sa nou rele de-normalized estrikti oswa yon estrikti yerarchize. Done yo nan yon baz done relasyon se mete ansanm soti nan plizyè tab yo pwodwi gade nan ke ou bezwen. Done yo nan yon baz done NoSQL se ki estoke nan yon dokiman ki gen estrikti nan yerarchize. Tout moun nan done yo ki ta nòmalman gen mete ansanm yo pwodwi ke lide sa se ki estoke nan yon dokiman sèl. Epitou, n ap pale yon ti kras sou ki jan ki travay nan yon koup nan tablo. Men, lide a isit la se ke ou sere done ou kòm opinyon sa yo enstansye. OK? Ou echèl orizontal. Dwa? Si m 'bezwen ogmante nan gwosè nan gwoup NoSQL mwen, Mwen pa bezwen yo ka resevwa yon ti bwat pi gran. Mwen jwenn yon lòt bwat. Apre sa, mwen gwoup moun ansanm, e mwen ka teson ki done. Nou pral pale yon ti jan sou sa sharding se, yo dwe kapab selon echèl la ki baz done atravè miltip ki bay sipò fizik epi retire baryè a ki mande pou m 'selon echèl la vètikal. Se konsa, li la reyèlman bati pou sou entènèt pwosesis tranzaksyon ak echèl. Genyen yon gwo diferans isit la ant rapò, dwa? Rapòte, mwen pa konnen nan kesyon mwen pral mande. Dwa? Reporting-- si yon moun soti nan depatman maketing m ' vle just-- ki jan anpil nan kliyan m ' gen karakteristik sa a an patikilye ki te achte sou day-- sa a mwen pa konnen sa sijè rechèch yo pwal santi yo mande. Se konsa, mwen bezwen yo dwe agnostik. Koulye a, nan yon sou entènèt transactionnelle aplikasyon an, Mwen konnen ki kesyon mwen mande. Mwen bati aplikasyon an pou yon workflow trè espesifik. OK? Se konsa, si mwen optimize done yo magazen sipòte ki workflow, li nan pral fè pi vit. Epi sa a, poukisa kapab NoSQL reyèlman akselere livrezon an nan tout sa yo kalite sèvis yo. Tout dwa. Se konsa, nou ap ale nan jwenn nan yon ti kras nan teyori isit la. Se konsa, kèk nan nou, je ou ta ka woule tounen yon ti kras. Men, mwen pral eseye kenbe l ' kòm yon wo nivo jan mwen kapab. Se konsa, si w ap nan pwojè jesyon, gen nan yon konstwi rele triyang nan kontrent. OK. Triyang lan nan kontrenn dikte ou pa kapab gen tout bagay tout tan tout tan an. Pa ka gen tat ou, epi pou manje li tou. Se konsa, nan jesyon pwojè, ki triyang kontrent se ou ka genyen li bon mache, ou ka genyen li vit, oswa ou ka genyen li bon. Chwazi de. Paske ou pa ka gen tout twa. Dwa? OK. Se konsa, ou tande pale de sa a yon anpil. Li se yon contrainte trip, triyang nan trip contrainte, oswa triyang lan fè se oftentimes-- lè ou pale ak pwojè administratè, yo pral pale sou sa a. Koulye a, baz done gen pwòp triyang fè yo. Apre sa, triyang la fè nan done se sa nou rele teyorèm CAP. OK? CAP dikte teyorèm ki jan baz done opere anba yon kondisyon trè espesifik. Epitou, n ap pale sou ki sa sa kondisyon se. Men, twa pwen yo nan triyang lan, se konsa pale, yo C, konsistans. OK? Se konsa, nan CAP, konsistans vle di ke tout kliyan ki ka jwenn aksè baz done a ap toujou gen yon trè ki konsistan gade nan done. Okenn moun pa pral nan wè de bagay diferan. OK? Si mwen wè baz done a, Mwen wè gade nan menm kòm patnè mwen ki wè baz done a menm. Sa a konsistans. Disponibilite vle di ke si nan baz done sou entènèt, si li kapab rive jwenn, Tout moun nan kliyan ap toujou kapab li ak ekri. OK? Se konsa, chak kliyan ki ka li baz done a ap toujou kapab lecture done ak ekri done. Men, si sa a, se ka a, li nan yon sistèm disponib. Apre sa, pwen an twazyèm se sa nou rele tolerans patisyon. OK? Tolerans Patisyon vle di ke sistèm lan travay byen malgre rezo fizik Partitions ant nœuds yo. OK? Se konsa, nœuds nan gwoup la pa kapab pale ak youn ak lòt, sa k ap pase? Tout dwa. Baz done Se konsa, relasyon choose-- ou ka chwazi de nan sa yo. OK. Baz done Se konsa, relasyon chwazi yo dwe konsistan epi ki disponib. Si patisyon an k ap pase ant DataNodes yo nan magazen an done, baz done a aksidan. Dwa? Li jis ale desann. OK. Lè sa a se poukisa yo gen yo grandi ak pi gwo bwat. Dwa? Paske gen nan no-- anjeneral, yon gwoup baz done, gen nan pa trè anpil nan yo ki ap fonksyone ki fason. Men, pi fò baz done echèl vètikal nan yon bwat sèl. Paske yo bezwen yo dwe ki konsistan ak ki disponib. Si yon patisyon te dwe sou fòm piki, Lè sa a, ou ta gen fè yon chwa. Ou gen fè yon chwa ant ke yo te ki konsistan ak ki disponib. Epi sa a, ki sa baz done NoSQL fè. Tout dwa. Se konsa, yon baz done NoSQL, li vini nan de gou. Nou en-byen, li vini nan anpil gou, men li vini ak de debaz characteristics-- sa nou ta rele baz done CP, oswa yon ki konsistan ak patisyon tolerans sistèm. Mesye sa yo fè chwa a ke lè nœuds yo pèdi kontak youn ak lòt, nou pa ap ale nan pèmèt moun yo ekri ankò. OK? Jiska se ke patisyon retire, se aksè ekri bloke. Sa vle di yo ap pa disponib. Yo ap ki konsistan. Lè nou wè ke patisyon enjekte tèt li, nou yo kounye a ki konsistan, paske nou pa ap ale yo ki pèmèt chanjman nan done sou de pati yo ki nan patisyon an poukont nan chak lòt. Nou pral gen yo re-etabli kominikasyon anvan te gen ankenn ajou nan se done a pèmèt. OK? Gou nan pwochen ta dwe yon sistèm AP, oswa yon ki disponib ak partition tolerans sistèm. Mesye sa yo pa pran swen. Dwa? Nenpòt ne ki vin yon ekri, nou pral pran li. Se konsa, mwen repwodui done m ' atravè miltip nœuds. Nœuds sa yo jwenn yon kliyan, kliyan vini nan, di, mwen pral ekri kèk done. Neu di, pa gen okenn pwoblèm. Ne nan pwochen l 'vin yon ekri sou dosye a menm, li te ale nan di pa gen okenn pwoblèm. Yon kote tounen sou fen a tounen, ke done a pral replike. Lè sa a, yon moun nan Apre sa, ale nan reyalize, en-oh, sistèm yo pral reyalize, uh-oh, gen te gen yon ajou nan de bò yo. Ki sa nou fè? Ak sa ki Lè sa a, yo fè se yo fè yon bagay ki pèmèt yo rezoud ke eta done. Epitou, n ap pale sou ke nan tablo a kap vini an. Bagay nan pwen soti isit la. Apre sa, mwen pa pwal jwenn twò pi nan sa a, paske sa a rantre nan gwo twou san fon teyori done. Men, gen nan yon transactionnelle fondasyon ki kouri nan yon sistèm relasyon ki pèmèt m 'nan san danje fè dènye li bay òganizasyon miltip nan baz done a. Ak moun ki dènye ap fèt tout nan yon fwa oswa ou pa nan tout. Lè sa a yo rele ACID tranzaksyon yo. OK? ACID ba nou atomisite, konsistans, izòlman, ak rezistans. OK? Sa vle di atomik, tranzaksyon, tout dènye m 'swa rive oswa yo pa fè sa. Konsistans vle di ke baz done a ap toujou yo mennen nan yon ki konsistan eta apre yon ajou. Mwen p'ap janm kite baz done a nan yon move eta apre aplike yon ajou. OK? Se konsa, li yon ti kras diferan pase CAP konsistans. CAP konsistans vle di tout mwen kliyan ka toujou wè done yo. ACID konsistans vle di ke lè yon tranzaksyon fè, done a bon. Relasyon mwen, yo tout bon. Mwen pa pwal yo efase yon ranje paran epi kite yon pakèt moun sou timoun òfelen nan kèk lòt tab. Li pa ka rive si mwen se ki konsistan nan yon tranzaksyon asid. Izolasyon vle di ke tranzaksyon ap toujou rive youn apre lòt la. Rezilta nan fen nan done yo yo pral eta a menm tankou si moun tranzaksyon ki te bay tann te egzekite seri. Se konsa, li konkouran kontwòl nan baz done a. Se konsa, fondamantalman, mwen pa ka kantite a menm valè de fwa ak de operasyon yo. Men, si mwen di ajoute 1 a valè sa a, ak de tranzaksyon vini nan epi eseye fè l ', yon sèl nan pral jwenn gen premye ak yon sèl la lòt la pral jwenn gen apre. Se konsa, nan fen a, mwen te ajoute de. Ou wè sa m 'vle di? OK. Durability se trè senp. Lè tranzaksyon an se rekonèt, li nan pral fè gen menm si sistèm nan aksidan. Lè ke sistèm restaure, ki tranzaksyon ki te pran angajman se aktyèlman pral yo dwe la. Se konsa, sa a, se garanti yo nan asid tranzaksyon yo. Moun sa yo se trè bèl garanti ou genyen nan yon baz done, men yo vini nan ki pri. Dwa? Paske pwoblèm nan ak fondasyon sa a se si gen yon patisyon nan done nan seri, mwen gen yo pran yon desizyon. Mwen pral gen yo ki pèmèt dènye sou yon bò oswa lòt la. Men, si sa rive, Lè sa a, mwen se pa gen okenn ankò ale pou kapab kenbe moun karakteristik. Yo pa pral dwe konsistan. Yo pa pral dwe izole. Sa a se kote li kraze anba pou baz done relasyon. Sa a se rezon an relasyon baz done echèl vètikal. Nan lòt men an, nou gen sa ki rele teknoloji BASE. Men De NoSQL ou yo. Tout dwa. Se konsa, nou gen CP nou an, baz done AP. Men sa ou rele fondamantalman disponib, eta mou, evantyèlman ki konsistan. OK? Fondamantalman disponib, paske yo ap patisyon toleran. Yo ap toujou gen gen, menm si gen nan yon patisyon rezo ant nœuds yo. Si m 'ka pale ak yon ne, mwen ale nan dwe kapab li done. OK? Mwen pa ta ka toujou kapab ekri done si mwen se yon platfòm ki konsistan. Men, mwen pral kapab li done. Eta a mou endike ke lè mwen li sa done, li pa ta ka menm jan ak lòt nœuds. Si yo te bay yon dwa sou yon ne yon lòt kote nan gwoup la epi li pa te repwodui atravè nan gwoup ankò lè mwen li ke done, ke eta pa ta ka ki konsistan. Sepandan, li pral evantyèlman ki konsistan, sa vle di lè yon ekri se te fè nan sistèm nan, li pral replike atravè nœuds yo. Ak evantyèlman, ki eta yo pral te pote nan lòd, epi li pral yon eta ki konsistan. Koulye a, teyorèm CAP reyèlman jwe sèlman nan yon sèl kondisyon. Kondisyon Sa se lè sa rive. Paske chak fwa li nan opere nan mòd nòmal, gen nan pa gen patisyon, tout bagay nan ki konsistan ak ki disponib. Ou sèlman enkyete sou CAP lè nou gen sa patisyon. Se konsa, sa yo se bagay ki ra. Men, ki jan sistèm la reyaji lè moun ki yo rive dikte ki kalite sistèm nou ap fè fas ak. Se konsa, kite a pran yon gade nan sa ki ki sanble ak pou sistèm AP. OK? Sistèm AP vini nan de gou. Yo vini nan gou a ki se yon mèt mèt, 100%, toujou disponib. Apre sa, yo vini nan nan lòt gou, ki di, ou konnen ki sa, mwen pral bezwen enkyete sou bagay sa a jwe wòl lè yon patisyon aktyèl rive. Sinon, gen k ap pase yo dwe prensipal nœuds ki moun ki nan pral pran dwa yo. OK? Se konsa, si nou yon bagay tankou Cassandra. Cassandra ta dwe yon mèt mèt, se pou yo m 'ekri a nenpòt ne. Se konsa, sa k ap pase? Se konsa, mwen gen yon objè nan la baz done ki egziste sou de nœuds. Se pou nou rele ki objè S. Se konsa, nou gen eta a pou S. Nou gen kèk operasyon sou S ki kontini. Cassandra pèmèt m 'nan ekri nou nan plizyè nœuds. Se konsa nou di mwen jwenn yon ekri pou nan nan de nœuds. Oke, sa fini moute k ap pase se nou rele ke yon evènman séparation. Gen pa pouvwa gen yon rezo fizik patisyon. Men, paske se nan desen an nan sistèm nan, li nan aktyèlman séparation le pli vit jan mwen ka resevwa yon ekri sou de nœuds. Li pa nan fòse m 'nan ekri tout nan youn ne. Mwen ekri sou de nœuds. OK? Se konsa, koulye a, mwen gen de eta yo. OK? Ki sa ki nan pral rive se pi bonè oswa pita, gen k ap pase yo dwe yon evènman replikasyon. Gen k ap pase yo dwe ki sa nou rele yon gerizon patisyon, ki se kote sa yo de eta tounen ansanm epi gen k ap pase yo dwe genyen yon algorithm ki kouri andedan baz done a, deside ki sa fè. OK? Pa default, dènye aktyalizasyon ranport nan pifò sistèm AP. Se konsa, gen nan anjeneral yon algorithm default, ki sa yo rele yon kalbak fonksyon, yon bagay ki pral rele lè kondisyon sa a se detekte al touye kèk lojik rezoud ki konfli. OK? Kalbak nan default ak default Resolver nan pifò baz done AP se, devine kisa, timestamp ranport. Sa a te aktyalizasyon an dènye. Mwen pral mete sa aktyalizasyon nan la. M 'ka pil fatra dosye sa a ke mwen jete koupe nan yon boutèy demi lit rekiperasyon se konsa ke itilizatè a kapab tounen pita ak di, hey, te gen yon kolizyon. Kisa ki te pase? Epi ou ka aktyèlman pil fatra yon dosye sou tout kolizyon yo ak rollbacks yo ak wè sa ki rive. Koulye a, kòm yon itilizatè, ou kapab tou gen ladan lojik nan ki kalbak. Se konsa, ou ka chanje sa kalbak operasyon. Ou ka di, hey, mwen vle korije done sa a. Apre sa, mwen vle eseye ak rantre de dosye sa yo. Men, sa a moute nan ou. Baz done a pa konnen ki jan yo fè sa pa defo. Pifò tan an, bagay la sèlman baz done a konnen ki jan yo fè se di, yon sèl sa a te dosye-a pase. Sa a yon sèl la ki k ap pase pou pou genyen, e ke sa a valè a mwen pral mete. Yon fwa ke rekiperasyon patisyon ak replikasyon rive, nou gen eta nou an, ki se kounye a S pwemye, ki se eta a unifye a tout moun sa yo objè yo. Se konsa, sistèm AP gen sa a. Sistèm CP pa bezwen enkyete sou sa a. Paske le pli vit ke yon patisyon rive nan jwe yo, yo jis sispann pran ekri. OK? Se konsa, sa a, se trè fasil a fas ak ke yo te ki konsistan lè ou pa aksepte nenpòt dènye enfòmasyon yo. Sa a ki gen yon sistèm CP fè. Tout dwa. Se konsa, kite pou nou pale yon ti kras ti jan sou modèl aksè. Lè nou pale sou NoSQL, li nan tout sou modèl la aksè. Koulye a, SQL se komisyon hoc, demann. Li nan relasyon magazen. Nou pa gen enkyete sou modèl la aksè. Mwen ekri yon sijè rechèch trè konplèks. Li ale epi vin done yo. Sa a ki sa sa a sanble tankou, nòmalizasyon. Se konsa, nan estrikti sa a an patikilye, nou ap chèche nan yon pwodwi katalòg. Mwen gen diferan kalite pwodwi yo. Mwen gen liv. Mwen gen albòm. Mwen gen videyo. Relasyon ki genyen ant pwodwi ak nenpòt youn nan liv sa yo, albòm, ak videyo tab se 1: 1. Tout dwa? Mwen te gen yon ID pwodwi, ak ki koresponn ID nan yon liv, yon album, oswa yon videyo. OK? Sa se yon 1: 1 relasyon atravè moun tab. Koulye a, tout sa yo books-- genyen se pwopriyete rasin. Pa gen pwoblèm. Sa bon. One-a-youn relasyon, Mwen jwenn tout done yo mwen bezwen dekri ki liv. Albòm Albums-- gen tren. Sa a se sa nou rele youn nan anpil moun. Chak album te kapab gen tren anpil. Se konsa, pou chak tras sou album lan, mwen te kapab gen yon lòt dosye nan sa a tab timoun. Se konsa, mwen kreye yon sèl dosye nan tablo albòm m 'yo. Mwen kreye dosye miltip nan tablo a tren. One-a-anpil relasyon. Relasyon Sa a se sa nou rele anpil-a-anpil. OK? Ou wè ke aktè ta ka nan sinema anpil, anpil videyo. Se konsa, sa nou fè se nou mete kat sa a tab ant moun, ki li jis kat ID a aktè ID a videyo. Koulye a, mwen ka kreye yon sijè rechèch kontre ak nan videyo a videyo aktè aktè, epi li ban m 'yon lis bèl nan tout fim sa yo ak tout aktè yo ki te nan ki fim. OK. Se konsa, isit la nou ale. One-a-youn se nan nivo nan tèt relasyon; yon sèl-a-anpil moun, albòm tren; anpil-a-anpil. Moun sa yo ki se twa tèt-nivo nan relasyon nan nenpòt baz done. Si ou konnen ki jan moun relasyon travay ansanm, lè sa a ou konnen yon anpil sou baz done deja. Se konsa, NoSQL travay yon ti jan diferan. Se pou nou panse osijè de pou yon dezyèm ki sa li sanble renmen ale jwenn tout pwodwi m 'yo. Nan yon magazen relasyon, Mwen vle jwenn tout pwodwi m ' sou yon lis ki gen tout pwodwi m 'yo. Sa se yon anpil nan demann. Mwen te resevwa yon rechèch pou tout liv mwen. Mwen te resevwa yon demann soti nan albòm m 'yo. Apre sa, mwen te resevwa yon rechèch pou tout videyo mwen an. Apre sa, mwen te rive nan mete l ' tout ansanm nan yon lis ak sèvi l 'tounen jiska la aplikasyon ki nan mande li. Pou jwenn liv mwen, mwen rantre nan Pwodwi ak Liv. Pou jwenn albòm m 'yo, mwen te rive nan rantre nan Pwodwi, Albums, ak Tracks. Apre sa, yo ka resevwa videyo mwen, mwen gen yo rantre nan pwodwi yo Videos, rantre nan nan aktè Videos, epi pote nan Aktè yo. Se konsa, sa a, se twa queries. Queries Trè konplèks nan rasanble yon sèl rezilta seri. Sa a mwens pase pi bon. Sa a se poukisa lè nou pale sou yon estrikti done sa a, se bati yo dwe jwenn aksè nan agnostik pattern-- byen sa a, se gwo. Epi ou ka wè sa a se reyèlman bèl ki jan nou te òganize done yo. Epi ou konnen ki sa? Mwen sèlman gen yon sèl dosye pou yon aktè. Sa a fre. Mwen te deduplicated tout aktè mwen, ak mwen kenbe asosyasyon mwen nan tablo kat sa a. Sepandan, ap resevwa done yo soti vin chè. M 'ap voye CPU a tout lòt peyi sou sistèm nan rantre nan sa yo estrikti done ansanm pou kapab rale ke tounen done. Se konsa, ki jan mwen jwenn alantou sa? Nan NoSQL li a sou agrégation, pa nòmalizasyon. Se konsa, nou vle di nou vle sipòte modèl la aksè. Si modèl la aksè pou aplikasyon pou yo, Mwen bezwen yo ka resevwa tout pwodwi m 'yo. Se pou nou mete tout pwodwi yo nan yon sèl tab. Si m 'mete tout pwodwi yo nan yon sèl tab, Mwen kapab jis chwazi tout pwodwi yo soti nan ki tab ak mwen jwenn li tout. Oke ki jan mwen fè sa? Byen nan NoSQL gen nan pa gen estrikti sou tab la. Nou pral pale yon ti kras sou ki jan sa a ap travay nan Dynamo DB. Men, ou pa gen menm bagay la tou atribi ak pwopriyete yo menm nan chak yon sèl ranje, nan chak yon sèl atik, tankou ou fè nan yon tab SQL. Ak sa ki sa a pèmèt m ' fè se yon bann bagay sa ak ban m 'yon anpil nan fleksibilite. Nan ka sa a an patikilye, mwen gen dokiman pwodwi m 'yo. Ak nan sa a an patikilye egzanp, tout bagay se yon dokiman nan tablo a Pwodwi. Apre sa, pwodwi a pou yon liv ta ka gen yon ID kalite ki espesifye yon liv. Apre sa, aplikasyon an ta chanje sou sa ID. Nan niveau aplikasyon an, mwen pral yo di oh, ki sa dosye di ki kalite se sa a? Oh, li nan yon dosye liv. Dosye Liv gen pwopriyete sa yo. Kite m 'kreye yon objè liv. Se konsa, mwen pral ranpli nan liv objè ki gen sa a atik. Next atik vini ak di, sa ki nan sa a atik? Oke atik sa a se yon album. Oh, mwen te resevwa yon diferan antye pwosesis woutin pou sa, paske li nan yon album. Ou wè sa m 'vle di? Se konsa, aplikasyon an tier-- mwen jis chwazi tout dosye sa yo. Yo tout kòmanse vini nan. Yo ta ka tout kalite diferan. Lè li nan lojik aplikasyon an nan ki switch atravè sa yo kalite epi ki deside ki jan nan pwosesis yo. Yon lòt fwa ankò, se konsa nou ap optimize nan proje pou modèl la aksè. Nou ap fè li pa tonbe moun tab. Nou ap fondamantalman pran sa yo estrikti normalized, epi nou ap bati estrikti yerarchize. Anndan chak youn nan dosye sa yo Mwen pral wè pwopriyete etalaj. Anndan dokiman sa a pou Albums, Mwen wè ranje nan tren. Moun sa yo ki tren kounye a become-- li a fondamantalman sa a tab timoun ki egziste isit la nan estrikti sa a. Se konsa, ou ka fè sa nan DynamoDB. Ou ka fè sa nan MongoDB. Ou ka fè sa nan nenpòt baz done NoSQL. Kreye sa yo kalite estrikti yerarchize done ki pèmèt ou rekipere done trè byen vit, paske koulye a, mwen pa bezwen konfòme. Lè m 'insert yon ranje nan Tracks yo tab, oswa yon ranje nan tablo a Albums, Mwen gen yo konfòme yo ak ki proje. Mwen gen gen atribi nan la oswa pwopriyete ki se defini sou sa tab. Chak youn nan yo, lè m 'Insert ki ranje. Sa a pa ka a nan NoSQL. Mwen ka gen totalman diferan pwopriyete nan tout dokiman ke mwen insert nan koleksyon an. Se konsa, gen anpil pouvwa mekanis. Apre sa, li vrèman ki jan ou optimize sistèm nan. Paske kounye a ke query, olye pou nan rantre nan tout tab sa yo ak egzekite yon mwatye yon douzèn queries ki rale tounen done yo mwen bezwen, M 'ap egzekite yon sèl sijè rechèch. Apre sa, mwen iteration atravè rezilta yo mete. li ba ou yon lide ki gen pouvwa a nan NoSQL. Mwen pral ale sou kote kalite isit la epi pale yon ti kras sou sa a. Sa a se pi plis kalite a maketing oswa technology-- maketing a nan teknoloji di ki kalite diskisyon. Men, li la enpòtan ke ou konprann paske si nou gade nan tèt la isit la nan tablo sa a, ki sa nou ap chèche a se sa nou rele nan teknoloji battage koub. Ak sa ki sa vle di se nouvo bagay vin antre nan jwe. Moun panse ke li nan gwo. Mwen te rezoud tout pwoblèm mwen. Sa a te kapab fen a tout, gen tout moun tout bagay. Apre sa, yo kòmanse lè l sèvi avèk li. Apre sa, yo di, bagay sa a pa travay. Sa a se pa dwat. Bagay la fin vye granmoun te pi bon. Apre sa, yo tounen nan fè bagay wout la yo te ye. Lè sa a, evantyèlman Ak yo ale, ou konnen ki sa? Bagay sa a se pa te tèlman mal. Oh, sa a, se ki jan li fonksyone. Apre sa, yon fwa yo konnen ki jan li travay, yo kòmanse jwenn pi bon. Epi bagay la komik sou li se, li kalite liy moute nan sa nou rele Curve a Teknoloji Adopsyon. Se konsa, sa k ap pase se nou gen kèk deklanche teknoloji sòt. Nan ka a nan bazdone, li nan presyon done. Nou te pale de pwen yo dlo ki wo nan presyon done nan tout tan. Lè ke presyon done frape yon sèten pwen, sa a, se yon deklanche teknoloji. Li nan ap resevwa twò chè. Li pran twò lontan nan pwosesis done yo. Nou bezwen yon bagay pi byen. Ou jwenn innovateurs yo yo deyò kouri otou, ap eseye chèche konnen sa ki nan solisyon an. Ki sa ki nan lide nan nouvo? Ki sa ki nan pi bon pwochen an fason yo fè bagay sa a? Apre sa, yo vini ak yon bagay. Pèp la ak doulè a ​​reyèl, mesye yo nan kwen an senyen, yo pral sote tout lòt peyi sou li, paske yo bezwen yon repons. Kounye a ki sa inevitableman happens-- ak li k ap pase kounye a nan NoSQL. Mwen wè li tout tan tout tan an. Ki sa ki k ap pase se inevitableman moun kòmanse lè l sèvi avèk zouti nan nouvo menm jan an yo te konn itilize zouti a fin vye granmoun. Apre sa, yo chèche konnen li pa travay sa byen. Mwen pa kapab sonje ki moun mwen te ap pale ak pi bonè jodi a. Men, li la tankou, lè a te jackhammer envante, moun pa t 'balanse li sou tèt yo kraze konkrè la. Men sa se sa ki nan ap pase ak NoSQL jodi a. Si ou mache nan ki pi boutik, yo yo ap eseye gen NoSQL boutik. Ki sa yo ap fè a se yo ap lè l sèvi avèk NoSQL, epi yo ap chaje li plen ak relasyon proje. Paske lè sa a jan yo konsepsyon baz done. Apre sa, yo ap mande, poukisa se li pa fè trè byen? Boy, bagay sa a santi. Mwen te oblije kenbe tout mwen kontre ak in-- li a tankou, pa gen, pa gen. Kenbe kontre ak? Pouki sa w ap rantre nan done? Ou pa rantre nan done nan NoSQL. Ou regwoupe li. Se konsa, si ou vle pou fè pou evite sa a, aprann ki jan zouti nan travay ou anvan ou aktyèlman kòmanse lè l sèvi avèk li. Pa eseye epi sèvi ak zouti yo nouvo a menm jan ou te itilize zouti yo fin vye granmoun. W ap ale nan gen yon eksperyans move. Apre sa, chak fwa yon sèl se sa ki sa a se sou yo. Lè nou kòmanse vini isit la, li a paske moun kalkile konnen kouman yo sèvi ak zouti yo. Yo te fè menm bagay la lè baz done relasyon yo te envante, epi yo te ranplase sistèm dosye-a. Yo te eseye bati sistèm dosye ak baz done relasyon paske se sa ki moun ki konprann. Li pa t 'travay. Se konsa, konprann pratik sa yo ki pi bon nan teknoloji a ou ap travay ak se gwo. Trè enpòtan. Se konsa, nou ap ale nan jwenn nan DynamoDB. DynamoDB se AWS nan konplètman-jere platfòm NoSQL. Ki sa ki konplètman-jere vle di? Sa vle di ou pa bezwen reyèlman enkyete sou anyen. Ou vini nan, ou di nou, mwen bezwen yon tab. Li bezwen kapasite sa a anpil. Ou frape bouton an, epi nou dispozisyon tout enfrastrikti nan dèyè sèn nan. Kounye a ke se menmen. Paske lè ou pale sou dekale yon baz done, NoSQL done grap an echèl, petabytes kouri, kouri dè milyon de tranzaksyon pou chak dezyèm, bagay sa yo yo pa grap ki piti yo. Nou ap pale dè milye de sikonstans. Managing dè milye de ka, menm sikonstans vityèl, se yon doulè reyèl nan bou la. Mwen vle di, panse osijè de chak yon tan opere plak sistèm soti oswa yon nouvo vèsyon an baz done a. Kisa sa vle di bay ou operasyonèlman? Sa vle di ou te resevwa 1,200 serveurs ki bezwen mete ajou. Koulye a, menm avèk automatisation, ki ka pran yon tan long. Ki kapab lakòz yon anpil nan tèt fè mal operasyonèl, paske mwen ta ka gen sèvis desann. Jan nou konnen mwen mete ajou baz done sa yo, mwen ta ka fè deplwaman ble vèt kote mwen deplwaye Et à mwatye m ' nœuds, ak Lè sa ajou lòt mwatye a. Pran sa yo desann. Se konsa, jere enfrastrikti nan echèl se grandman ki fè mal. Apre sa, AWS pran ki doulè soti nan li. Apre sa, baz done NoSQL kapab gen ekstraòdinè ki fè mal paske yo te chemen an, yo echèl. Echèl orizontal. Si ou vle yo ka resevwa yon pi gwo NoSQL baz done, ou achte plis nœuds. Chak ne ou achte se yon lòt tèt fè mal a fonksyone. Se konsa, kite yon lòt moun fè sa pou ou. AWS ka fè sa. Nou sipòte valè dokiman kle. Koulye a, nou pa t 'ale twòp an sou lòt tablo a. Genyen yon anpil nan diferan gou nan NoSQL. Yo ap tout kalite ap resevwa munged ansanm nan pwen sa. Ou ka gade nan DynamoDB ak di wi, nou ap tou de yon dokiman ak yon valè kle magazen pwen sa a. Epi ou ka diskite karakteristik yo ki nan yon sèl sou lòt la. Pou mwen, yon anpil nan sa a se reyèlman sis nan yon sèl mwatye yon douzèn nan lòt la. Chak youn nan teknoloji sa yo se yon teknoloji amann ak yon solisyon amann. Mwen pa ta di MongoDB se pi bon oswa pi mal pase Couch, lè sa a Cassandra, Lè sa a, Dynamo, oswa vis vèrsa. Mwen vle di, sa yo, se jis opsyon. Li nan vit ak li a konsistan nan nenpòt ki echèl. Se konsa, sa a se youn nan pi gwo a bonis ou jwenn ak AWS. Avèk DynamoDB se kapasite a yo ka resevwa yon ki ba chif sèl milisgond latansi nan nenpòt ki echèl. Sa ki te yon objektif konsepsyon de sistèm nan. Epi nou gen kliyan ki ap fè dè milyon de tranzaksyon pou chak dezyèm. Koulye a, mwen pral ale nan kèk nan moun itilize ka nan yon kèk minit isit la. Entegre Integrated control-- aksè nou gen sa nou rele Idantite Jesyon Aksè, oswa IAM. Li anvai chak sistèm, chak sèvis ki AWS ofri. DynamoDB pa gen okenn eksepsyon. Ou ka kontwole aksè nan tab yo DynamoDB. Tou patou nan tout AWS ou kont pa defini wòl ak autorisations aksè nan enfrastrikti nan IAM. Lè li nan yon eleman kle yo ak entegral nan sa nou rele Evènman Kondwi Programmation. Koulye a, sa a se yon nouvo paradigm. ODYANS: Ki jan nan pousantaj ou nan vre positifs fo negatif kont sou sistèm kontwòl aksè ou a? RICK Houlihan: positifs Vrè kont fo negatif? ODYANS: Retounen sa ou ta dwe retounen? Kòm opoze a yon fwa nan yon pandan ke li pa retounen lè li ta dwe valide? RICK Houlihan: Mwen pa t 'kapab di ou sa. Si gen nan nenpòt ki echèk tou sa sou sa, Mwen pa moun nan mande kesyon sa a an patikilye. Men, sa a yon kesyon bon. Mwen ta dwe kirye yo konnen ki tèt mwen, aktyèlman. Se konsa, lè sa a ankò, nouvo paradigm se pwogram evènman kondwi. Sa a se lide ki fè konnen ou kapab deplwaye aplikasyon konplèks ki ka opere yon trè, trè wo echèl san yo pa nenpòt enfrastrikti tou. San yo pa nenpòt fiks enfrastrikti tou. Epitou, n ap pale yon ti kras sou sa sa vle di jan nou jwenn sou koup la pwochen nan tablo. Premye bagay nou pral fè se nou pral pale sou tab. Kalite done API pou Dynamo. Apre sa, premye bagay la ou pral remake lè ou gade nan sa a, si w ap abitye ak nenpòt baz done, baz done gen reyèlman de kalite APIs Mwen ta rele l '. Ou de kouche nan API. Youn nan moun ki ta dwe API administratif. Bagay sa yo yo pran swen nan fonksyon yo nan baz done a. Konfigirasyon motè a depo, mete kanpe epi ajoute tab. kreye baz done katalòg ak sikonstans. Things-- sa yo nan DynamoDB, ou genyen, lis trè kout kout. Se konsa, nan lòt baz done, ou ta ka wè plizyè douzèn a kòmande, nan administratif kòmandman, pou konfigirasyon sa yo opsyon anplis. Nan DynamoDB ou pa bezwen moun paske ou pa configured sistèm nan, nou fè. Se konsa, bagay la sèlman ou bezwen fè se di m 'sa gwosè tab mwen bezwen. Se konsa, ou ka resevwa yon trè seri limite nan kòmandman. Ou jwenn yon Kreye Table Mizajou, Table, Netwaye Table, ak Dekri Table. Moun sa yo se bagay sa yo sèlman ou bezwen pou DynamoDB. Ou pa bezwen yon depo motè konfigirasyon. Mwen pa bezwen enkyete sou replikasyon. Mwen pa bezwen enkyete sou sharding. Mwen pa bezwen enkyete sou nenpòt nan bagay sa a. Nou fè l 'tout pou ou. Se konsa, sa a, se yon kantite lajan gwo sou tèt sa se sèlman leve koupe plak ou. Lè sa a, nou gen operatè yo crud. Crud se yon bagay ki sa nou rele nan baz done sa a, se Kreye, Mizajou, efase operatè yo. Sa yo se komen ou operasyon baz done. Bagay sa yo tankou mete atik, jwenn atik, aktyalizasyon atik, efase atik, query pakèt, analysis. Si ou vle analysis tab la tout antye. Rale tout bagay sou tab la. Youn nan bagay ki bèl sou DynamoDB se li pèmèt paralèl optik. Se konsa, ou ka aktyèlman kite m 'konnen ki jan anpil fil ou vle kouri sou sa eskanè. Apre sa, nou ka kouri moun fil. Nou ka vire ki analysis moute atravè miltip fil konsa ou ka analysis tab la tout antye espas trè, trè byen vit nan DynamoDB. Lòt API a nou genyen se sa nou rele rwiso API nou an. Nou pa ap ale nan pale twò anpil sou sa a kounye a. Mwen te gen kèk kontni pita sou nan pil la sou sa a. Men, rwiso se reyèlman yon running-- panse a li kòm tan an te bay lòd ak chanjman patisyon boutèy demi lit. Tout sa k ap pase sou tab la montre moute sou kouran an. Chak ekri sou tab la montre moute sou kouran an. Ou ka li sa kouran, ak ou ka fè bagay sa yo avèk li. Nou pral pale sou sa kalite bagay ou fè ak bagay sa yo tankou replikasyon, kreye endis segondè. Tout kalite vrèman fre bagay ou ka fè ak sa. Kalite done. Nan DynamoDB, nou sipòte tou de kle valè ak dokiman done kalite. Sou bò men gòch nan ekran an isit la, nou te gen de baz tip nou an. Kalite valè kle. Sa yo se strings, nimewo, ak binèr. Se konsa, jis twa kalite de baz yo. Lè sa a, ou ka gen kouche nan sa yo. Youn nan bagay ki bèl sou NoSQL se ou ka gen ranje kòm pwopriyete. Se avèk DynamoDB ou ka gen ranje nan kalite debaz kòm yon pwopriyete rasin. Lè sa a, gen nan kalite mouvman yo dokiman. Konbyen moun ki yo abitye avèk JSON? Ou nèg abitye avèk JSON anpil? Li nan fondamantalman JavaScript, Objè, Notasyon. Li pèmèt ou fè fondamantalman defini yon estrikti yerarchize. Ou ka magazen yon dokiman JSON sou DynamoDB lè l sèvi avèk eleman komen oswa blòk bilding ki disponib nan pifò lang programmation. Se konsa, si ou gen Java, w ap gade nan kat ak lis. Mwen kapab kreye objè ki kat jeyografik zòn nan. Yon kat jeyografik kòm valè kle estoke kòm pwopriyete. Epi, se ka gen bay lis valè nan moun pwopriyete. Ou ka magazen sa a konplèks estrikti yerarchize kòm yon atribi sèl nan yon atik DynamoDB. Se konsa, tab nan DynamoDB, tankou pifò Baz done NoSQL, tab gen atik yo. Nan MongoDB ou ta rele dokiman sa yo. Epi li ta ka baz la kanape. Epitou yon baz done dokiman. Ou rele dokiman sa yo. Dokiman oswa atik gen atribi. Atribi ka egziste oswa pa egziste sou atik la. Nan DynamoDB, gen nan youn obligatwa atribi. Jis renmen nan yon baz done relasyon, ou gen yon kle prensipal sou tab la. DynamoDB gen sa nou rele yon kle regle. Kle regle dwe inik. Se konsa, lè m 'defini yon tab regle, fondamantalman sa m ap di se chak atik pral gen yon kle regle. Tout kle regle dwe inik. Chak atik defini pa ke kle regle inik. Apre sa, kapab fèt sèlman yon sèl. Sa a se OK, men souvan sa moun bezwen se yo vle se regle sa a kle nan fè yon ti jan ti kras pi plis pase jis gen yon idantifyan inik. Souvan nou vle sèvi ak sa kle regle kòm tèt bokit la nivo agrégation. Apre sa, fason nou fè sa se pa ajoute sa nou rele yon kle pòte. Se konsa, si li nan yon regle sèlman tab, sa a dwe inik. Si li nan yon regle ak ranje tab, la konbinezon de regle la ak seri a dwe inik. Se konsa, panse sou li nan fason sa. Si mwen gen yon fowòm. Ak fòm a gen sijè, li gen posts, epi li gen repons. Se konsa, mwen ta ka gen yon regle kle, ki se ID a sijè. Apre sa, mwen ta ka gen yon kle ranje, ki se ID a repons. Nan fason sa a si mwen vle jwenn nan tout repons pou patikilye sijè, Mwen ka jis sijè rechèch regle la. Mwen kapab jis di, ban m 'tout atik yo ki gen regle sa a. Apre sa, mwen pral jwenn tout kesyon oswa afiche pou sa sijè an patikilye. Sa yo rasanbleman Nivo tèt yo trè enpòtan. Yo sipòte aksè nan prensipal modèl nan aplikasyon an. Anjeneral pale, sa a se sa nou vle fè. Nou vle ke table-- jan ou chaje tab la, nou vle estrikti done yo nan tab la nan yon fason ke aplikasyon an kapab trè byen vit rekipere rezilta sa yo. Apre sa, souvan wout la nan fè sa se yo kenbe rasanbleman sa yo kòm nou Insert done yo. Fondamantalman, nou ap gaye done yo nan bokit la byen klere kòm li vini nan. Kle Range pèmèt mele l regle kle gen yo dwe egalite. Lè m 'sijè rechèch yon regle, Mwen te di ban m 'yon regle ki egal sa a. Lè m 'sijè rechèch nan yon pakèt, mwen ka di ban m 'yon seri ki ap itilize ap itilize nenpòt kalite moun rich operatè ke nou sipòte. Ban m 'tout atik yo pou yon hash. Èske li egal, pi gwo pase, mwens pase, li kòmanse avèk yo, li egziste ant de valè sa yo? Se konsa, sa yo kalite demann seri ke nou ap toujou enterese nan. Koulye a, yon sèl bagay sou done, lè ou gade nan aksè nan done, lè ou gen aksè done yo, li nan toujou sou yon agrégation. Li nan toujou sou dosye yo ki gen relasyon ak sa a. Ban m 'tout bagay isit la that's-- tout tranzaksyon yo sou sa a kat kredi pou dènye mwa a. Sa a yon agrégation. Prèske tout bagay ou fè nan la baz done se kèk kalite agrégation. Se konsa, ke yo te kapab pou kapab defini sa yo bokit ak ba ou sa yo ranje atribi figi pou kapab sijè rechèch sou li a, moun rich queries sipòte anpil, anpil, anpil aplikasyon aksè modèl. Se konsa, bagay la lòt kle nan regle fè se li ba nou yon mekanis pou kapab gaye done yo alantou. Baz done NoSQL travay pi byen lè done a se respire distribiye nan tout gwoup la. Konbyen moun ki yo abitye ak achin algoritm? Lè m 'di hash ak yon hashing-- paske yon algorithm achin se yon fason pou ke yo te kapab jenere se yon valè o aza nan nenpòt valè bay yo. Se konsa, nan ka sa a an patikilye, nan regle algorithm nou kouri se ND 5 baze sou. Men, si mwen gen yon ID, ak sa a se kle regle m 'yo, mwen gen 1, 2, 3. Lè m 'kouri algorithm nan regle, li k ap pase yo tounen ak di, byen 1 egal 7B, 2 egal 48, 3 egal CD. Yo ap gaye tout lòt peyi sou espas ki la kle. Epi poukisa ou fè sa? Paske ki fè asire w ke mwen kapab mete dosye yo atravè plizyè nœuds. Si m ap fè sa a incrémentielle, 1, 2, 3. Apre sa, mwen gen nan yon pakèt regle ki kouri nan ka sa a an patikilye, yon espas regle piti, li kouri soti nan 00 FF, Lè sa a, dosye yo yo ale nan vini nan epi yo ap ale nan ale 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12. Sak pase? Chak insert ki pral menm ne a. Ou wè sa m 'vle di? Paske lè m 'fann espas ki la, ak mwen gaye dosye sa yo atravè tout, ak mwen patisyon, mwen pral di patisyon 1 gen kle espas 0 a 54. Patisyon 2 se 55 a 89. Patisyon 3 se AA FF. Se konsa, si mwen lè l sèvi avèk linear incrementing Idantite, ou ka wè sa k ap pase. 1, 2, 3, 4, 5, 6, tout wout jiska 54. Se konsa, kòm mwen rakle nan dosye nan sistèm lan, tout bagay fini moute ale nan yon sèl ne. Sa a pa bon. Sa a yon antipattern. Nan MongoDB yo gen pwoblèm sa a si ou pa sèvi ak yon kle regle. MongoDB ba ou opsyon pou a achin valè a kle. Ou ta dwe toujou fè sa, si w ap itilize yon regle incrementing kle nan MongoDB, oswa ou pral kloure chak ekri nan yon sèl ne, epi ou pral limite debi ekri ou seryezman. ODYANS: Eske se sa ke A9 169 an desimal? RICK Houlihan: Yeah, li nan yon kote alantou a. A9, mwen pa konnen. Ou ta gen jwenn binè mwen kalkilatris desimal. Sèvo mwen pa travay tankou sa. ODYANS: Jis yon yon sèl rapid nan kòmantè Mongo ou yo. Se konsa, se ID a objè ki vini natif avèk Mongo fè sa? RICK Houlihan: li fè sa? Si ou presize li. Avèk MongoDB, ou gen opsyon an. Ou ka specify-- chak dokiman nan MongoDB te gen yon ID souliye. Sa a valè a inik. Nan MongoDB ou ka presize si l ap Hash li ou pa. Yo jis ba ou opsyon a. Si ou konnen ke li nan o aza, pa gen okenn pwoblèm. Ou pa bezwen fè sa. Si ou konnen ke li pa o aza, ki li nan incrementing, lè sa a fè regle la. Koulye a, bagay la sou achin, yon fwa ou Hash yon value-- ak sa a se poukisa kle regle yo toujou queries inik, paske mwen te chanje valè a, koulye a, mwen pa ka fè yon demann pòte. Mwen pa ka di se sa a ant sa a oswa ki, paske valè a regle a pa pral yo dwe ekivalan a valè a vrè. Se konsa, lè ou Hash ki kle, li nan egalite sèlman. Sa a se poukisa nan DynamoDB kle regle queries yo toujou egalite sèlman. Se konsa, kounye nan yon ran key-- lè m 'ajoute ke kle ranje, moun dosye kle seri tout vini nan ak yo jwenn ki estoke nan menm patisyon an. Se konsa, yo yo trè byen vit, fasil Retrieved paske sa a se regle la, sa a se seri a. Epi ou wè tout bagay ak menm regle nan vin ki estoke sou espas ki la patisyon menm. Ou kapab sèvi ak ke kle seri yo ede jwenn done ou fèmen nan paran li yo. Se konsa, sa mwen reyèlman fè isit la? Sa a se yon yon sèl nan anpil relasyon. Relasyon ki genyen ant yon kle regle ak kle a seri se youn nan anpil moun. Mwen kapab gen pouvwa regle miltip. Mwen ka sèlman gen plizyè seri kle nan chak kle regle. Regle la defini paran an, seri a defini timoun yo. Se konsa, ou ka wè gen nan analòg isit la ant konstwi nan relasyon ak kalite yo menm nan konstwi an NoSQL. Moun pale sou NoSQL kòm nonrelational. Li pa nonrelational. Done toujou gen relasyon. Moun sa yo ki relasyon jis yo modelize yon lòt jan. Se pou nou pale yon ti kras ti jan sou rezistans. Lè ou ekri nou nan DynamoDB, ekri yo toujou twa-fason repwodui. Sa vle di ke nou gen twa AZ la. AZ a yo Zòn Disponibilite. Ou ka panse a yon Disponibilite Zòn kòm yon sant done oswa yon koleksyon nan sant done. Se bagay konsa ki jewografik izole soti nan chak lòt atravè zòn fòt diferan, atravè diferan grilles pouvwa ak plèn. Yon echèk nan yon sèl AZ se pa pral pran desann yon lòt. Yo fè yo tou lye ansanm ak fib nwa. Li sipòte yon sèl sub 1 latansi milisgond ant AZS. Se konsa, tan reyèl done Replications kapab nan AZS milti. Apre sa, souvan milti AZ deplwaman ranpli kondisyon yo ki disponiblite segondè nan pi òganizasyon antrepriz. Se konsa, se gaye DynamoDB atravè twa AZS pa defo. Nou ap sèlman pral konesans ekri nan lè de nan tout sa yo twa nœuds tounen ak di, Yeah, mwen te resevwa li. Poukisa se sa? Paske sou bò Read nou ap sèlman pral ba ou done yo tounen lè nou jwenn li nan men de nœuds. Si mwen repwodui nan tout twa, ak mwen lekti nan de, M 'ap toujou garanti gen omwen yon nan tout sa yo li yo dwe nan pi kopi aktyèl la nan done. Sa a ki sa fè DynamoDB ki konsistan. Koulye a, ou ka chwazi yo vire moun ki konsistan li nan. Nan ka sa a, mwen pral di, Mwen pral sèlman li soti nan yon ne. Apre sa, mwen pa ka garanti li pral yo dwe done yo pi aktyèl la. Se konsa, si yon ekri an ap vini an, li pa te repwodui ankò, w ap ale nan jwenn ki kopi. Sa a yon Read evantyèlman ki konsistan. Ak sa ki se sa ki se mwatye pri a. Se konsa, sa se yon bagay yo reflechi sou. Lè w ap lekti soti DynamoDB, ak w ap mete kanpe kapasite Read ou inite, si ou chwazi evantyèlman ki konsistan li, li nan yon anpil pi bon mache, li nan apeprè mwatye pri a. Se konsa, li sove ou lajan. Men, sa a chwa ou. Si ou vle yon tèks ki konsistan oswa yon Read evantyèlman ki konsistan. Sa se yon bagay ke ou ka chwazi. Se pou nou pale sou endis. Se konsa, nou mansyone ke tèt nivo agrégation. Nou te gen kle regle, ak nou te gen kle pòte. Sa a bèl. Epi sa a, sou tab la prensipal, mwen te resevwa yon sèl kle regle, mwen te resevwa yon sèl kle pòte. Kisa sa vle di? Mwen te gen yon sèl atribi ke mwen ka kouri queries rich kont. Li nan kle nan pòte. Atribi figi lòt yo sou ki item-- Mwen kapab filtre sou atribi sa yo. Men, mwen pa ka fè bagay sa yo tankou, li kòmanse ak, oswa gen plis pouvwa pase. Kouman pou mwen fè sa? Mwen kreye yon endèks. Genyen de kalite endis nan DynamoDB. Yon endèks se reyèlman yon lòt gade nan tab la. Ak endèks la lokal segondè. Yon sèl nan premye nou pral pale sou. Sgondèr Se konsa, lokal yo koègziste sou patisyon an menm jan ak done yo. Ak jan sa yo, yo se sou menm ne la fizik. Yo se sa nou rele ki konsistan. Sa vle di, yo pral rekonèt ekri a ansanm ak tab la. Lè ekri a vini an, nou pral ekri nan endèks la. Nou pral ekri moute sou tab la, ak Lè sa a nou pral rekonèt. Se konsa, sa a, se ki konsistan. Yon fwa gen ekri an te rekonèt nan tablo a, li nan garanti ke nan lokal endèks segondè ap gen vizyon nan menm nan done. Men, sa ki yo pèmèt ou fè se defini kle seri altène. Gen yo sèvi ak menm regle nan kle kòm tab la prensipal, yo paske yo te ko-ki sitiye sou la menm patisyon, e yo ap konsistan. Men, mwen kapab kreye yon endèks ak diferan kle pòte. Se konsa, pou egzanp, si mwen te gen yon manifakti ki te gen yon pati tab anvan tout koreksyon vini nan. Ak pati anvan tout koreksyon vini an, ak yo ap agrégées pa asanble. E petèt gen nan yon rapèl. Nenpòt ki pati ki te fèt pa sa a manifakti apre dat sa a, Mwen bezwen rale soti nan liy m 'yo. Mwen kapab vire yon endèks ki ta ka kap, regwoupman nan dat fabrike nan pati sa a an patikilye. Se konsa, si tab tèt nivo m 'te deja ache nan manifakti, petèt li te ranje sou ID pati, mwen ka kreye yon endèks nan ki tab kòm ache nan manifakti ak alan nan dat nan fabrike. Apre sa, nan fason sa a mwen te kapab di, nenpòt ki bagay ki te manifaktire ant dat sa yo, Mwen bezwen rale soti nan liy lan. Se konsa, sa a, se yon endèks lokal segondè. Sa yo gen efè a nan limite regle ou kle espas. Paske yo ko-egziste nan menm ne la depo, yo limite kle a regle espas nan 10 jigokte. DynamoDB, anba a tab, yo pral patisyon tab ou chak 10 jigokte. Lè ou mete 10 jig nan done nan, nou ale [PHH], epi nou ajoute yon lòt ne. Nou pa pral fann LSI nan atravè miltip Partitions. Nou pral fann tab la. Men, nou pa pral fann LSI la. Se konsa, ki nan yon bagay enpòtan ke ou konprann se si ou ap fè anpil, trè, rasanbleman gwo anpil, Lè sa a, w ap ale nan dwe limite a 10 jigokte sou LSIs ou yo. Si sa a, se ka a, nou kapab itilize sgondèr mondyal. Sgondèr Global yo reyèlman yon lòt tab. Yo egziste konplètman yo ale nan bò a nan tab prensipal ou. Apre sa, yo pèmèt mwen jwenn yon konplètman diferan estrikti. Se konsa, panse a li kòm done se ke yo te mete nan de tab diferan, estriktire nan de fason diferan. Mwen kapab defini yon totalman diferan kle regle. Mwen kapab defini yon totalman diferan seri kle. Apre sa, mwen ka kouri sa a konplètman poukont li. Kòm yon kesyon de reyalite, mwen te pwovisyon kapasite Read mwen epi ekri kapasite pou m ' endis mondyal segondè konplètman poukont nan tablo prensipal m 'yo. Si m 'defini ki endèks, m'ap di li konbyen lajan li ak ekri kapasite li nan ale nan dwe lè l sèvi avèk. E ke se separe nan tablo prensipal m 'yo. Koulye a, tou de nan endis yo pèmèt nou pa sèlman defini regle ak seri kle, men yo pèmèt nou pwojè valè adisyonèl. Se konsa, si mwen vle li nan endèks la, e mwen vle jwenn kèk seri done, Mwen pa bezwen pou tounen nan prensipal la tab yo ka resevwa atribi ki adisyonèl. Mwen kapab pwojè sa yo anplis atribi nan tab la sipòte modèl la aksè. Mwen konnen nou ap pwobableman ap resevwa nan kèk reyèlman, really-- trape nan move zèb yo isit la sou kèk nan bagay sa a. Koulye a, mwen te rive nan flote soti nan sa a. ODYANS: [fèbl] kle --table vle di se te yon regle? Regle orijinal la? Multi-planch? RICK Houlihan: Wi. Wi. Kle a tab fondamantalman pwen tounen nan atik la. Se konsa, yon endèks se yon konsèy tounen nan atik yo orijinal sou tab la. Koulye a, ou ka chwazi yo bati yon endèks ke se sèlman gen kle a tab, e pa gen lòt pwopriyete. Epi poukisa mwen ta ka fè sa? Oke, petèt mwen gen atik gwo anpil. Mwen vrèman sèlman bezwen konnen which-- modèl aksè m 'ta ka di, ki atik gen pwopriyete sa a? Pa bezwen retounen atik la. Mwen jis bezwen konnen ki atik gen li. Se konsa, ou ka bati endis ke se sèlman gen kle a tab. Men, sa a prensipalman sa yon endèks nan baz done a se pou. Li nan pou yo te kapab byen vit idantifye ki dosye, ki ranje, ki atik nan tablo a gen pwopriyete yo ke mwen pou chèche. GSIs, se konsa ki jan yo travay? GSIs fondamantalman se asenkron. Aktyalizasyon a vin antre nan tablo a, tab se lè sa a asenkron mete ajou tout nan GSIs ou yo. Sa a se poukisa GSIs yo evantyèlman ki konsistan. Li se enpòtan sonje ke lè w ap bati GSIs, epi ou konprann ou ap kreye yon lòt dimansyon nan aggregation-- kounye a kite a di yon bon egzanp isit la se yon fabrikan an. Mwen panse ke mwen ta ka yo te pale osijè de yon aparèy manifakti medikal. Manifaktirè aparèy medikal souvan gen pati sérialisé. Pati pyès sa yo ki ale nan yon ranplasman anch tout gen yon ti kras nimewo seri sou yo. Apre sa, yo te kapab gen dè milyon ak dè milyon ak dè milya de pati nan tout aparèy yo ke yo bato. Oke, yo bezwen regwoupe anba dimansyon diferan, tout pati yo nan nan yon asanble, tout nan pati ki te fèt sou yon liy sèten, tout pati pyès sa yo ki te vin nan soti nan yon manifakti sèten sou yon dat sèten. Apre sa, rasanbleman sa yo pafwa jwenn moute nan dè milya yo. Se konsa, mwen travay avèk kèk nan mesye sa yo ki ap soufri paske yo ap kreye sa yo rasanbleman ginormous nan endis segondè yo. Yo ta ka gen yon pati anvan tout koreksyon tab ki vini kòm regle sèlman. Chak pati gen yon nimewo inik seri. Mwen sèvi ak nimewo seri a kòm regle la. Li bel. Se tab anvan tout koreksyon done mwen gaye tout atravè espas ki la kle. [Mwen an? ekri?] [? enjèstyon?] se pè. Mwen pran yon anpil nan done. Lè sa a, sa yo fè se yo kreye yon GSI. Apre sa, mwen di, ou konnen ki sa, mwen bezwen wè tout pati yo nan pou manifakti sa a. Oke, tout nan yon toudenkou mwen se pran yon milya dola ranje, ak lòt bagay yo sou youn ne, paske lè Mwen regwoupe kòm nan manifakti ID kòm regle la, ak nimewo pati kòm seri a, lè sa a tout moun nan toudenkou a mwen se mete yon milya dola pati nan sa ki te manifakti sa a delivre m '. Ki kapab lakòz yon anpil nan presyon sou GSI a, ankò, paske mwen rakle youn ne. M 'ap mete tout bagay sa yo foure nan yon sèl ne. Epi sa a, yon reyèl pwoblèm itilizasyon ka. Koulye a, mwen te resevwa yon konsepsyon bon modèl pou ki jan ou evite sa. Epi sa a, youn nan pwoblèm yo ke mwen toujou travay avèk yo. Men, sa ki k ap pase, se GSI a ta ka pa gen ase kapasite ekri pou kapab pouse tout moun sa yo ranje nan yon ne sèl. Ak sa ki k ap pase Lè sa a, se nan primè, tab la kliyan, pral tab la prensipal dwe etrangle paske GSI a pa ka kenbe moute. Se konsa, insert pousantaj mwen pral tonbe sou tab la prensipal kòm GSI mwen ap eseye kenbe moute. Tout dwa, se konsa GSI a, LSI la, ki youn mwen ta dwe itilize? LSI a yo ki konsistan. GSI a yo evantyèlman ki konsistan. Si sa a, se OK, Mwen rekòmande lè l sèvi avèk yon GSI, yo ap pi plis fleksib. Ka LSI a dwe modelize kòm yon GSI. Men, si gwosè a done pou chak kle regle nan koleksyon ou depase 10 jigokte, Lè sa a, w ap ale nan vle sèvi ak ki GSI paske li nan jis yon limit difisil. Tout dwa, se konsa Eskalad. Debi nan Dynamo DB, ou ka dispozisyon [fèbl] debi nan yon tab. Nou gen kliyan ki gen pwovisyon 60 billion-- ap fè 60 milya dola demann, regilyèman kouri nan plis pase yon milyon demann pou chak dezyèm sou tab nou an. Genyen pa reyèlman limit teyorik nan kantite lajan ak ki jan vit tab la ka kouri nan Dynamo DB. Gen kèk mou limit sou kont ou ke nou mete nan gen pou ke ou pa ale fou. Si ou vle plis pase sa, pa yon pwoblèm. Ou vini di nou. Nou pral vire leve rele a. Chak kont sa sèlman kèk nivo nan tout sèvis, jis koupe baton an Se konsa, pèp yo pa ale fou jwenn tèt yo nan pwoblèm. Pa gen limit nan gwosè. Ou ka mete nenpòt ki nimewo nan atik sou yon tab. Gwosè a nan yon atik se limite a sa sèlman 400 kilookte chak, ki ta ka atik pa atribi yo. Se konsa, sòm total la nan tout atribi limite a sa sèlman 400 kilookte. Lè sa a, ankò, nou gen ke ti kras pwoblèm LSI ak limit la 10 jigokte pou chak regle. ODYANS: ti kantite, mwen manke ki sa w ap di m ', ki is-- ODYANS: Oh, 400 kilobit se gwosè a maksimòm pou chak atik. Se konsa, yon atik gen tout atribi yo. Se konsa, 400 k se gwosè a total nan ki atik, 400 kilookte. Se konsa, nan tout atribi ki konbine, tout done yo sa a, se nan tout moun sa yo atribi, woule moute nan yon gwosè total, kounye a jodi a limit la atik se 400 k. Se konsa, dekale ankò, reyalize a jwe wòl. Debi se pwovisyon nan nivo tab. Apre sa, gen nan reyèlman de manch. Nou te li kapasite epi ekri kapasite. Se konsa, sa yo yo ajiste poukont nan youn ak lòt. Mezi RCU nan estrikteman ki konsistan li. OK, Se konsa, si w di a mwen vle 1,000 RCU nan sa yo se entèdi ki konsistan, sa yo se ki konsistan li. Si w di mwen vle evantyèlman ki konsistan li, ou kapab dispozisyon 1,000 RCU a, w ap ale yo ka resevwa 2,000 evantyèlman ki konsistan li. Apre sa, mwatye pri a pou moun evantyèlman konpoze nan li. Yon fwa ankò, ajiste poukont nan youn ak lòt. Apre sa, yo gen throughput-- nan Si ou konsome 100% nan RCU ou, ou pa ap ale nan enpak la disponibilite de dwa ou yo. Se konsa, yo yo konplètman endepandan de youn ak lòt. Tout dwa, se konsa youn nan bagay sa yo ke Mwen mansyone yon ti tan te trotlin. Trotlin ki mal. Trotlin endike move pa gen okenn SQL. Gen anpil bagay nou ka fè yo ede ou soulaje trotlin la ke ou yo gen. Men, solisyon a pi bon nan sa a se kite a pran yon gade nan ki sa w ap fè, paske gen nan yon anti-modèl nan jwe isit la. Tout bagay sa yo, bagay sa yo tankou ki pa Peye-inifòm charj, kle cho, Partitions cho. Mwen frape yon patikilye espas kle trè difisil pou kèk rezon an patikilye. Poukisa mwen fè sa? Se pou yo konnen ki soti. Mwen melanje done cho mwen ak done frèt. M 'ap kite tab mwen jwenn gwo, men gen nan reyèlman sèlman kèk sou nan done yo sa a, se reyèlman enteresan m '. Se konsa, pou done boutèy demi lit, pou egzanp, yon anpil nan kliyan, yo jwenn ouvri sesyon done chak jou. Yo te resevwa yon kantite lajan gwo done boutèy demi lit. Si w ap jis moun ap jete fatra tout sa ki boutèy demi lit done nan yon sèl tab gwo, apre yon sèten tan ki tab k ap pase yo ka resevwa masiv. Men, mwen reyèlman sèlman ki enterese nan dènye 24 èdtan, sèt dènye jou yo, 30 dènye jou yo. Kèlkeswa fenèt la nan tan ke mwen se enterese nan kap pou evènman an ki jèn m ', oswa evènman an sa a, se enteresan yo m ', sa a, se sèlman tan nan fenèt ke mwen bezwen. Se konsa, poukisa mwen mete 10 ane vo nan done boutèy demi lit nan tablo a? Ki sa ki lakòz se tab la fragman nan. Li vin gwo. Li kòmanse gaye soti atravè dè milye de nœuds. E depi kapasite ou se konsa ki ba, w ap aktyèlman to limite sou chak youn nan moun ki nœuds endividyèl elèv yo. Se konsa, kite la kòmanse gade nan ki jan èske nou woule ki tab sou. Ki jan nou jere ke done yon ti kras pi bon pou fè pou evite pwoblèm sa yo. Ak sa ki ki sanble? Sa a se sa ki sanble tankou. Sa a se sa move NoSQL sanble. Mwen te resevwa yon kle cho isit la. Si ou gade sou bò isit la, sa yo, se tout Partitions mwen. Mwen te resevwa 16 Partitions moute isit la sou baz done sa a an patikilye. Nou fè sa tout tan tout tan an. Mwen kouri sa a pou kliyan tout tan tout tan. Yo rele li kat jeyografik la chalè. Kat jeyografik chalè di m 'ki jan ou ap aksè espas kle ou yo. Ak sa ki sa a ap di m 'se ke gen nan yon sèl patikilye regle ki sa a Guy renmen yon terib anpil, paske li se frape li reyèlman, reyèlman difisil. Se konsa, ble a se bèl. Nou renmen ble. Nou pa renmen wouj. Kote presyon an Wouj la vin jiska 100%. 100%, kounye a ou ap ale nan dwe etrangle. Se konsa, chak fwa ou wè nenpòt ki liy wouj tankou sa a men ak li nan pa sèlman Dynamo DB-- chak baz done NoSQL gen pwoblèm sa a. Gen anti-modèl ki ka kondwi sa yo kalite kondisyon. Kisa pou mwen fè se mwen travay ak kliyan soulaje kondisyon sa yo. Ak sa ki ki sanble? Lè sa a ap resevwa pi plis nan soti nan Dynamo DB debi, men li la reyèlman ap resevwa la pi soti nan NoSQL. Sa a se pa restriksyon nan Dynamo. Sa a se definitely-- mwen itilize nan travay nan Mongo. Mwen se abitye avèk anpil tribin NoSQL. Chak yon sèl gen sa yo kalite nan pwoblèm cho kle. Pou jwenn la pi soti nan nenpòt ki NoSQL baz done, espesyalman Dynamo DB, ou vle kreye tab yo kote eleman nan kle regle gen yon gwo kantite nan valè distenk, yon wo degre de cardinalité. Paske sa vle di mwen ekri nan anpil nan bokit diferan. Bokit yo pi plis mwen se ekri a, gen plis chans a Se mwen menm ki gaye ki chay ekri oswa li chaje soti toupatou nan plizyè nœuds, gen plis chans a mwen menm ki gen yon segondè debi sou tab la. Lè sa a, mwen vle valè yo yo dwe mande jistis respire apre yon sèten tan ak egzakteman menm jan kòm owaza ke posib. Oke, sa a, se kalite enteresan, paske mwen pa ka vrèman kontwòl lè itilizatè yo vini. Se konsa, sifi yo di, si nou gaye bagay sa yo soti nan tout espas ki la kle, nou pral pwobableman ap nan pi bon fòm. Genyen yon sèten kantite lajan pou livrezon tan ke ou pa ap ale yo dwe kapab kontwòl. Men, moun yo se reyèlman nan de dimansyon ke nou genyen, espas, aksè respire gaye, tan, demann Rive respire espace nan tan. Men, si sa yo de kondisyon yo te rankontre, Lè sa a, se sa ki li nan ale nan sanble. Sa a se anpil joli. Nou vrèman kontan isit la. Nou te gen yon modèl aksè trè menm. Yeah, petèt w ap vin yon ti kras presyon chak kounye a epi lè sa a, men pa gen anyen vrèman twò vaste. Se konsa, li nan etonan konbyen fwa, lè m 'travay avèk kliyan, ki premye graf ak wouj la gwo bar ak tou sa lèd jòn li nan sou tout plas la, nou jwenn fè ak fè egzèsis la apre yon koup la mwa nan re-achitekti, yo ap kouri menm bagay la tou egzak kantite travay la nan egzak chay la menm. Lè sa a se sa ki li nan kap tankou kounye an. Se konsa, sa ou jwenn ak NoSQL se yon done proje ki se absoliman mare nan modèl la aksè. Epi ou ka optimize ki proje done sipòte ki modèl aksè. Si ou pa fè sa, Lè sa a, w ap ale wè moun kalite pwoblèm ak sa yo kle cho. ODYANS: Bon, inevitableman kèk kote yo pral yo dwe plis pase lòt moun. RICK Houlihan: Toujou. Toujou. Yeah, mwen vle di gen nan toujou a-- e ankò, gen nan kèk modèl konsepsyon nou pral jwenn nan ki pral pale sou fason ou fè fas ak sa yo super gwo rasanbleman. Mwen vle di, mwen te rive nan gen yo, ki jan nou fè fas ak yo? Mwen te resevwa yon trè bon pou sèvi ka ke nou pral pale sou pou sa. Tout dwa, se konsa kite a pale sou kèk kliyan kounye a. Mesye sa yo se AdRoll. Mwen pa konnen si w ap abitye avèk AdRoll. Ou pwobableman wè yo yon anpil sou navigatè a. Yo ap anons re-vize, yo ap pi gwo biznis nan anons re-vize yo deyò. Yo nòmalman regilyèman kouri sou 60 milya dola tranzaksyon pou chak jou. Yo ap fè plis pase yon milyon tranzaksyon pou chak dezyèm. Yo te gen yon tab trè senp estrikti, tab la pi okipe. Li nan fondamantalman jis yon kle regle se bonbon la, seri a se demografik nan kategori, ak Lè sa a twazyèm atribi a se nòt la. Se konsa, nou tout gen bonbon nan navigatè nou yo soti nan mesye sa yo. Men, lè ou ale nan yon komèsan k ap patisipe, yo fondamantalman nòt ou atravè divès kategori demografik. Lè ou ale nan yon sit entènèt ak ou di Mwen vle wè sa a ad-- oswa fondamantalman ou pa di that-- Men, lè ou ale nan sit entènèt la yo di ou vle wè sa a anons. Apre sa, yo ale jwenn ki anons soti nan AdRoll. AdRoll sanble ou leve sou tab yo. Yo jwenn bonbon ou yo. Piblisite yo di yo, mwen vle yon moun ki moun ki nan laj mwayen, 40-zan nonm, nan espò. Apre sa, yo ta fè nòt Asebyen ou nan sa yo démographie epi yo deside si ou pa sa a, se yon anons bon pou ou. Koulye a, yo gen yon SLA ak founisè piblisite yo bay sub-10 milisgond repons sou chak demann sèl. Se konsa, yo ap sèvi ak Dynamo DB pou sa. Yo ap frape nou yon milyon dola demann pou chak dezyèm. Yo ap kapab fè tout yo rchèrch, triyaj tout sa ki done, epi pou yo jwenn ki genyen lyen ki ajoute tounen nan ki advertised an ki poko gen 10 milisgond. Li nan reyèlman bèl fenomenn aplikasyon sa yo genyen. Mesye sa yo aktyèlman timoun sa yo mesye yo. Mwen pa si si li nan mesye sa yo. Ta kapab mesye sa yo. Fondamantalman di fi Fiziyad Kous non, mwen pa panse ke li te yo. Mwen panse ke li te yon moun lòt bagay. Mwen te ap travay ak yon kliyan ki te di m ' ke kounye a yo ke yo te ale nan Dynamo DB, yo ap depanse plis lajan sou ti goute pou ekip devlopman yo chak mwa pase yo depanse nan baz done yo. Se konsa, li pral ba ou yon lide nan depans ekonomi yo ke ou ka jwenn nan Dynamo DB se gwo. Tout dwa, dropcam nan yon lòt konpayi. Sa yo nèg nan kalite de- si ou panse nan entènèt nan bagay sa yo, dropcam se fondamantalman videyo sekirite entènèt. Ou mete kamera ou yo deyò. Kamera gen yon detektè mouvman. Yon moun vini ansanm, deklannche yon pwen Replik. Kamera kòmanse anrejistreman pou yon ti tan jouk li pa detekte nenpòt mouvman ankò. Mete ki videyo moute sou entènèt la. Dropcam te yon konpayi ki se fondamantalman chanje Dynamo DB paske yo te fè eksperyans menmen ap grandi doulè. Ak sa yo te di nou, toudenkou petabytes nan done. Yo te gen okenn lide sèvis yo ta dwe konsa siksè. Plis videyo Anthrax pase YouTube se sa ki mesye sa yo ap resevwa. Yo sèvi ak DynamoDB yo swiv nan tout Metadata sou tout pwen videyo yo kle. Se konsa, yo gen S3 bokit yo pouse tout zafè yo binè nan. Lè sa a, yo gen Dosye Dynamo DB ki pwen moun ki bay moun S3 twa objè yo. Lè yo bezwen fè yon gade nan yon videyo, yo gade moute dosye a nan Dynamo DB. Yo klike sou lyen an. Yo rale desann videyo a soti nan S3. Se konsa, sa a, se kalite ki sa sa a sanble. Lè sa a se dwat soti nan ekip yo. Dynamo DB diminye yo tan livrezon pou evènman videyo soti nan senk a 10 segonn. Nan fin vye granmoun magazen relasyon yo, yo te konn itilize gen yo ale ak egzekite miltip queries konplèks nan figi konnen ki videyo ki rale desann, nan mwens pase 50 milisgond. Se konsa, li nan etonan, etonan konbyen lajan pèfòmans ou ka jwenn lè ou optimize ak ou melodi nan kache baz done sipòte modèl la aksè. Halfbrick, mesye sa yo, ki sa ki li, Fwi Ninja Mwen devine se bagay yo. Konsa, tout kouri sou Dynamo DB. Apre sa, mesye sa yo, yo se yon gwo ekip devlopman, gwo devlopman magazen yo. Pa yon bon OPS ekip. Yo pa t 'gen yon anpil nan resous operasyon. Yo te gen difikilte ap eseye kenbe enfrastrikti aplikasyon yo moute ak kouri. Yo te vin yo ban nou. Yo gade ki Dynamo DB. Yo reponn li: sa a, se pou nou. Yo bati antye yo fondasyon aplikasyon sou li. Gen kèk kòmantè vrèman bèl isit la soti nan ekip la sou kapasite yo kounye a konsantre sou bilding jwèt la epi yo pa gen yo kenbe nan enfrastrikti, ki te vin yon kantite lajan menmen a sou tèt pou ekip yo. Se konsa, sa a se yon bagay nan that-- benefisye ke ou jwenn soti nan Dynamo DB. Tout dwa, trape nan done modèl isit la. Apre sa, nou te pale yon ti kras sou yon sèl sa a nan yon sèl, youn nan anpil moun, ak anpil nan relasyon kalite anpil moun. Ak ki jan ou kenbe moun ki nan Dynamo. Nan Dynamo DB nou itilize endis, jeneralman pale, vire done ki nan youn gou nan lòt la. Kle regle, kle seri, ak endis. Nan sa a an patikilye egzanp, kòm pifò eta gen yon kondisyon lisans ki sèlman lisans yon sèl chofè a pou chak moun. Ou pa ka ale nan jwenn de chofè a lisans nan eta a nan Boston. Mwen pa ka fè l 'nan Texas. Sa a kalite wout la li ye. Se konsa, nan DMV a, nou gen rchèrch, nou vle gade moute lisans chofè a pa kantite a sekirite sosyal. Mwen vle yo gade jiska detay yo itilizatè pa kantite lisans pou kondwi a. Se konsa, nou ta ka gen tab yon itilizatè a ki gen yon kle regle sou kantite a seri, oswa nimewo a sekirite sosyal, ak atribi divès kalite defini sou atik la. Koulye a, sou ki tab mwen te kapab defini yon GSI ki viraj ke alantou ki di mwen vle yon kle regle sou lisans lan ak Lè sa a tout lòt atik yo. Koulye a, si mwen vle sijè rechèch epi jwenn nan nimewo lisans pou nenpòt ki Sosyal bay Nimewo Sekirite Sosyal, mwen kapab sijè rechèch tab la prensipal la. Si m 'vle sijè rechèch e mwen vle yo ka resevwa sekirite sosyal la Nimewo oswa lòt atribi pa yon nimewo lisans, mwen ka sijè rechèch GSI a. Modèl Sa se ke yon moun nan yon sèl relasyon. Jis yon trè senp GSI, baskile bagay sa yo alantou. Koulye a, pale sou youn nan anpil moun. Youn nan anpil se fondamantalman seri regle ou kle. Ki kote nou jwenn yon anpil ak sa a itilize a se done pou kontwole. Done ki monitè kè bebe vini nan regilye entèval, tankou entènèt de bagay sa yo. Nou toujou jwenn tout bagay sa yo dosye vini nan tout tan tout tan an. Apre sa, mwen vle jwenn tout lekti yo ant yon peryòd tan an patikilye. Li se yon trè komen nan query siveyans enfrastrikti. Fason ale nan sou sa se jwenn yon estrikti tab senp, yon sèl tab. Mwen te gen yon tab mezi aparèy ak yon kle regle sou ID a aparèy. Apre sa, mwen gen yon kle seri sou mòn lan timestamp, oswa nan ka sa a, sezon an. Epi sa m 'pèmèt egzekite konplèks queries kont ke kle seri epi retounen dosye sa yo ki se relatif nan rezilta a mete ke mwen kap chèche. Epi, se bati ke youn nan anpil relasyon nan tab la prensipal lè l sèvi avèk la regle kle, Santral kle estrikti. Se konsa, ki nan kalite bati nan tab la nan Dynamo DB. Lè m 'defini yon regle ak seri t tab, mwen se defini yon yon sèl nan anpil relasyon. Li se yon relasyon paran-timoun. Se pou nou pale sou anpil nan relasyon anpil moun. Se pou sa a egzanp patikilye, ankò, nou ap ale nan sèvi ak GSI a. Li kite yo pale sou Gaming senaryo kote mwen gen yon itilizatè bay yo. Mwen vle chèche konnen tout jwèt yo ki li te anrejistre pou oswa ap jwe nan. Se pou yon jwèt yo bay yo, Mwen vle jwenn tout itilizatè yo. Se konsa, kouman mwen fè sa? Mwen tab itilizatè jwèt, mwen pral gen yon kle regle nan ID itilizatè ak yon kle seri de jwèt lan. Se konsa, yon itilizatè ka gen plizyè jwèt. Li se yon youn nan anpil relasyon ant kap itilize li an ak jwèt yo li jwe. Lè sa a, sou GSI a, Mwen pral baskile ki alantou. Mwen pral Hash sou jwèt la ak Mwen pral varye sou itilizatè a. Se konsa, si mwen vle jwenn nan tout jwèt la nan itilizatè ap jwe nan, Mwen pral sijè rechèch tab la prensipal la. Si m 'vle jwenn tout itilizatè yo ke yo jwe yon jwèt patikilye, Mwen sijè rechèch GSI a. Se konsa, ou wè ki jan nou fè sa? Ou bati sa yo GSI nan sipòte a itilize ka, aplikasyon an, aksè a modèl, aplikasyon an. Si mwen bezwen sijè rechèch sou sa a dimansyon, se pou m 'kreye yon endèks sou sa dimansyon. Si m 'pa fè sa, mwen pa pran swen. E li depan de ka a itilize, mwen ka bezwen endèks la oswa m 'pa. Si li nan yon yon sèl senp yo anpil, tab la prensipal se amann. Si m 'bezwen fè sa yo anpil yo anpil a, oswa mwen bezwen fè youn nan yo menm, Lè sa a, petèt mwen bezwen nan dezyèm endèks la. Se konsa, li tout depann sou sa m ap eseye fè ak sa m ap ap eseye jwenn akonpli. Pwobableman mwen pa pral depanse twò anpil tan ap pale de dokiman yo. Sa a vin yon ti jan, pwobableman, pi fon pase nou bezwen ale nan. Se pou nou pale yon ti kras sou moun rich sijè rechèch ekspresyon. Se konsa, nan Dynamo DB nou gen kapasite a yo kreye sa nou rele ekspresyon pwojeksyon. Ekspresyon pwojeksyon yo se tou senpleman davwa jaden yo oswa valè yo ke ou vle montre. OK, se konsa mwen fè yon seleksyon. Mwen fè yon demann kont Dynamo DB. Apre sa, mwen di, ou konnen ki sa, montre mwen sèlman senk kòmantè yo zetwal pou sa a pwodwi patikilye. Se konsa, sa a, se tout mwen vle wè a. Mwen pa vle wè nan tout atribi figi lòt nan ranje a, Mwen jis vle wè sa a. Li nan jis tankou nan SQL lè ou di chwazi zetwal oswa nan tab, ou jwenn tout bagay. Lè m 'di chwazi non soti nan tab, mwen sèlman jwenn youn atribi. Li nan kalite la menm nan bagay nan Dynamo DB oswa yon lòt baz done NoSQL. Ekspresyon Filter pèmèt mwen fondamantalman koupe rezilta nan mete desann. Se konsa, mwen fè yon rechèch. Rekèt yo p'ap kapab vin tounen ak 500 atik yo. Men, mwen sèlman vle atik yo ke gen yon atribi ki di sa a. OK, se konsa kite a met deyò ansyen lwil atik sa yo ki pa matche ak ki sijè rechèch an patikilye. Se konsa, nou gen ekspresyon filtre. Ekspresyon Filter kapab dwe kouri sou nenpòt atribi. Yo pa ap renmen queries pòte. Leve queries gen plis selektif. Queries Filter mande pou m 'ale jwenn rezilta yo tout antye ak Lè sa a mete skilte soti done yo mwen pa vle. Poukisa se ke enpòtan? Paske mwen li li l 'tout. Nan yon query, mwen pral pou li e pou li nan pral fè yon jeyan sou done. Lè sa a, mwen pral skilte soti ki sa mwen bezwen. Men, si mwen sèlman Sur soti yon koup la ranje, lè sa a sa a, se OK. Li nan pa konsa pou sa rezèvwa. Men, si mwen li yon pil antye nan done, jis yo skilte soti yon atik, Lè sa a, mwen pral yo dwe pi bon koupe lè l sèvi avèk yon sijè rechèch ranje, paske li nan pi plis selektif. Li nan ale nan delivre m 'yon anpil nan lajan, paske mwen peye pou ki li. Ki kote rezilta yo ki vini tounen travèse ki fil ta ka ki pi piti, men mwen peye pou lecture an. Se konsa, konprann ki jan w ap vin done a. Sa a trè enpòtan nan Dynamo DB. Ekspresyon kondisyonèl, sa a se sa ou ta ka rele optimis bloke. Mizajou SI egziste, oswa si sa a valè ki ekivalan a sa mwen presize. Men, si mwen gen yon koupon pou achte tan sou yon dosye, mwen ta ka li done yo. Mwen ta ka chanje sa done. Mwen ta ka ale ekri ki done tounen nan baz done a. Si yon moun chanje dosye a, timestamp la ta ka chanje. Apre sa, nan fason sa a kondisyonèl mwen aktyalizasyon te kapab di aktyalizasyon si timestamp la egal sa a. Ou aktyalizasyon a ap kraponnen yon moun mete ajou dosye a nan entre-temps la. Sa a ki sa nou rele optimis bloke. Sa vle di ke yon moun ka vini nan ak chanje li, ak mwen pral detekte li lè m 'ale tounen nan ekri. Lè sa a, mwen ka aktyèlman li sa done ak di, oh, li chanje sa a. Mwen bezwen nan kont pou sa. Apre sa, mwen ka chanje done ki nan mwen an dosye ak aplike yon lòt aktyalizasyon. Se konsa, ou ka trape moun incrémentielle dènye ki rive ant tan an pou w li yo ak nan done tan ou ta ka ekri done yo. ODYANS: Apre sa, filtè a ekspresyon aktyèlman vle di pa nan kantite a oswa not-- [Entèrpozisyon vwa] RICK Houlihan: Mwen pa pral jwenn twòp nan sa a. Sa a se yon mo kle rezève. View nan liv se yon rezève mo kle nan Dynamo DB. Chak baz done li gen pwòp rezève non pou koleksyon ou pa kapab itilize. Dynamo DB, si ou presize yon liv nan devan sa a, ou ka defini sa yo non moute pi wo a. Sa a se yon valè referans. Li pwobableman pa sentaks ki pi bon yo gen 'kanpe pou diskisyon sa a, paske li vin nan kèk real-- Mwen ta gen tan te pale plis sou sa nan yon nivo pi fon. Men, sifi yo di, sa a te kapab gen query analysis kote yo views-- ni opinyon liv gen plis pouvwa pase 10. Li se yon valè nimerik, wi. Si ou vle, nou ka pale sou ke apre diskisyon an. Tout dwa, se konsa nou ap vin nan kèk senaryo nan pi bon pratik kote nou ap ale nan pale sou kèk apps isit la. Ki sa ki itilize ka yo pou Dynamo DB. Ki sa ki desen an modèl nan Dynamo DB. Yonn nan premye nou ap ale nan pale sou se entènèt la de bagay sa yo. Se konsa, nou jwenn yon anpil de- mwen devine, ki sa ki l-- plis pase 50% nan trafik sou entènèt la jou sa yo se aktyèlman ki te pwodwi pa pou machin avanse, pwosesis otomatik ki fonksyone, pa pa moun. Mwen vle di bagay sa a bagay sa a ki ou pote alantou nan pòch ou, konbyen lajan done ki ki bagay se aktyèlman voye alantou san yo pa ou konnen li se absoliman dwòl. Kote ou ye, enfòmasyon sou ki jan vit ou ap ale. Kijan ou panse Google Maps travay lè yo di w ki sa trafik la se. Li nan paske gen dè milyon ak dè milyon de moun kondwi ozalantou ak telefòn ki ap voye done sou tout plas tout tan tout tan an. Se konsa, youn nan bagay ki sou sa a ki kalite done ki vini nan, done pou kontwole, ouvri sesyon done, done seri tan, se li nan anjeneral sèlman enteresan pou yon ti kras nan tan. Apre tan sa a, li nan pa konsa pou sa ki enteresan. Se konsa, nou te pale osijè de, pa kite moun tab grandi san yo pa limit. Lide a isit la se ke petèt mwen te gen 24 èdtan vo nan evènman nan tablo cho m 'yo. Epi sa tab cho a pwal pwovisyon nan yon pousantaj trè wo, paske li nan pran yon anpil nan done. Li nan pran yon anpil nan done nan ak mwen li li yon anpil. Mwen te gen yon anpil nan operasyon queries kouri kont ke done. Apre 24 èdtan, hey, ou konnen ki sa, mwen pa pran swen. Se konsa, petèt chak minwi mwen woulo liv tab mwen nan men yon tab nouvo ak mwen deprovision tablo sa a. Apre sa, mwen pral pran ak RCU nan Desann WCU a paske 24 èdtan pita Mwen pa kouri kòm anpil queries kont ki done. Se konsa, mwen pral pou konsève pou lajan. E petèt 30 jou apre mwen pa fè sa menm bezwen pran swen sou li tout. Mwen te kapab pran nan nan WCU tout wout la desann nan yon sèl, paske ou konnen ki sa, li nan pa janm ale nan jwenn ekri nan. Done a se 30 jou fin vye granmoun. Li pa janm chanje. Apre sa, li nan prèske pa janm pral jwenn li, se konsa kite yo jis pran ki RCU desann nan 10. Apre sa, mwen ekonomize yon tòn lajan sou sa a done, epi sèlman peye pou done cho m 'yo. Se konsa, sa a, se bagay la enpòtan yo gade a lè ou gade nan yon seri tan done vini nan nan volim. Sa yo se estrateji. Koulye a, mwen te kapab jis kite l tout ale sou tab la menm ak jis kite sa tab grandi. Evantyèlman, mwen pral wè pwoblèm pèfòmans. Mwen pral gen yo kòmanse achiv kèk nan ki done sou tab la, sa ki pa. Se pou yo pi bon konsepsyon aplikasyon w lan pou ke ou ka opere fason sa a dwat. Se konsa, li nan jis otomatik nan kòd la aplikasyon. Nan mitan lannwit chak swa li woule tab la. Petèt sa mwen bezwen se yon ti kraze fenèt nan 24 èdtan ak done yo. Lè sa a, sou yon baz regilye mwen se rele done koupe tab la. M 'ap rediksyon l' ak yon Travay kron ak mwen mete l ' sou sa yo lòt tab, tou sa ou bezwen. Se konsa, si yon anime ap travay, sa a, se gwo. Si ou pa, taye li. Men, kite a kenbe ke done cho lwen done frèt ou yo. Li pral delivre ou yon anpil lajan ak fè tab ou plis pèfòmans. Se konsa, bagay la pwochen nou pral pale sou se pwodwi katalòg. Pwodwi catalogue se itilize bèl komen ka. Sa a se aktyèlman yon modèl trè komen ke nou pral wè nan yon varyete de bagay sa yo. Ou konnen, Twitter pou egzanp, yon tweet cho. Tout moun la ap vini ak arachman ki tweet. Pwodwi katalòg, mwen te resevwa yon sale. Mwen te resevwa yon sale cho. Mwen te resevwa 70,000 demann pou chak dezyèm vini pou yon pwodui deskripsyon soti nan katalòg pwodwi m 'yo. Nou wè sa a sou Yo Vann an Detay nan operasyon byen yon ti jan. Se konsa, kouman nou fè fas ak sa? Gen nan pa gen fason fè fas ak sa. Tout moun kap sèvi m 'vle wè moso nan menm nan done. Yo ap ap vini nan, tann. Apre sa, yo ap tout fè demann pou moso nan menm nan done. Sa a bay m 'ki kle cho, ki gwo wouj foule sou tablo m 'ke nou pa renmen. Epi sa a, ki sa sa sanble. Se konsa, nan tout espas kle m 'mwen ap resevwa kouch nan atik yo vann. Mwen ap resevwa pa gen anyen nenpòt lòt kote. Kouman pou mwen soulaje pwoblèm sa a? Bon, nou soulaje sa a ak kachèt. Cache, ou mete fondamantalman yon nan-memwa patisyon nan devan baz done a. Nou te jere [Fèbl] kachèt, ki jan ou ka mete kanpe kachèt pwòp ou a, [fèbl] kachèt [? d,?] tou sa ou vle. Mete ki moute nan devan baz done a. Apre sa, nan fason sa a ou ka magazen ke done nan men moun kle cho moute nan ki kachèt espas ak li nan kachèt la. Lè sa a, pi fò nan ou a li kòmanse kap tankou sa a. Mwen te resevwa tout bagay sa yo kachèt frape moute isit la ak mwen te resevwa pa gen anyen ale sou desann isit la paske baz done ki chita dèyè nan kachèt epi pa janm ou te ka li vin nan nan. Si m 'chanje done ki nan la baz done, mwen gen yo mete ajou kachèt a. Nou ka sèvi ak yon bagay tankou vapeur fè sa. Apre sa, mwen pral eksplike ki jan ki travay. Tout dwa, messagerie. Imèl, nou tout sèvi ak imel. Sa a se yon trè bon egzanp. Nou te gen kèk sòt de mesaj tab. Apre sa, nou te resevwa bwat resepsyon ak outbox. Sa a se sa SQL an ta gade renmen bati ki bwat resepsyon. Nou kalite itilize kalite a menm nan estrateji yo sèvi ak GSI a, GSI a pou bwat resepsyon mwen ak outbox mwen. Se konsa, mwen te resevwa mesaj anvan tout koreksyon vini nan tab mesaj mwen. Ak apwòch nan premye nan sa a ta kapab, di, OK, pa gen pwoblèm. Mwen te gen mesaj anvan tout koreksyon. Mesaj vini [fèbl], mesaj ID, sa a, se gwo. Sa a regle inik mwen. Mwen pral kreye de GSI a, yon sèl pou bwat resepsyon mwen, yonn pou outbox mwen. Apre sa, premye bagay la mwen pral fè se mwen pral di kle regle mwen an se pral fè moun k ap resevwa a ak Mwen pral pou fè aranjman pou nan dat la. Sa a se kokenn. Mwen te resevwa gade bèl m 'isit la. Men, gen nan yon ti kras pwoblèm isit la. Epi ou kouri antre nan sa a nan baz done relasyon kòm byen. Yo rele vètikal séparation. Ou vle kenbe done gwo ou lwen done ti kras ou. Ak rezon an pou kisa se paske mwen oblije ale li atik yo yo ka resevwa atribi yo. Men, si kò m ', se tout sou isit la, Lè sa a, lekti atik jis yon kèk si longè kò mwen an se moyenne 256 kilookte chak, matematik la vin trè lèd. Se konsa, di mwen vle li bwat resepsyon David. Bwat resepsyon David la gen 50 atik yo. Mwayèn nan ak gwosè se 256 kilookte. Isit la nan rapò konvèsyon mwen pou RCU la se kat kilookte. OK, se pou yo ale ak evantyèlman ki konsistan li. Mwen toujou manje 1600 RCU la jis li bwat resepsyon David. Ouch. OK, kounye a kite a panse sou ki jan app a fonksyone. Si m 'se nan yon app imel ak M 'ap chache nan bwat resepsyon mwen an, ak mwen gade nan kò a nan chak mesaj, pa gen okenn, M 'ap chache nan rezime yo. M 'ap chache nan sèlman tèt yo. Se konsa nou bati yon estrikti tab ki sanble pi plis tankou sa. Se konsa, isit la nan enfòmasyon ki ki workflow m 'bezwen. Li nan nan bwat resepsyon GSI mwen. Li nan dat la, moun k la, sijè a, ak Lè sa a ID a mesaj, ki pwen tounen nan tab la mesaj ki kote mwen ka jwenn kò a. Oke, sa yo ta dwe idantite dosye-li. Yo ta tounen nan pwen an idantite atik sou tab la Dynamo DB. Chak endèks toujou creates-- toujou gen atik la ID kòm yon pati de- ki vini ak endèks la. Tout dwa. ODYANS: Li di li kote li nan ki estoke? RICK Houlihan: Wi, li di exactly-- sa a, se ekzakteman ki sa li fè sa. Li di isit la nan dosye re m 'yo. Epi, se pral pwen l 'tounen nan dosye re m' yo. Egzakteman. OK, se konsa kounye a bwat resepsyon mwen an se aktyèlman pi piti anpil. Lè sa a aktyèlman sipòte workflow la nan yon app imel. Se konsa, bwat resepsyon mwen, mwen klike sou. M 'ale ansanm ak mwen klike sou mesaj la, sa a, se lè mwen bezwen ale jwenn kò a, paske mwen pral ale nan yon View diferan. Se konsa, si ou panse sou mv di ki kalite fondasyon, modèl View kontwolè. Modèl la gen nan done ki bezwen yo gade ak kontwolè a reyaji ak. Lè m 'chanje ankadreman an, lè Mwen chanje pèspektiv a, li a OK pou tounen nan la sèvè ak rpeple modèl la, paske se sa ki itilizatè a espere. Lè yo chanje opinyon, ki a lè nou ka ale tounen nan baz done a. Se konsa, imel, klike sou. M 'ap chache kò a. Ale retou. Ale jwenn kò a. Mwen li yon anpil mwens done. M 'ap sèlman lekti kò yo nan ki David bezwen lè li bezwen yo. Apre sa, mwen pa ap boule nan 1600 RCU yo jis yo montre bwat resepsyon l 'yo. Se konsa, kounye that-- sa a se yon fason a ki LSI oswa GSI-- Mwen regrèt sa, GSI, ta travay deyò. Nou te gen regle nou sou moun k ap resevwa a. Nou te gen kle a ranje nan dat la. Apre sa, nou te gen atribi ki projetée ke nou bezwen sèlman nan sipòte gade nan. Nou Thorne ke pou outbox la. Hash sou moun k. Apre sa, nan sans, nou gen trè bèl, pwòp gade nan. Lè li nan basically-- nou gen sa a bèl mesaj tab ki nan ke yo te gaye joliman paske li nan regle sèlman, ache ID mesaj. Apre sa, nou gen de endis ki yo wotasyon koupe nan ki tab. Tout dwa, se konsa lide isit la se pa fè kenbe done yo gwo ak done sa a ti ansanm. Patisyon vètikal, patisyon moun tab. Pa li done ou pa bezwen. Tout dwa, Gaming. Nou tout renmen jwèt. Omwen mwen renmen jwèt lè sa a. Se konsa, kèk nan bagay sa yo ke nou fè fas ak lè nou ap panse sou bank, dwa? Gaming jou sa yo, espesyalman mobil bank, se tout sou panse. Apre sa, mwen pral Thorne isit la yon ti jan lwen DynamoDB. Mwen pral pote nan kèk nan diskisyon an alantou kèk nan la lòt teknoloji AWS. Men, lide a sou Gaming se panse sou an tèm de APIs, APIs ki, jeneralman pale, HTTP ak JSON. Li nan ki jan mobil jwèt kalite kominike avèk tounen bout yo. Yo fè JSON afiche. Yo jwenn done, ak li nan tout, jeneralman pale, nan APIs JSON bèl. Bagay sa yo tankou jwenn zanmi, jwenn Leaderboard, echanj done yo, itilizatè te pwodwi kontni, pouse tounen moute nan sistèm lan, sa yo, se kalite de bagay sa yo ke nou ap pral fè. Binè done byen, sa a done pa ta ka chita nan baz done a. Sa a ta ka chita nan yon magazen objè, dwa? Men, baz done a ki pral fini di sistèm nan, di aplikasyon an ki kote yo ale jwenn li. Apre sa, inevitableman, multijoueurs serveurs, enfrastrikti fen tounen, ak ki fèt pou wo disponiblite ak évolutivité. Se konsa, sa yo, se bagay sa yo ke nou tout vle nan enfrastrikti a Gaming jodi a. Se konsa, kite a pran yon gade nan ki sa sa sanble. Got yon fen nwayo tounen, trè senp. Nou te gen yon sistèm isit la ak zòn disponiblite miltip. Nou te pale de AZS kòm being-- panse nan yo tankou sant done ki apa a. Sant plis pase yon done pou chak AZ, men sa a OK, jis panse nan yo kòm done separe sant ki jewografik ak fòt izole. Nou pral gen yon koup EC2 ka. Nou ap ale nan gen kèk fen sèvè tounen. Petèt si ou se yon eritaj achitekti, nou ap lè l sèvi avèk sa nou rele RDS, baz done sèvis relasyon. Ta ka MSSQL, miskl, oswa yon bagay tankou sa. Sa a se fason yon anpil aplikasyon pou yo fèt jodi a. Oke nou ta ka vle ale ak sa a se lè nou echèl deyò. Nou pral ale pi devan epi mete bokit la S3 'kanpe. Epi sa bokit S3, olye pou yo k ap sèvi moute moun ki objè soti nan serveurs nou an nou te ka fè sa. Ou mete tout binè ou objè sou serveurs ou epi ou ka sèvi ak sa yo sèvè sikonstans yo sèvi ke done yo. Men, sa a bèl chè. Pi bon fason yo fè se ale pi devan epi mete moun ki objè nan yon bokit S3. S3 se yon objè zarchiv. Li nan bati espesyalman pou sèvi moute sa yo kalite bagay sa yo. Se pou moun ki kliyan mande ki sòti dirèkteman nan moun bokit objè, debake serveurs yo. Se konsa, nou ap kòmanse selon echèl la soti isit la. Koulye a, nou te resevwa itilizatè nan tout mond lan. Mwen te resevwa itilizatè. Mwen bezwen gen kontni lokalman ki sitiye tou pre nan itilizatè sa yo, dwa? Mwen te kreye yon bokit S3 kòm repozitwa sous m 'yo. Epi mwen pral devan ke ak distribisyon an CloudFront. CloudFront se yon CD ak yon kontni livrezon rezo-a. Fondamantalman li pran done ki ou presize ak kachèt li tout lòt peyi sou entènèt la se konsa itilizatè toupatou ka gen yon repons trè rapid lè yo mande moun ki objè. Se konsa, ou jwenn yon lide. W ap kalite swe tout nan aspè nan AWS la a yo ka resevwa sa a fè. Ak evantyèlman, nou voye jete nan yon gwoup Eskalad oto. Se konsa, ka AC2 nou an nan serveurs jwèt nou an, menm jan yo kòmanse jwenn okupe ak okupe ak okupe, yo pral jis vire yon lòt egzanp, vire yon lòt egzanp, vire yon lòt egzanp. Se konsa, teknoloji a AWS gen, li pèmèt ou presize paramèt yo alantou ki serveurs ou ap grandi. Se konsa, ou ka gen nimewo N nan serveurs yo deyò nan nenpòt ki lè bay yo. Men, si chay ou ale lwen, yo pral retresi, nimewo a ap retresi. Men, si chay la vini tounen, li pral grandi tounen soti, elastic. Se konsa, sa sanble gwo. Nou te gen yon anpil nan sikonstans EC2. Nou ka mete kachèt nan devan baz done yo, eseye ak akselere baz done yo. Pwen an presyon pwochen tipikman moun wè se yo echèl yon jwèt w ap itilize yon relasyon baz done sistèm. Jeez, baz done a pèfòmans se terib. Ki jan nou amelyore sa? Ann eseye mete kachèt nan devan sa. Oke, kachèt pa travay tèlman gwo nan jwèt, dwa? Pou jwèt, ekri se ki fè mal. Jwèt sont trè ekri lou. Cache pa travay lè w ap ekri lou paske ou te toujou te rive nan mete ajou kachèt a. Ou mete ajou kachèt a, li nan petinan yo dwe caching. Li nan aktyèlman jis travay siplemantè. Se konsa, kote nou ale isit la? Ou te gen yon gwo konstriksyon desann gen nan baz done a. Apre sa, kote yo ale evidamman se séparation. Séparation se pa fasil fè lè w ap fè fas ak baz done relasyon. Avèk baz done relasyon, w ap responsab pou jere, efektivman, kle espas ki la. W ap di itilizatè ant A ak M ale isit la, ant N ak Z ale la. Apre sa, w ap oblije chanje atravè aplikasyon an. Se konsa, ou ap fè fas ak sa a patisyon done sous. Ou gen kontrent transactionnelle ki pa travès Partitions. Ou te gen tout kalite messiness ke w ap fè fas ak desann gen ap fè fas ak dekale soti ak bati yon enfrastrikti ki pi gwo. Li nan jis pa gen okenn plezi. ODYANS: Se konsa, ou menm ki di ke ogmante pwen sous vitès moute pwosesis la? RICK Houlihan: Ogmante? ODYANS: Sous pwen. RICK Houlihan: Sous pwen? ODYANS: Soti nan enfòmasyon an, kote enfòmasyon an ap vini soti nan? RICK Houlihan: No Sa mwen ap di la a se ogmante nan kantite Partitions nan magazen an done amelyore debi. Se konsa, sa k ap pase isit la se itilizatè vini nan egzanp lan EC2 moute isit la, byen, si mwen bezwen yon itilizatè sa a, se A jiska M, mwen pral ale isit la. Soti nan N p, mwen pral ale isit la. Soti nan P jiska Z, mwen pral ale isit la. ODYANS: OK, sa yo ki se konsa sa yo se tout ki estoke nan nœuds diferan? RICK Houlihan: Wi. Panse a sa yo kòm klwazon diferan nan done. Se konsa, ou ap gen fè sa. Si w ap ap eseye fè sa a, si w ap eseye selon echèl la sou yon platfòm relasyon, sa a se sa w ap fè. W ap pran done ak w ap koupe l '. Apre sa, w ap séparation li nan tout miltip chans pou yo baz done a. Apre sa, w ap jere tout sa ki a niveau aplikasyon an. Li nan okenn plezi. Se konsa, sa nou vle ale? Nou vle ale DynamoDB, totalman jere, NoSQL done magazen, dispozisyon debi. Nou itilize endis segondè. Li nan fondamantalman HTTP API ak gen ladan dokiman sipò. Se konsa, ou pa gen enkyete sou nenpòt nan sa jwe wòl. Nou fè l 'tout pou ou. Se konsa, kounye, olye de sa, ou jis ekri sou tab la. Si tab la bezwen yo dwe partition, ki k ap pase dèyè sèn nan. W ap konplètman izole soti nan ke kòm yon pwomotè. Se konsa, kite nan pale sou kèk nan sèvi ak ka yo ke nou kouri antre nan nan bank, komen senaryo bank, Leaderboard. Se konsa, ou te gen itilizatè vini an, BoardNames yo ke yo ap sou li a, nòt yo pou itilizatè sa a. Nou ta ka achin sou user_id a, ak Lè sa a nou gen ranje sou jwèt la. Se konsa, chak itilizatè vle wè tout jwèt la li te te jwe ak tout nòt tèt li atravè tout jwèt lan. Se konsa, sa a, se Leaderboard pèsonèl li. Koulye a, mwen vle ale nan ak mwen vle get-- Se konsa, mwen jwenn Klasman pèsonèl sa yo. Ki sa mwen vle fè se ale jwenn nòt nan tèt atravè tout itilizatè. Se konsa, kouman mwen fè sa? Lè yo dosye mwen ache sou user_id la, alan sou jwèt la, byen mwen pral ale pi devan ak restriktire, kreye yon GSI, ak mwen pral yo restriktire ki done. Koulye a, mwen pral Hash sou mòn lan BoardName, ki se jwèt lan. Apre sa, mwen pral varye sou nòt nan tèt. Epi kounyeya, m te kreye bokit diferan. Mwen lè l sèvi avèk tab la menm, atik done yo menm. Men, mwen kreye yon bokit ki bay m 'yon agrégation nan pwen an tèt pa jwèt. Apre sa, mwen ka sijè rechèch ki tab yo ka resevwa enfòmasyon sa a. Se konsa, mwen te mete ke modèl query jiska ap sipòte pa yon endèks segondè. Koulye a, yo ka Ranje pa BoardName ak Ranje pa TopScore, tou depann de. Se konsa, ou ka wè, sa yo, se kalite a sèvi ak ka ou jwenn nan Gaming. Yon lòt bon ka itilize nou jwenn nan bank se prim ak ki moun ki nan te genyen prim yo. Lè sa a se yon gwo itilize ka kote nou rele endis rar. Endis rar yo nan kapasite yo jenere yon endèks ki fè pa nesesèman gen chak atik sèl sou tab la. Epi poukisa pa? Paske atribi la ki nan ke yo te Catalogue pa egziste sou chak atik. Se konsa, nan sa a an patikilye itilize ka, m ap di, ou konnen ki sa, mwen pral kreye yon atribi rele prim. Apre sa, mwen pral bay chak itilizatè ki gen yon prim ki atribi. Itilizatè yo ki pa gen prim yo pa ale nan gen sa atribi. Se konsa, lè mwen kreye nan endèks, itilizatè yo sèlman ke yo pral montre moute nan endèks la yo se sa yo ki aktyèlman gen te genyen prim. Se konsa, sa a, se yon bon fason yo kapab yo kreye filtre endis ki yo trè, trè selektif ki pa fè sa gen endèks tab la tout antye. Se konsa, nou ap vin ba sou tan isit la. Mwen pral ale pi devan epi sote deyò epi yo sote senaryo sa a. Pale yon ti jan sou- ODYANS: Èske mwen ka poze yon kesyon rapid? Youn nan se ekri lou? RICK Houlihan: Ki sa ki? ODYANS: Ekri lou. RICK Houlihan: Ekri lou. Ban mwen wè. ODYANS: Oubyen èske ki pa yon bagay ou ka jis vwa ki di nan yon kesyon de segonn? RICK Houlihan: Nou ale a senaryo a vote. Li pa ke move. Èske ou nèg gen yon kèk minit? OK. Se konsa, nou pral pale sou vòt yo. Se konsa, tan reyèl pou vote, nou gen kondisyon pou vote. Kondisyon yo se ke nou pèmèt chak moun yo vote yon sèl fwa. Nou vle pèsonn pa yo dwe kapab chanje vòt yo. Nou vle nan tan reyèl agrégation ak analytics pou démographie ke nou ap pral fè ki montre nan itilizatè sou sit la. Panse a senaryo sa a. Nou travay yon anpil nan reyalite Televizyon montre kote yo ap fè sa yo di ki egzak la bagay sa yo. Se konsa, ou ka panse a senaryo a, nou gen dè milyon ak dè milyon a jèn ti fi gen ak telefòn selilè yo ak vote, ak pou vote, ak vote pou moun ki va yo jwenn yo dwe ki pi popilè a. Se konsa, sa yo, se kèk nan la kondisyon nou kouri deyò. Se konsa, premye a pran nan rezoud pwoblèm sa a ta dwe bati yon trè senp aplikasyon. Se konsa, mwen te gen app sa a. Mwen gen kèk votè yo deyò. Yo vini nan yo, yo frape app a vote. Mwen te gen kèk vote tab anvan tout koreksyon Mwen pral jis pil fatra sa yo vote nan. Mwen pral gen kèk total vote tab ki pral fè analytics m 'ak démographie, epi nou pral mete tout bagay sa a nan la. Lè sa a se gwo. Lavi se bon. Lavi a bon jiskaske nou jwenn ke gen nan toujou yon sèl oswa de moun ki popilè nan yon eleksyon. Genyen sèlman youn oubyen de bagay ke gen moun ki reyèlman sousye de. Men, si w ap vote nan echèl, tout nan yon toudenkou mwen se ale nan dwe rakle lanfè a soti nan de kandida yo, youn oubyen de kandida. Yon nimewo trè limite nan atik moun jwenn yo dwe popilè. Sa a se pa yon modèl konsepsyon bon. Sa a se aktyèlman yon trè move modèl konsepsyon paske li kreye ekzakteman ki sa nou te pale osijè de ki te kle cho. Kle cho yo se yon bagay nou pa renmen. Se konsa, kouman nou ranje sa? E reyèlman, fason ki ranje sa a se lè yo pran moun bokit kandida epi pou chak kandida nou genyen, nou ap ale nan kole se yon valè o aza, yon bagay ke nou konnen, o aza valè ant youn ak 100, ant 100 ak 1,000, oswa ant yon sèl ak 1,000, sepandan anpil valè o aza ou vle kole sou nan fen ki kandida. Ak sa ki te Mwen vrèman fè lè sa a? Si mwen lè l sèvi avèk ID a kandida kòm bokit la vote total, si mwen te ajoute yon o aza Nimewo a nan fen sa a, Mwen te kreye kounye a 10 bokit, se yon san bokit, yon mil bokit ke mwen regwoupman vote nan tout. Se konsa, mwen gen dè milyon, ak dè milyon, ak dè milyon de dosye vini nan pou kandida sa yo, mwen kounye a gaye moun vote nan tout Kandida A_1 a Kandida A_100, paske chak fwa yon vòt vini nan, M 'ap génération yon o aza valè ant youn ak 100. Mwen tacking li sou nan fen a kandida moun sa a vote pou. M 'ap moun ap jete fatra l' nan ki bokit. Koulye a, sou dèyè a, mwen konnen ke mwen te resevwa yon santèn bokit. Se konsa, lè mwen vle ale pi devan ak total vòt yo, Mwen li soti nan tout moun sa yo bokit. Se konsa, mwen ale pi devan epi ajoute. Lè sa a, mwen gaye nan ranmase kote mwen ale deyò epi yo di hey, ou konnen ki sa, kle kandida sa a espas se plis pase yon santèn bokit. Mwen pral ranmase nan tout vote nan men moun san bokit. Mwen pral regwoupe yo e yo mwen pral di, Kandida Yon kounye a gen manm konte vòt nan x. Koulye a, tou de ekri an query ak rechèch la lecture yo joliman distribiye paske mwen ekri nan tout ak mwen lekti atravè dè santèn de kle. Mwen pa ekri ak lekti atravè yon sèl kle kounye a. Se konsa, sa a, se yon gwo modèl. Sa a se aktyèlman pwobableman youn nan desen an pi enpòtan modèl pou echèl nan NoSQL. Ou gen pou wè sa a ki kalite modèl konsepsyon nan tout gou. MongoDB, DynamoDB, li fè sa pa matyè, nou tout gen fè sa. Paske lè w ap fè fas ak sa yo rasanbleman gwo, ou gen figi soti yon fason yo gaye yo soti nan tout bokit. Se konsa, sa a se wout la ou fè sa. Tout dwa, Se konsa, sa w ap fè kounye a se w ap komès sou lecture pri pou ekri évolutivité. Pri a nan mwen an se Li yon ti kras plis konplèks ak mwen gen yo ale li ki sòti nan yon san bokit olye pou yo yon sèl. Men, mwen kapab ekri. Apre sa, debi mwen, ekri mwen debi se enkwayab. Se konsa, li anjeneral yon ki gen anpil valè teknik pou dekale DynamoDB, oswa nenpòt baz done NoSQL pou ki matyè. Se konsa, nou kalkile konnen kouman selon echèl la li. Apre sa, nou kalkile ki jan yo elimine kle cho nou an. Lè sa a se kokenn. Apre sa, nou te resevwa sistèm sa a bèl. Apre sa, li nan ban nou trè kòrèk pou vote paske nou gen dosye vòt de-trompe. Li nan bati nan DynamoDB. Nou te pale de dwa kondisyonèl. Lè yon elektè vini nan, mete yon insert sou tab la, yo insert ak ID elektè yo, si yo eseye insert yon lòt vòt, Mwen fè yon ekri kondisyonèl. Di sèlman ekri sa a si sa a pa egziste. Se konsa, le pli vit ke mwen wè ke vòt la ki frape tab la, okenn lòt moun ankò nan pral fè kapab mete vòt yo nan. Epi sa a, kokenn. E nou incrementing kandida kontè nou an. Apre sa, n ap fè nou an démographie ak tou sa. Men, sa ki k ap pase si mwen aplikasyon tonbe sou? Koulye a, tout nan yon toudenkou vote yo vini nan, epi mwen pa konnen si yo ap resevwa trete nan analytics m 'ak démographie ankò. Lè aplikasyon an vini tounen moute, Ki jan lanfè a fè mwen konnen sa vote gen te trete ak ki kote mwen kòmanse? Se konsa, sa a se yon pwoblèm reyèl lè ou kòmanse fè yon gade nan sa a ki kalite senaryo. Ak ki jan nou rezoud sa? Nou rezoud li ak sa nou rele DynamoDB rwiso. Rwiso se yon tan bay lòd ak partition chanjman boutèy demi lit plen chak aksè sou tab la, chak ekri aksè nan tab la. Nenpòt done ki nan ekri nan la tab montre moute sou kouran an. Li nan fondamantalman yon keu 24 èdtan. Atik frape kouran an, y ap viv pou 24 èdtan. Yo ka li plizyè fwa. Garanti yo dwe lage sèlman yon fwa yo kouran an, te kapab dwe li nimewo N de fwa. Se konsa, sepandan anpil pwosesis ou vle konsome ke done, ou ka konsome li. Li ap parèt chak aktyalizasyon. Chak ekri pral sèlman parèt yon fwa sou kouran an. Se konsa, ou pa gen enkyete sou pwosesis li de fwa soti nan pwosesis la menm. Li nan estrikteman te bay lòd pou chak atik. Lè nou di tan te bay lòd ak partition, ou pral wè pou chak patisyon sou kouran an. Ou gen pou wè atik, dènye nan lòd. Nou pa garanti sou kouran an ke w ap pral jwenn chak tranzaksyon yo nan lòd la atravè atik yo. Se konsa, sous dlo yo idempotent. Nou tout konnen ki sa idempotent vle di? Idempotent vle di ou ka fè l ' sou, ak sou, ak sou ankò. Rezilta a nan pral fè menm bagay la. Rwiso yo idempotent, men yo gen yo dwe te jwe soti nan pwen an kòmanse, tout kote ou chwazi pou ou, nan fen a, oswa yo pa, sa pral lakòz nan valè yo menm. Menm bagay ak MongoDB. MongoDB gen yon konstwi yo rele oplog la. Li se egzak konstwi nan menm. Anpil baz done NoSQL gen konstwi sa a. Yo sèvi ak li nan fè bagay sa yo tankou replikasyon, ki se egzakteman sa nou fè ak sous dlo. ODYANS: Petèt yon erezi kesyon, men ou pale sou apps fè desann yon pou fè. Èske sous dlo garanti yo pa janm pètèt ale desann? RICK Houlihan: Yeah, sous dlo yo garanti pa janm desann. Nou jere enfrastrikti nan dèyè. sous dlo otomatikman deplwaye nan gwoup Eskalad oto yo. Nou pral ale nan yon ti kras ti jan sou sa ki rive. Mwen pa ta dwe di ke yo pa ap garanti yo pa janm ale desann. Eleman yo yo garanti a parèt nan kouran an. Ak kouran an pral aksesib. Se konsa, sa ki ale desann oswa vini tounen moute, sa ki ap pase anba. Li covers-- li a OK. Tout dwa, se konsa ou jwenn diferan kalite vi sou ekran an. Kalite ki vi ki enpòtan nan yon pwogramè tipikman yo, ki sa li te ye? Mwen jwenn gade nan fin vye granmoun. Lè yon ajou frape tab la, li pral pouse gade nan fin vye granmoun nan kouran an se konsa done ka achiv, oswa chanjman kontwòl, idantifikasyon chanjman, chanjman administrasyon yo. Imaj la nouvo, ki sa li se kounye a apre aktyalizasyon a, sa a, se yon lòt kalite de vi ou ka jwenn. Ou ka jwenn tou de imaj yo ansyen ak nouvo. Petèt mwen vle yo tou de. Mwen vle wè sa ki sa te pase. Mwen vle wè ki sa li chanje a. Mwen gen yon kalite konfòmite nan pwosesis ki kouri. Li bezwen yo verifye ke lè bagay sa yo chanje, ke yo ap nan sèten limit oswa nan sèten karakteristik. Lè sa a, petèt mwen sèlman bezwen konnen ki sa chanje. Mwen pa pran swen sa ki atik chanje. Mwen pa bezwen bezwen konnen sa atribi chanje. Mwen jis bezwen konnen ke atik yo yo te manyen. Se konsa, sa yo, se ki kalite opinyon ke ou jwenn nan kouran an epi ou ka kominike avèk yo. Aplikasyon an ki manje kouran an, sa a se kalite wout la sa a ap travay. DynamoDB kliyan mande yo pouse done nan ròch yo. Rwiso deplwaye sou sa nou rele fragman. Fragman yo scaled poukont nan tab la. Yo pa liy moute konplètman Partitions yo nan tablo ou yo. Ak rezon an pou kisa se paske yo liy moute ak kapasite a, aktyèl la kapasite de tab la. Yo deplwaye nan yo pwòp gwoup Eskalad oto, epi yo kòmanse vire soti depann sou ki jan anpil ekri ap vini an, konbyen reads-- reyèlman li nan ekri. Gen nan pa gen reads-- men ki jan anpil ekri ap vini an. Lè sa a, sou do a ka fèt, nou gen sa nou rele yon KCL, oswa Kinesis Kliyan Bibliyotèk. Kinesis se yon done kouran pwosesis teknoloji soti nan Amazon. Apre sa, sous dlo se bati sou sa. Se konsa, ou sèvi ak yon KCL pèmèt aplikasyon li kouran an. Kliyan Bibliyotèk la Kinesis aktyèlman jere travayè yo pou ou. Epi, se tou fè kèk bagay sa yo enteresan. Li pral kreye kèk tab moute nan tabl DynamoDB ou yo swiv ki atik yo te trete. Se konsa, fason sa a si li tonbe tounen, si li tonbe sou yo ak vini ak vin te kanpe tounen moute, li ka detèmine kote te li nan pwosesis kouran an. Sa a enpòtan anpil lè w ap pale de replikasyon. Mwen bezwen konnen ki sa te done te trete ak sa done gen ankò yo dwe trete. Se konsa, bibliyotèk la KCL pou sous dlo pral ba ou yon anpil nan ki fonctionnalités. Li pran swen nan tout kenbe la. Li kanpe moute yon travayè pou chak teson. Li kreye yon tab administratif pou chak teson, pou chak travayè. Ak jan travayè sa yo dife, yo kenbe moun tab pou w konnen dosye sa a te li ak trete. Lè sa a, fason sa a si pwosesis la mouri epi li vini tounen sou entènèt, li ka rezime dwa ki kote li te pran an. Se konsa, nou sèvi ak sa a pou kwa-rejyon replikasyon. Yon anpil nan kliyan gen bezwen nan deplase done oswa pati ki gen nan tab done yo otou nan rejyon yo diferan. Gen nèf rejyon tout atravè mond lan. Se konsa, gen ta kapab yon mwen need-- ta ka gen itilizatè nan pwovens Lazi, itilizatè nan kòt lès nan peyi Etazini an. Yo gen done diferan ki bezwen yo dwe lokalman distribiye. E petèt yon itilizatè ta vole soti nan Azi nan men Etazini yo, e mwen vle replike done l 'avè l'. Se konsa, lè li vin koupe avyon an, li te gen yon bon eksperyans lè l sèvi avèk app mobil l 'yo. Ou kapab sèvi ak kwa-rejyon an bibliyotèk replikasyon fè sa. Fondamantalman nou gen bay de teknoloji. Youn nan yon aplikasyon konsole ou kapab leve kanpe sou pwòp egzanp EC2 ou yo. Li kouri replikasyon pi bon kalite. Lè sa a, nou te ban nou bibliyotèk la. Bibliyotèk la ou ka sèvi ak yo bati aplikasyon pwòp ou a si ou vle fè bagay sa yo fou ak sa data-- filtre, replike sèlman yon pati nan li, Thorne done yo, deplase l 'nan yon diferan tab, sou sa ak pou fè. Se konsa, sa a, se kalite ki sa sa sanble. DynamoDB rwiso kapab trete pa sa nou rele LAMBDA. Nou mansyone yon ti kras sou evènman kondwi aplikasyon architectures. LAMBDA se yon eleman kle nan sa. LAMBDA se kòd ki dife sou demann an repons a yon evènman patikilye. Youn nan evènman sa yo te kapab fè yon dosye parèt sou kouran an. Si yon dosye parèt sou kouran an, nou pral rele fonksyon Java sa a. Oke, sa a se JavaScript, ak LAMBDA sipòte Node.js, Java, Piton, ak pral byento sipòte lòt lang tou. Apre sa, sifi yo di, li nan Kòd pi bon kalite. ekri Nan Java, ou defini yon klas la. Ou pouse Bokal moute a nan LAMBDA. Lè sa a, ou presize ki klas yo rele pou bay repons pou ki evènman. Lè sa a, enfrastrikti a LAMBDA dèyè ki pral kouri ki kòd. Sa Kòd kapab travay dosye nan kouran an. Li ka fè anyen li vle ak li. Nan ka sa egzanp patikilye, nou ap tout reyèlman fè se antre atribi yo. Men, sa a se jis kòd. Kòd ka fè anyen, dwa? Se konsa, ou ka Thorne ki done. Ou ka kreye yon View derive. Si li nan yon estrikti dokiman, ou ka plati estrikti an. Ou ka kreye endis altène. Tout kalite bagay sa yo ou kapab fè ak rwiso yo DynamoDB. E reyèlman, se sa ki ki sanble ak. Se konsa, ou jwenn sa yo dènye vini nan. Yo ap vini sou fisèl la. Yo ap li pa fonksyon an LAMBDA. Yo ap wotasyon done a ak pouse l 'kanpe nan tab derive, avize sistèm ekstèn nan chanjman, ak pouse done nan ElastiCache. Nou te pale sou jan yo ka mete kachèt a nan devan baz done a pou ke lavant senaryo. Oke sa k ap pase si mwen aktyalizasyon deskripsyon an atik? Bon, si mwen te gen yon LAMBDA fonksyon kouri sou ki tab, si mwen à deskripsyon an atik, li pral ranmase dosye a koupe kouran an, epi li pral mete ajou ElastiCache la egzanp ak done yo nouvo. Se konsa, sa a, se yon anpil nan ki sa nou fè ak LAMBDA. Li nan Kòd lakòl, konektè. Apre sa, li aktyèlman bay kapasite nan lanse ak nan kouri aplikasyon pou trè konplèks san yo pa yon sèvè dedye enfrastrikti, ki se vrèman fre. Se konsa nou tounen nan nou an an tan reyèl achitekti vote. Sa a se nouvo ak amelyore ak nou sous dlo ak KCL pèmèt aplikasyon. Menm jan ak anvan, nou kapab manyen okenn echèl nan eleksyon an. Nou renmen sa a. Nou ap fè soti rasanble gaye atravè miltip bokit. Nou te gen optimis bloke pral sou. Nou kapab kenbe votè nou an soti nan chanje vòt yo. Yo kapab sèlman vote yon sèl fwa. Sa a se kokenn. Reyèl tan tolerans fòt, évolutive agrégation kounye a. Si bagay la tonbe sou yo, li konnen ki kote yo rekòmanse tèt li lè li rive tounen moute paske nou ap lè l sèvi avèk app a KCL. Lè sa a, nou ka tou sèvi ak sa KCL aplikasyon pouse done soti rdchif pou lòt analytics app, oswa itilize MapReduce yo Elastik nan kouri an tan reyèl rasanbleman difizyon koupe nan ki done. Se konsa, sa yo, se bagay nou pa gen te pale osijè de anpil. Men, yo ap plis teknoloji ki vini pote lè w ap chèche a sa yo kalite senaryo. Tout dwa, se konsa sa a, se sou analytics ak DynamoDB rwiso. Ou ka kolekte de-trompe done, fè tout kalite nan bèl bagay, done total nan memwa, kreye sa yo tab derive. Sa se yon gwo ka itilize ki yon anpil nan kliyan ap patisipe ak, pran enbrike an pwopriyete nan tout sa yo dokiman JSON ak kreye endis adisyonèl. Nou nan fen an. Mèsi pou pote avè m '. Se konsa, kite nan pale sou achitekti referans. DynamoDB chita nan mitan an nan sa anpil nan enfrastrikti nan AWS. Fondamantalman ou ka kwòk li jiska anyen ou vle. Aplikasyon bati lè l sèvi avèk Dynamo gen ladan LAMBDA, ElastiCache, CloudSearch, pouse done yo deyò nan Elastik MapReduce, ekspòtasyon enpòte soti nan DynamoDB nan S3, tout kalite workflows. Men, pwobableman pi bon an bagay yo pale sou, ak sa a se sa ki nan reyèlman enteresan an se lè nou pale sou evènman kondwi aplikasyon yo. Sa a se yon egzanp sou yon pwojè entèn ke nou gen kote nou ap aktyèlman pibliye nan ranmase rezilta sondaj la. Se konsa, nan yon lyen imel ki nou voye soti, gen pral gen yon ti kras klike lyen di isit la yo pou yo reponn sondaj la. Lè yon moun klik ki genyen lyen ki, sa k ap pase se yo rale desann yon sekirite HTML fòm sondaj soti nan S3. Gen nan pa gen sèvè. Sa a se jis yon objè S3. Fòm ki vini leve, charj moute nan navigatè a. Li nan te resevwa Zo rèl do. Li nan te resevwa konplèks JavaScript ke li nan kouri. Se konsa, li aplikasyon trè rich kouri nan navigatè kliyan an. Yo pa konnen ke yo ap pa kominike avèk yon sèvè fen tounen. Nan pwen sa a, li la tout navigatè. Yo pibliye rezilta yo nan sa nou rele Amazon API Gateway la. API Gateway se tou senpleman yon API entènèt ke ou ka defini ak akwoche mèt fè tout sa ou vle. Nan ka sa a an patikilye, nou ap branche jiska yon fonksyon LAMBDA. Se konsa, operasyon POST mwen an se vini ki pa gen okenn sèvè. Fondamantalman ki API Gateway chita a. Li te koute m 'pa gen anyen jouk pèp kòmanse afiche nan li, dwa? Fonksyon an LAMBDA jis chita la. E pa gen anyen li te koute m 'jouk moun kòmanse frape li. Se konsa, ou ka wè, kòm volim nan ogmante, sa a, se lè akizasyon yo vini. Mwen pa kouri yon sèvè 7/24. Se konsa, mwen rale fòm lan desann sot nan bokit la, ak mwen afiche nan API la Gateway nan fonksyon an LAMBDA. Lè sa a, LAMBDA nan fonksyon di, ou konnen ki sa, mwen te gen kèk PIIs, gen kèk enfòmasyon pèsonèl idantifyab nan repons sa yo. Mwen te resevwa kòmantè vini soti nan itilizatè. Mwen te gen adrès imel. Mwen te gen usernames. Kite m 'fann sa a nan. Mwen pral jenere kèk Metadata nan dosye sa a. Apre sa, mwen pral pouse nan Metadata an DynamoDB. Apre sa, mwen te kapab ankripte tout done yo ak pouse l 'nan DynamoDB si mwen vle. Men, li la pi fasil pou m ', nan sa a itilize ka, ale pi devan yon di, Mwen pral pouse done la anvan tout koreksyon nan yon S3 bokit chiffres. Se konsa, mwen itilize bati nan s3 bò sèvè chifreman ak kle Jesyon Amazon an Lapòs lè sa a, mwen gen yon kle ki ka Thorne sou yon entèval regilye, e mwen ka pwoteje ke done PII kòm yon pati nan workflow sa a tout antye. Se konsa, sa m 'fè? Mwen te jis deplwaye yon antye aplikasyon, ak Mwen pa gen okenn sèvè. Se konsa, se sa ki evènman kondwi aplikasyon achitekti fè pou ou. Koulye a, si ou panse osijè de ka a itilize pou sa a men nou gen kliyan lòt mwen ap pale a sou achitekti sa a egzak ki kouri kanpay phenomenally gwo, ki moun ki ap chèche a sa a ak ale, o mwen. Paske kounye a, yo ka fondamantalman pouse li yo deyò, kite sa kanpay jis chita la jouk lè li lanse, epi yo pa gen enkyete yon fig frans sou ki kalite enfrastrikti ki pral yo dwe la sipòte l '. Lè sa a, le pli vit ke se ke kanpay fè, li a tankou enfrastrikti nan jis imedyatman disparèt paske gen reyèlman gen okenn enfrastrikti. Se jis kòd ki chita sou LAMBDA. Li nan done sèlman sa chita nan DynamoDB. Li se yon fason etonan yo bati aplikasyon pou. ODYANS: Se konsa, se li pi efemèr pase sa li ta dwe si li te ki estoke sou yon sèvè aktyèl? RICK Houlihan: Absoliman. Paske ki egzanp sèvè ta dwe fè yon 7/24. Li te gen yo ap disponib pou yon moun pou reponn a. Oke devine ki sa? S3 ki disponib 7/24. S3 toujou reponn. Apre sa, S3 se trè, trè bon a sèvi moute objè yo. Moun sa yo ki objè kapab dosye HTML, oswa JavaScript dosye, oswa kèlkeswa sa ou vle. Ou ka kouri aplikasyon pou entènèt trè rich soti nan S3 bokit, ak moun fè. Se konsa, sa a, se lide a isit la se jwenn lwen wout la nou itilize yo panse sou li. Nou tout te itilize yo panse nan tèm de serveurs ak tout pouvwa a. Li pa sou sa ankò. Li nan sou enfrastrikti kòm kòd. Deplwaye kòd la nan nwaj la ak kite nwaj la kouri li pou ou. Epi sa a, ki sa AWS ap eseye fè. ODYANS: Se konsa, bwat lò ou nan mitan an a API la Gateway se pa sèvè-tankou, men olye se just-- RICK Houlihan: Ou ka panse a li kòm fasad sèvè. Tout li se se li pral pran yon HTTP mande ak kat jeyografik li nan yon lòt pwosesis. Sa a tout li fè sa. Ak nan ka sa a, nou ap gewografik li nan yon fonksyon LAMBDA. Tout dwa, se konsa ke nan tout mwen te resevwa. Mèsi anpil. Mwen apresye sa. Mwen konnen nou vle yon ti jan sou tan. Ak èspere ke ou nèg te resevwa yon ti kras nan enfòmasyon ke ou ka pran jodi a. Apre sa, mwen prezante eskiz si mwen te ale sou kèk nan tèt ou, men gen nan yon anpil bon nan fondamantal konesans fondamantal ke mwen panse ke se yon bagay ki gen anpil valè pou ou. Se konsa, di ou mèsi pou gen m '. [Aplodisman] ODYANS: [fèbl] se lè ou t'ap di ou te gen yo ale nan bagay la depi nan konmansman an nan fen a yo ka resevwa valè yo dwat oswa valè yo menm, ki jan ta valè yo chanje si [fèbl]. RICK Houlihan: Oh, idempotent? Ki jan valè yo ta ka chanje? Oke, paske si mwen pa t 'kouri li tout wout la nan fen a, Lè sa a, mwen pa konnen sa chanje yo te fè nan dènye mil lan. Li pa nan pral yo dwe nan done menm jan ak sa mwen te wè. ODYANS: Oh, se konsa ou jis pa gen vinn D 'a tout antye. RICK Houlihan: Dwa. Ou gen yo ale depi nan konmansman nan fen, ak Lè sa a li a pral fè yon eta ki konsistan. Fre. ODYANS: Se konsa, ou te montre nou DynamoDB kapab fè dokiman oswa valè a kle. Apre sa, nou te pase anpil tan sou nan valè kle ak yon regle ak fason yo yo baskile l 'nan. Lè ou gade nan sa yo tab, se ke kite dèyè apwòch la dokiman? RICK Houlihan: Mwen pa t 'vle di kite li dèyè. ODYANS: Yo te separe de the-- RICK Houlihan: Avèk dokiman an apwòch, kalite a dokiman nan DynamoDB se jis panse a kòm yon lòt atribi. Li nan yon atribi ki gen yon done yerarchize estrikti. Lè sa a, nan demann yo, ou ka itilize pwopriyete yo nan tout sa yo objè lè l sèvi avèk objè Notasyon. Se konsa, mwen kapab filtre sou yon enbrike pwopriyete nan dokiman an JSON. ODYANS: Se konsa, nenpòt ki lè mwen fè yon apwòch dokiman, Mwen kapab sòt de rive nan tabular-- nan ODYANS: Absoliman. ODYANS: --indexes ak bagay ou jis te pale osijè de. RICK Houlihan: Yeah, nan endis ak tout sa ki, lè ou vle endèks la pwopriyete JSON a, fason ke nou ta gen yo fè sa se si ou insert yon objè JSON oswa yon dokiman nan Dynamo, ou ta sèvi ak sous dlo. Rwiso ta li D 'a. Ou ta jwenn ki JSON objè epi ou ta di OK, sa ki nan pwopriyete a mwen vle endèks? Ou kreye yon tab derive. Kounye a ke nan wout la li ap travay kounye a. Nou pa pèmèt ou endèks dirèkteman moun pwopriyete. ODYANS: Tabularizing dokiman ou yo. RICK Houlihan: Egzakteman, plat li, tabularizing li, egzakteman. Sa a ki sa ou fè ak li. ODYANS: Mèsi poutèt ou. RICK Houlihan: Oui, absoliman, di ou mèsi. ODYANS: Se konsa, li nan kalite Mongo satisfè Redis Classifers. RICK Houlihan: Yeah, li nan yon anpil tankou sa. Sa se yon deskripsyon bon pou li. Fre.