[Daqq tal-mużika] Rick HOULIHAN: Kull dritt. Hi, kulħadd. Jisimni Rick Houlihan. I'ma Senior Principal soluzzjonijiet perit fil AWS. I tiffoka fuq NoSQL u Teknoloġiji DynamoDB. Ninsab hawn illum biex jitkellmu ma inti ftit dwar dawk. Isfond tiegħi huwa primarjament fil saff data. I jintefqu nofs iżvilupp tiegħi karriera kitba database, aċċess għad-data, soluzzjonijiet għal diversi applikazzjonijiet. Stajt ġiet fil Virtualization Cloud għal madwar 20 sena. Għalhekk qabel il-Cloud kien il-Cloud, aħna użati biex sejħa hija computing utilità. U l-idea kienet, huwa simili PG & E, inti tħallas għal dak li tuża. Illum aħna sejħa hija l-sħaba. Iżda matul is-snin, stajt maħduma għal ftit kumpaniji inti probabilment ħadthom qatt semgħu. Imma stajt kkompilata lista ta 'teknika kisbiet, I raden inti jgħidu. Għandi tmien privattivi fis-sistemi Cloud Virtualization, disinn mikroproċessur, ipproċessar avveniment kumpless, u oqsma oħrajn ukoll. Allura dawn il-ġranet, I tiffoka l-aktar fuq NoSQL teknoloġiji u l-ġenerazzjoni li jmiss database. U dan huwa ġeneralment dak li jien ser li jkun hawn nitkellmu miegħek illum madwar. Allura dak li ghandek tistenna minn din is-sessjoni, aħna ser jgħaddu fil-qosor istorja ta 'ipproċessar tad-data. Huwa dejjem utli li jifhmu fejn aħna ġew minn u għaliex aħna qed fejn ninsabu. U aħna ser nitkellmu ftit ftit dwar it-teknoloġija NoSQL mil-lat fundamentali. Aħna se jsibu rwieħhom xi wħud l-intern DynamoDB. DynamoDB ebda flavor AWS tal. Huwa ġestiti b'mod sħiħ u Soluzzjoni NoSQL ospitat. U aħna ser nitkellmu ftit dwar tabella istruttura, APIs, it-tipi ta 'data, l-indiċi, u wħud mill-intern ta 'dik it-teknoloġija DynamoDB. Aħna ser jsibu rwieħhom xi wħud mill-disinn mudelli u l-aħjar prattiki. Aħna ser jitkellmu dwar kif inti jużaw din it-teknoloġija għal xi ta 'applikazzjonijiet tal-lum. U allura aħna ser nitkellmu ftit dwar l-evoluzzjoni jew l-emerġenza ta 'paradigma ġdida fl-ipprogrammar imsejħa applikazzjonijiet kawżata minn xi fatt u kif DynamoDB jilgħab fil dan ukoll. U aħna ser tħallik xi ftit ta ' diskussjoni arkitettura referenza hekk nistgħu nitkellmu dwar xi wħud l-modi kif inti tista 'tuża DynamoDB. Allura l-ewwel off-- din hija kwistjoni I tisma 'ħafna huwa, x'hemm database. Ħafna nies jaħsbu li taf liema database hija. Jekk inti Google, tkun taf tara dan. Huwa sett strutturat ta 'data miżmuma fil-kompjuter, speċjalment wieħed li hija aċċessibbli fil-modi varji. I jissoponi li l-tajjeb definizzjoni ta 'database moderna. Imma jien ma bhalu, għaliex dan jimplika ftit affarijiet. Dan jimplika istruttura. U dan jimplika li huwa fuq il-kompjuter. U databases ma dejjem jeżistu fuq il-kompjuters. Databases attwalment teżisti f'ħafna modi. Allura definizzjoni aħjar ta ' database hija xi ħaġa bħal din. A database organizzata mekkaniżmu għall-ħażna, il-ġestjoni, u irkupru ta 'informazzjoni. Dan huwa minn About.com. So I bħal dan għaliex verament taħdidiet dwar database li tkun repożitorju, repożitorju ta ' informazzjoni, mhux neċessarjament xi ħaġa li tpoġġi fuq il-kompjuter. U matul l-istorja, aħna mhux dejjem kellhom kompjuters. Issa, jekk nistaqsi il-medja iżviluppatur illum x'hemm database, li l-risposta niġi. X'imkien I tista 'twaħħal Jittieħed. Dritt? U huwa veru. Imma hija ħasra. Minħabba li l-database huwa verament l-pedament tal-app moderna. Hu l-fondazzjoni ta 'kull applikazzjoni. U kif inti tibni li database, kif inti istruttura li d-data se jiddettaw kif dan applikazzjoni jwettaq kif inti iskala. Allura ħafna xogħol tiegħi llum qed jittratta ma 'dak jiġri meta l-iżviluppaturi dan l-approċċ u li jkunu ħerġin ta 'applikazzjoni li issa huwa ż-żieda lil hinn mill-oriġinali intenzjoni u tbatija mid-disinn ħażin. Allura nisperaw meta inti walk away illum, inti ser jkollhom koppja ta 'għodod ċinturin tiegħek li ser iżommok milli jagħmlu dawn l-istess żbalji. Kull dritt. Mela ejja nitkellmu dwar xi ftit ta ' il-preżentazzjoni kronoliġika ta 'teknoloġija database. I think I jaqra artikolu ma li ilu u qal xi ħaġa fuq il-lines-- huwa stqarrija poetika ħafna. Hija qal li l-istorja ta 'ipproċessar tad-dejta huwa sħiħa ta 'watermarks għolja ta 'abbundanza data. KOLLOX SEW. Issa, I raden dan huwa tip ta 'veru. Imma I attwalment tħares lejn jiġifieri bħala l-istorja hija verament timtela ma watermark għolja ta 'pressjoni data. Minħabba li l-rata ta 'data ta' inġestjoni qatt jinżel. Hija biss tmur up. U l-innovazzjoni sseħħ meta naraw pressjoni tad-data, li huwa l-ammont ta 'data li hija issa fil ġejjin fis-sistema. U ma jistax jiġi pproċessat effiċjenti kemm fiż-żmien jew fl-ispiża. U li meta nibdew li tħares lejn pressjoni data. Allura meta nħarsu lejn l- ewwel database, dan hija dik li kienet bejn widnejn tagħna. Aħna kollha mwielda magħha. Huwa database sbieħ. Hija għandha disponibbiltà għolja. Huwa dejjem fuq. Inti tista 'dejjem tikseb dan. Imma hija utent wieħed. I ma tista 'taqsam ħsibijiet tiegħi miegħek. Inti ma tistax tikseb ħsibijiet tiegħi meta inti tixtieq. U abilitiy tagħhom ma jkunx hekk tajjeb. Ninsew affarijiet. U mbagħad kull issa, wieħed minna weraq u timxi fuq l-eżistenza ieħor u aħna jitilfu kollox li kienet f'dak database. Allura dak li mhux kollha li tajba. U dan ħadem tajjeb matul iż-żmien meta konna lura fil-ġurnata meta kollox aħna verament bżonn tkun taf fejn huma aħna se jmorru fuq għada jew fejn aħna niġbru l-ikel aħjar. Imma kif aħna bdew jikbru bħala ċivilizzazzjoni u l-gvern beda li jiġu stabbiliti, u negozji bdew jevolvu, aħna bdew jirrealizzaw aħna bżonn ta 'ftit aktar minn dak nistgħu tpoġġi fir-ras tagħna. Kull dritt? Għandna bżonn sistemi ta 'rekord. Aħna meħtieġa postijiet li jkunu jaħżen id-data kapaċi. Allura bdejna dokumenti bil-miktub, ħolqien libreriji u arkivji. Bdejna iżvilupp ta ' sistema ta 'kontabilità ktieb. U li s-sistema ta 'għadd ktieb dam id-dinja għal ħafna sekli, u forsi anki millenji bħala aħna tip ta 'kiber sal-punt fejn dik it-tagħbija data qabeż l-abbiltà ta 'dawk is-sistemi biex ikunu jistgħu jikkontrollawha. U dan fil-fatt ġara fl-1880s. Dritt? Fil-1880 US Census. Dan huwa verament fejn l tidwir punt ipproċessar tad-data modern. Dan huwa l-punt li l-ammont ta 'data li kien qed jinġabar mill- Gvern Amerikan ltqajna sal-punt fejn hija ħadet tmien snin għall-proċess. Issa, tmien years-- bħala tafu, iċ-ċensiment runs kull years-- 10 hekk huwa pjuttost ovvju li mill-ħin aħna ltqajna l-ċensiment 1890, l-ammont ta 'data li kienet se tiġi pproċessata mill-gvern kien ser jaqbżu l-10 snin li jieħdu biex nieda-ċensiment ġdid. Din kienet problema. Allura Guy msemmija Herman Hollerith daħlet tul u huwa inventat unità rekord punch karti, qarrej tal-karta punch, punch card tabulator, u l-kollazzjoni ta ' il-mekkaniżmi għall din it-teknoloġija. U dik il-kumpannija li hu ffurmat fl- ħin, flimkien ma 'koppja ta' oħrajn, fil-fatt sar wieħed mill-pilastri ta ' kumpanija żgħira nafu llum tissejjaħ IBM. Allura IBM oriġinarjament kienet fil in-negozju database. U li verament x'għamlu. Huma ma proċessar ta 'data. Hekk l-proliferazzjoni ta 'punch karti, AN mekkaniżmi inġenjuża li tkun tista 'lieva li teknoloġija biex poll settijiet riżultat magħżula. Tista 'tara fil din l-istampa hemm aħna għandna little-- huwa ftit small-- imma int tista 'tara mekkaniżmu mekkaniku inġenjuża ħafna fejn għandna gverta punch card. U t-teħid ta 'xi ħadd tornavit ftit u teħel permezz tal- slots u irfigħ up li tikseb li jaqblu, li riżultati magħżula stabbiliti. Din hija aggregazzjoni. Aħna nagħmlu dan il-ħin kollu illum fil-kompjuter, fejn inti tagħmel dan fid-database. We użati biex tagħmel dan manwalment, id-dritt? Nies tpoġġi dawn l-affarijiet flimkien. U kien il-proliferazzjoni ta 'dawn punch cards fis-dak we called drums data u bobini data, tejp tal-karta. L-industrija tal-ipproċessar tad-data ħa lezzjoni mill-pjanijiet player. Player Pjanijiet lura lejn l-bidu tas-seklu użati għall-użu irkiekel karta bil slots fuq li tgħid dan li ċwievet biex jilgħabu. Allura li t-teknoloġija kienet adattata eventwalment biex jaħżnu data diġitali, għax dawn ikunu jistgħu jitqiegħdu dik id-dejta fuq dawk irkiekel tape tal-karta. Issa, bħala riżultat, data kien actually-- kif inti aċċess għal din id-data kienet direttament dipendenti fuq kif inti maħżuna fih. Mela jekk nressaq id-data fuq tejp, Kelli aċċess għad-data b'mod lineari. I kellhom roll-totalità tejp aċċess għad-data kollha. Jekk nressaq id-data fil punch karti, I jistgħu jkollhom aċċess għaliha fi ftit aktar każwali moda, forsi mhux bħala malajr. Iżda kien hemm limitazzjonijiet fil-mod kif aħna aċċess għal data bbażata fuq kif kien maħżun. U għalhekk din kienet problema nidħlu l '50s. Għal darb'oħra, nistgħu tibda tara li kif aħna jiġu żviluppati teknoloġiji ġodda biex jipproċessaw id-data, id-dritt, jiftaħ il-bieb għal soluzzjonijiet ġodda, għal programmi ġodda, ġodda applikazzjonijiet għal dik id-dejta. U tassew, il-governanza seta 'kien ir-raġuni għaliex aħna żviluppati xi wħud minn dawn is-sistemi. Iżda in-negozju saret malajr is-sewwieq wara l-evoluzzjoni tad-database moderna u is-sistema fajl moderna. Allura l-ħaġa li jmiss li ħarāu kien fl-'50s kien il-fajl sistema u l- iżvilupp ta 'ħażna aċċess bl-addoċċ. Dan kien sbieħ. Issa, kollha f'daqqa, nistgħu npoġġu tagħna fajls kullimkien fuq dawn hard drives u nistgħu aċċess għal din id-data bl-addoċċ. Nistgħu parse li informazzjoni minn fajls. U aħna solvuti l-Dinja problemi bil ipproċessar tad-data. U li damet madwar 20 jew 30 sena sakemm l-evoluzzjoni tad-database relazzjonali, li huwa meta d-dinja iddeċieda aħna issa jeħtieġ li jkun hemm repożitorju li tkisser l tifrix ta 'data min-fajl sistemi li konna mibnija. Dritt? Wisq data mqassma f'ħafna wisq postijiet, l-de-duplikazzjoni tad-dejta, u l-ispiża tal-ħażna kien enormi. Fil-'70s, l-aktar riżors għoljin li l-kompjuter kellhom kien il-ħażna. Il-proċessur kien meqjusa bħala spiża fissa. Meta I jixtru l-kaxxa, l-CPU ma xi xogħol. Li għaddej biex jiġu għażil jekk huwa attwalment jaħdmu jew le. Li verament spiża għereq. Imma dak jiswieli bħala negozju huma l-ħażna. Jekk irrid jixtri aktar diski li jmiss xahar, li l-ispiża reali li jħallsu I. U li l-ħżin hija għalja. Issa aħna fast quddiem 40 sena u għandna problema differenti. Il jikkomputa issa l huwa riżors aktar għoljin. Il-ħażna huwa rħis. I mean, nistgħu mmorru kullimkien fuq il- sħaba u nistgħu nsibu ħażna cheap. Imma dak I ma tistax issib huwa jikkomputa cheap. Allura l-evoluzzjoni tal-lum teknoloġija, tat-teknoloġija database, huwa verament iffokat madwar databases mqassma li ma jsofrux minn l-istess tip ta 'skala limitazzjonijiet ta 'databases relazzjonali. Aħna ser nitkellmu ftit dwar dak li effettivament tfisser. Iżda wieħed mir-raġunijiet u is-sewwieq wara this-- aħna tkellem dwar il-pressjoni tad-data. Pressjoni tad-data hija xi ħaġa li drives innovazzjoni. U jekk inti tħares lejn aktar l-aħħar ħames snin, dan huwa chart ta 'dak id-data tagħbija madwar l-intrapriża ġenerali Dehra fl-aħħar ħames snin. U r-regola ġenerali ta 'thumb dawn days-- jekk inti tmur Google-- huwa 90% tad-data li aħna maħżen llum, u kien iġġenerat matul l-aħħar sentejn. KOLLOX SEW. Issa, dan mhuwiex xejra li l-ġdida. Din hija tendenza li kien ser jispiċċaw għal 100 sena. Minn mindu Herman Hollerith żviluppat il-karta punch, aħna kont qed jibni repożitorji tad-dejta u l-ġbir tad-data b'rati fenomenali. Allura matul l-aħħar 100 sena, Rajna din it-tendenza. Li mhux se jibdlu. Miexi 'l quddiem, aħna qed tmur biex tara dan, jekk mhux xejra mgħaġġla. U inti tista tara dak li qisu. Jekk negozju fl-2010 kienet waħda terabyte ta 'data mmaniġġjati, illum dan ifisser li qed ġestjoni 6.5 petabytes ta 'data. C'est 6,500 data darbiet aktar. U naf dan. I taħdem ma 'dawn in-negozji kull jum. Ħames snin ilu, I tkellem kumpaniji li tkellem lili dwar dak uġigħ huwa li jamministraw terabytes ta 'data. U kieku jitkellmu lili dwar kif naraw li dan huwa probabbilment se li jkun petabyte jew tnejn fi żmien ftit snin. Dawn l-istess kumpaniji illum jien laqgħa ma, u dawn qed jitkellem lili dwar l- problema qed ikollhom hemm ġestjoni għexieren, 20 petabytes ta 'data. Allura l-isplużjoni tal- data fl-industrija qiegħed isuq il-enormi bżonn għal soluzzjonijiet aħjar. U d-database relazzjonali hija biss ma tilħaqx l-domanda. U hekk hemm lineari korrelazzjoni bejn pressjoni data u l-innovazzjoni teknika. L-istorja wriet us dan, li maż-żmien, kull meta l-volum ta 'data li jeħtieġ li jiġu pproċessati jeċċedi l-kapaċità tas-sistema biex tiġi pproċessata fi żmien raġonevoli jew bi prezz raġonevoli, teknoloġiji allura ġodda huma ivvintati biex isolvu dawn il-problemi. Dawk it-teknoloġiji ġodda, imbagħad, tiftaħ il-bieb li sett ieħor ta 'problemi, li huwa ġbir aktar fatti. Issa, aħna mhux se tieqaf din. Dritt? Aħna mhux se tieqaf din. Għaliex? Għaliex inti ma tistax tkun taf kollox hemm li jkunu jafu fl-univers. U sakemm aħna kont qed ħaj, matul l-istorja tal-bniedem, aħna dejjem misjuqa tkun taf aktar. Għalhekk jidher li huwa simili kull pulzier nimxu fit-triq ta 'skoperta xjentifika, aħna multiplikazzjoni tal-ammont ta 'data li għandna bżonn biex jipproċessaw b'mod esponenzjali kif aħna tikxef aktar u aktar u aktar dwar il-ħidma ta 'ġewwa tal-ħajja, dwar kif jaħdem l-univers, dwar sewqan tal-iskoperta xjentifika, u l-invenzjoni li aħna qed nagħmlu llum. Il-volum ta 'data biss tiżdied kontinwament. Allura li jkunu jistgħu jittrattaw din il-problema huwa enormi. Allura wieħed mill-affarijiet aħna nħarsu kif għaliex NoSQL? Kif ma NoSQL ssolvi din il-problema? Ukoll, databases relazzjonali, Strutturat Mistoqsija Lingwa, SQL-- li tassew tibni tal- relazzjonali database-- dawn l-affarijiet huma ottimizzati għall-ħażna. Lura fl-'70s, għal darb'oħra, disk hija għalja. L-eżerċizzju proviżjonament ta 'ħażna fl-intrapriża hija ma jintemmu qatt. Naf. I għexu fiha. I kiteb sewwieqa ħażna għal kumpanija superserver enterprised lura fil-snin 90. U l-linja tal-qiegħ huwa tiswib ieħor firxa ħażna kien biss xi ħaġa li ġara kull jum fl-intrapriża. U qatt ma waqfet. , Ħażna densità ogħla domanda għall-ħażna densità għolja, u għall-ħażna aktar effiċjenti devices-- huwa qatt ma waqfet. U NoSQL hija teknoloġija kbir minħabba li normalizes-data. Hija de-duplikati-data. Huwa jpoġġi l-informazzjoni fi struttura li huwa agnostic li kull mudell aċċess. Applikazzjonijiet multipli jistgħu hit li Database SQL, run mistoqsijiet ad hoc, u jiksbu data fil-forma li huma bżonn biex jipproċessaw għal xogħolhom tagħhom. Ħsejjes meraviljuż. Iżda l-bottom line huwa ma 'kwalunkwe sistema, jekk huwa agnostic li kollox, huwa ottimizzati għal xejn. KOLLOX SEW? U dan huwa dak li nagħmlu ma ' database relazzjonali. Huwa ottimizzati għall-ħażna. Huwa normalizzat. Huwa relazzjonali. Hija tappoġġa l-mistoqsijiet ad hoc. U dan u skali vertikalment. I Jekk bżonn li tikseb database SQL akbar jew database SQL aktar qawwija, I jmorru jixtru biċċa akbar ta 'ħadid. KOLLOX SEW? Stajt ħadem ma 'lott ta' klijenti li ġew permezz titjib maġġuri fl-infrastruttura SQL tagħhom biss biex issir taf sitt xhur wara, dawn qed tolqot il-ħajt mill-ġdid. U r-risposta mill Oracle jew MSSQL jew xi ħadd ieħor hu li tikseb kaxxa akbar. Ukoll illum jew għada, inti ma tistax tixtri akbar kaxxa, u li l-problema reali. Għandna bżonn li attwalment ibiddlu l-affarijiet. Għalhekk, fejn ma dan ix-xogħol? Hija taħdem ukoll għall offline analytics, loads tat-tip OLAP. U li verament fejn SQL jappartjeni. Issa, huwa użat illum f'ħafna online Tip ipproċessar transazzjonali applikazzjonijiet. U taħdem biss multa fuq xi livell ta 'utilizzazzjoni, iżda hija biss ma 'skala il-mod li NoSQL ma. U aħna ser nitkellmu ftit ftit dwar għaliex dan huwa. Issa, NoSQL, min-naħa l-oħra, huwa aktar ottimizzati għall jikkomputa. KOLLOX SEW? Mhuwiex agnostic li il-mudell aċċess. Hu dak li nsejħu de-normalizzat istruttura jew struttura ġerarkika. Id-data fid-database relazzjonali hija magħquda flimkien mit-tabelli multipli biex jipproduċu l-opinjoni li għandek bżonn. Id-data f'database NoSQL hija maħżuna f'dokument li fiha struttura ġerarkika. Kollha tad-data li normalment tkun magħquda flimkien biex jipproduċi dak fehma hija maħżuna f'dokument wieħed. U aħna ser nitkellmu ftit dwar kif din taħdem fi ftit charts. Iżda l-idea hawnhekk hija li inti taħżen data tiegħek bħala dawn l-opinjonijiet instantiated. KOLLOX SEW? Inti iskala orizzontalment. Dritt? I Jekk bżonn li tiżdied il- daqs tal cluster NoSQL tiegħi, I m'għandhomx bżonn li tikseb kaxxa akbar. I nikseb ieħor kaxxa. U jien cluster flimkien, u nista 'shard dik id-data. Aħna ser nitkellmu ftit dwar dak sharding huwa, li jkun kapaċi iskala dik id-database bejn mezzi fiżiċi multipli u neħħi l-ostakolu li teħtieġ me għall-iskala vertikalment. Allura huwa verament mibnija għall-onlajn ipproċessar tat-transazzjoni u l-iskala. Hemm distinzjoni big hawn bejn ir-rappurtar, id-dritt? Rappurtar, I do not know il mistoqsijiet jien ser jistaqsu. Dritt? Reporting-- jekk xi ħadd mill dipartiment tal-marketing tiegħi jixtieq li just-- kif ħafna mill-klijenti tiegħi jkollhom din il-karatteristika partikolari li mixtrija fuq dan day-- I do not know dak mistoqsija li qed tmur biex jistaqsu. So I jeħtieġ li tkun agnostic. Issa, fil-online applikazzjoni transazzjonali, Naf liema mistoqsijiet li jien tistaqsi. I mibnija l-applikazzjoni għall workflow speċifiċi ħafna. KOLLOX SEW? Mela jekk jien jottimizzaw id-data jaħżnu biex issostni dik workflow, li għaddej biex jkun aktar mgħaġġel. U hu għalhekk li NoSQL tista verament tħaffef it-twassil ta 'dawk it-tipi ta' servizzi. Kull dritt. Allura aħna qed tmur biex tikseb fis xi ftit ta 'teorija hawn. U xi wħud minnkom, għajnejn tiegħek jista roll lura ftit. Imma jien ser jippruvaw jżommha livell għoli kemm nista '. Mela jekk int fil-proġett ġestjoni, hemm tibni imsejjaħ il- trijangolu ta 'restrizzjonijiet. KOLLOX SEW. It-triangolu ta 'kostrizzjonijiet tiddetta ma jistax ikollok kollox il-ħin kollu. Ma jistgħux ikollhom pie tiegħek u jieklu wisq. Allura fil-ġestjoni tal-proġett, li trijanglu restrizzjonijiet huwa inti jista 'jkollhom dan irħis, inti jista 'jkollhom dan malajr, jew inti jista 'jkollhom tajba. Pick tnejn. Għaliex inti ma tista kollha tlieta. Dritt? KOLLOX SEW. Allura inti tisma 'dwar dan il-lott. Huwa restrizzjoni triplu, trijangolu ta 'restrizzjoni triple, jew l-trijangolu ħadid huwa oftentimes-- meta tkellem lill-maniġers tal-proġett, dawn ser jitkellmu dwar dan. Issa, databases għandhom trijangolu tal-ħadid tagħhom stess. U t-triangolu tal-ħadid tad-data hu dak li nsejħu teorema KAP. KOLLOX SEW? PAK tiddetta teorema kif databases joperaw taħt kundizzjoni speċifika ħafna. U aħna ser nitkellmu dwar dak din il-kundizzjoni hija. Iżda t-tliet punti tat-trijangolu, biex ngħidu hekk, huma C, konsistenza. KOLLOX SEW? Għalhekk fl CAP, il-konsistenza ifisser li kull klijenti li jistgħu jaċċessaw id-dejtabejż dejjem se jkollha ħafna opinjoni konsistenti ta 'data. Gonna ħadd naraw żewġ affarijiet differenti. KOLLOX SEW? Jekk nara d-database, Jien jaraw l-istess fehma kif partner tiegħi li jara l-istess database. Li konsistenza. Disponibbiltà ifisser li jekk il- online database, jekk jista 'jintlaħaq, li l-klijenti kollha se dejjem jkun kapaċi li jaqraw u jiktbu. KOLLOX SEW? Allura kull klijent li tista 'taqra d-database dejjem se jinqraw jistgħu data tad-dejta u jiktbu. U jekk dan huwa l-każ, huwa ta 'sistema disponibbli. U t-tielet punt huwa dak nitolbu tolleranza partition. KOLLOX SEW? Mezzi ta 'tolleranza Partition li s-sistema taħdem tajjeb minkejja network fiżiku ħitan bejn il-lymph. KOLLOX SEW? Allura lymph fil-cluster ma tistax jitkellmu ma 'xulxin, x'jiġri? Kull dritt. Databases relazzjonali hekk choose-- inti tista 'pick tnejn minn dawn. KOLLOX SEW. Databases relazzjonali hekk jagħżlu li tkun konsistenti u disponibbli. Jekk il-partition jiġri bejn l DataNodes fil-maħżen tad-data, database crashes. Dritt? Huwa biss jinżel. KOLLOX SEW. U dan huwa għaliex dawn ikollhom li jikbru bil-kaxxi akbar. Dritt? Għaliex hemm no-- normalment, cluster database, hemm mhux ħafna ħafna minnhom li joperaw il-mod. Iżda ħafna databases iskala vertikalment fi ħdan kaxxa waħda. Għaliex jeħtieġu li jkunu konsistenti u disponibbli. Jekk partition kellhom jiġu injettati, allura inti jkollha tagħmel għażla. Inti għandek tagħmel għażla bejn jkunu konsistenti u disponibbli. U dan huwa dak databases NoSQL tagħmel. Kull dritt. Allura database NoSQL, huwa jiġi f'żewġ flavors. Aħna have-- tajjeb, huwa tiġi fi flavors ħafna, iżda niġu ma 'żewġ bażiku characteristics-- dak aħna kieku ssejjaħ database CP, jew tolleranza konsistenti u partition sistema. Dawn guys jagħmlu l-għażla li meta il-lymph jitilfux il-kuntatt ma 'xulxin, aħna mhux qed tmur biex jippermettu nies li jiktbu aktar. KOLLOX SEW? Sa dak partizzjoni tkun imneħħija, aċċess jiktbu tkun imblukkata. Dan ifisser li mhux qed disponibbli. Huma qed konsistenti. Meta naraw li partizzjoni tinjetta lilha nnifisha, aħna issa huma konsistenti, għaliex aħna ma tkunx qed tmur li jippermettu l-bidla tad-data fuq żewġ naħat tal-qasma indipendenti ta 'xulxin. Aħna se jkollhom reestablish komunikazzjoni qabel kwalunkwe aġġornament għal huwa permess l-informazzjoni. KOLLOX SEW? Il-flavor li jmiss ikun sistema AP, jew disponibbli u maqsuma sistema tolleranza. Dawn guys ma 'kura. Dritt? Kull node li gets jiktbu, aħna ser teħodha. Hekk jien jirreplikaw data tiegħi madwar lymph multipli. Dawn in-nodi tikseb klijent, klijent niġu fil, jgħid, jien ser jikteb xi data. Node jgħid, l-ebda problema. Il-punt strateġiku li jmiss lilu gets jiktbu fuq l-istess reġistru, hu se ngħid ebda problema. X'imkien lura fuq il-aħħar lura, li d-data għaddej biex jirreplika. U mbagħad xi ħadd għaddej biex tirrealizza, UH-oh, sistema se tirrealizza, uh-oh, hemm kien aġġornament għal żewġ naħat. X'nagħmlu? U dak li jagħmlu allura huwa jagħmlu xi ħaġa li jippermettilhom biex isolvu l-istat data. U aħna ser nitkellmu dwar li fil-grafika li jmiss. Ħaġa li tfakkar hawn. U jien mhux se tikseb wisq ħafna fis dan, għaliex dan gets fis teorija data fil-fond. Iżda hemm transazzjonali qafas li runs f'sistema relazzjonali li tippermetti me li b'mod sikur tagħmel aġġornamenti lill-entitajiet multipli fid-database. U dawk aġġornamenti se jseħħu kollha f'daqqa jew xejn affattu. U dan jissejjaħ transazzjonijiet AĊIDU. KOLLOX SEW? ACID jagħtina atomicity, il-konsistenza, iżolament, u d-durabbiltà. KOLLOX SEW? Dan ifisser, transazzjonijiet atomika, kollha aġġornamenti tiegħi jew jiġri jew ma jagħmlux dan. Konsistenza ifisser li Id-database dejjem jiddaħħlu konsistenti istat wara aġġornament. I qatt se jħallu d-database fil- stat ħażin wara l-applikazzjoni aġġornament. KOLLOX SEW? Allura huwa differenti ftit minn konsistenza KAP. Konsistenza PAK mezzi kollha tiegħi klijenti jistgħu dejjem tara l-informazzjoni. Konsistenza AĊIDU ifisser li meta tranżazzjoni isir, l data tajba. Relazzjonijiet tiegħi huma kollha tajbin. Jien ma jmur biex tħassar ringiela ġenitur u tħalli mazz ta 'tfal orfni f'xi tabella ieħor. Ma jistax jiġri jekk jien konsistenti fi tranżazzjoni aċidu. Iżolament ifisser li t-transazzjonijiet dejjem se jseħħu wara xulxin. Ir-riżultat aħħari ta 'l-informazzjoni se jkun l-istess stat bħallikieku dawk it-tranżazzjonijiet li nħarġu fl-istess ħin ġew eżegwiti serjalment. Allura huwa concurrency kontroll fid-database. Għalhekk bażikament, ma nistax inkrement l istess valur darbtejn b'żewġ operazzjonijiet. Imma jekk jien ngħid żid 1 sa dan il-valur, u żewġ tranżazzjonijiet jaqgħu fil u jipprova jagħmel dan, wieħed huwa se naslu s'hemm ewwel u l-ieħor tal- se naslu s'hemm wara. Għalhekk fl-aħħar, I miżjuda tnejn. You see dak li jfisser I? KOLLOX SEW. Durabilità hija pjuttost sempliċi. Meta t-tranżazzjoni huwa rikonoxxut, huwa ser ikun hemm anke jekk is-sistema crashes. Meta dik is-sistema jirkupra, li transazzjoni li ġie kommess huwa fil-fatt se jkun hemm. Allura dak l-garanziji ta 'transazzjonijiet AĊIDU. Dawk huma garanziji pretty sbieħ li jkollhom fuq database, iżda dawn jiġu f'dak ispiża. Dritt? Minħabba li l-problema ma 'dan il-qafas huwa jekk ikun hemm qasma fil-data sett, I jkollhom biex jagħmlu deċiżjoni. Jien ser ikollu jippermetti aġġornamenti fuq naħa waħda jew l-oħra. U jekk dan iseħħ, allura jien m'għadhomx għaddejjin li tkun kapaċi żżomm dawk il-karatteristiċi. Dawn mhux se jkunu konsistenti. Dawn mhux se jkunu iżolati. Dan huwa fejn jkisser għall databases relazzjonali. Din hija r-raġuni relazzjonali Databases fuq skala vertikalment. Min-naħa l-oħra, għandna dak li sejjaħ teknoloġija BASE. U dawn huma Databases NoSQL tiegħek. Kull dritt. Allura aħna għandna CP tagħna, databases AP. U dawn huma dak li inti sejħa bażikament disponibbli, l-istat artab, eventwalment konsistenti. KOLLOX SEW? Bażikament disponibbli, minħabba dawn qed tolleranti partition. Huma dejjem se jkun hemm, anke jekk hemm partition network bejn il-lymph. Jekk I tista 'tkellem lill node, jien ser ikunu kapaċi li jaqra data. KOLLOX SEW? I mhux dejjem tkun tista 'tikteb data jekk jien pjattaforma koerenti. Imma jien ser tkun kapaċi li jaqraw l-informazzjoni. L-istat soft jindika li meta sirt naf li data, jista 'ma jkunx l-istess bħal punti strateġiċi oħrajn. Jekk id-dritt inħareġ fuq node x'imkien ieħor fid-cluster u ma replikat madwar l- cluster għad meta sirt naf li data, dak l-istat jista 'ma jkunx konsistenti. Madankollu, se jkun eventwalment konsistenti, li jfisser li meta tikteb hija magħmula għas-sistema, dan jirreplika madwar l-lymph. U eventwalment, l-istat se jinġiebu ordni, u se jkun stat konsistenti. Issa, teorema CAP verament jilgħab biss f'kondizzjoni wieħed. Din il-kundizzjoni hija meta jiġri dan. Minħabba kull meta huwa jopera fil mod normali, hemm ebda qasma, s konsistenti u disponibbli kollox. Inti biss joqogħdu jinkwetaw dwar CAP meta jkollna dak partition. Għalhekk dawn huma rari. Imma kif is-sistema jirreaġixxi meta dawk jseħħu jiddettaw liema tip ta 'sistema aħna qed jittrattaw. Mela ejja tagħti ħarsa lejn dak li li qisu għal sistemi AP. KOLLOX SEW? Sistemi AP jiġu f'żewġ flavors. Huma daħlu fil-flavor li huwa kaptan kaptan, 100%, dejjem disponibbli. U jkunu ġejjin fil- togħma oħra, li jgħid, inti taf liema, jien ser tinkwetax dwar dan ħaġa partizzjoni meta partition attwali iseħħ. Inkella, hemm għaddej li jkun primarja lymph li għaddej biex tieħu d-drittijiet. KOLLOX SEW? Mela jekk irridu xi ħaġa bħal Cassandra. Cassandra tkun master kaptan, let me jikteb lil kull waħda node. Allura x'jiġri? So I jkollhom oġġett fil- database li teżisti fuq żewġ lymph. Ejja sejħa dak l-oġġett S. Allura għandna l-istat għall S. Għandna xi operazzjonijiet fuq S li għadhom għaddejjin. Cassandra tippermetti me jikteb lill lymph multipli. Mela ejja ngħidu niġi tikteb s għal żewġ lymph. Ukoll, dak li jispiċċa jiġri huwa nitolbu li avveniment tqassim. Ma jista 'jkun hemm partition network fiżiku. Iżda minħabba l-disinn tas-sistema, huwa attwalment taqsim mill-aktar bħala I nikseb write fuq żewġ lymph. Mhuwiex jisforzaw lili biex jiktbu kollha permezz node wieħed. Jien bil-miktub fuq żewġ lymph. KOLLOX SEW? Allura issa I għandhom żewġ stati. KOLLOX SEW? X'hemm jiġri huwa illum jew għada, hemm għaddej li tkun avveniment replikazzjoni. Hemm għaddej li jkun dak li aħna imsejħa irkupru partition, li huwa fejn dawn iż-żewġ stati terga 'lura flimkien u hemm għaddej li jkun algoritmu li timxi ġewwa d-database, jiddeċiedi x'għandu jsir. KOLLOX SEW? Konvenzjonalment, l-aħħar aġġornament jirbaħ fis-sistemi AP aktar. Allura hemm normalment algoritmu default, dak li jsejjaħ callback funzjoni, ħaġa li se jissejjaħ meta din il-kondizzjoni jinstab li tesegwixxi xi loġika sabiex issolvi din kunflitt. KOLLOX SEW? Il callback default u nuqqas resolver fid-databases AP aktar huwa, raden dak, timestamp jirbaħ. Dan kien l-aħħar aġġornament. Jien ser tpoġġi li l-aġġornament fil hemmhekk. I tista 'dump dan ir-rekord li I iddampjati off fi log irkupru sabiex l-utent jista 'terga' lura aktar tard u jgħidu, ħej, kien hemm ħabta. X'ġara? U inti tista 'attwalment dump rekord ta l-kolliżjonijiet u l rollbacks u tara x'jiġri. Issa, bħala utent, int tista 'wkoll jinkludu loġika f'dak callback. Allura inti tista 'bidla li operazzjoni callback. Tista 'tgħid, ħej, nixtieq jirrijabilita din id-data. U nixtieq li jippruvaw u jingħaqdu dawn iż-żewġ reġistri. Imma dak li sa inti. Id-database ma tkunx taf kif tagħmel dan awtomatikament. Ħafna żmien, l-unika ħaġa l-database jaf kif tagħmel hu jgħidu, dan wieħed kien l-aħħar rekord. Dik hija l-waħda li għaddej biex tirbaħ, u li l-valur jien ser tpoġġi. Ladarba li l-irkupru partition u replikazzjoni sseħħ, għandna l-istat tagħna, li issa huwa S prime, li hija l-istat amalgamazzjoni taż dawk l-oġġetti kollha. Allura sistemi AP jkollhom din. Sistemi CP m'għandhomx bżonn ninkwetaw dwar dan. Minħabba hekk kif partition niġu fis-rwol, huma biss tieqaf tieħu jikteb. KOLLOX SEW? Allura dak faċli ħafna biex jittrattaw ma 'li tkun konsistenti meta inti ma taċċetta kwalunkwe aġġornament. Li ma 'sistemi CP tagħmel. Kull dritt. Mela ejja nitkellmu ftit ftit dwar mudelli ta 'aċċess. Meta nitkellmu dwar NoSQL, huwa kollha dwar il-mudell aċċess. Issa, SQL huwa ad hoc, mistoqsijiet. Huwa maħżen relazzjonali. Aħna ma jkollhom għalfejn tinkwieta dwar il-mudell aċċess. I jiktbu mistoqsija kumplessa ħafna. Hija tmur u gets-data. Dak hu li dan jistenna simili, normalizzazzjoni. Allura f'din l-istruttura partikolari, aħna qed tħares lejn katalogu prodotti. Għandi tipi differenti ta 'prodotti. Għandi kotba. Għandi albums. Għandi videos. Ir-relazzjoni bejn il-prodotti u kull wieħed minn dawn il-kotba, albums, u videos tabelli huwa 1: 1. Kull dritt? Stajt ltqajna ID prodott, u li jikkorrispondi ID li ktieb, album, jew video. KOLLOX SEW? Li l-1: relazzjoni 1 madwar dawn it-tabelli. Issa, books-- kollha huma għandhom hija proprjetajiet għeruq. Mhux problema. Li l-kbir. Relazzjoni One-to-one, I nikseb kollha l-informazzjoni I bżonn biex jiddeskrivu dak il-ktieb. Albums Albums-- jkollhom binarji. Dan hu dak li nsejħu wieħed għal ħafna. Kull album jista 'jkollhom ħafna binarji. Allura għal kull binarju fuq l-album, I jista 'jkollhom rekord ieħor f'din it-tabella tat-tfal. So I joħolqu rekord wieħed fit-tabella albums tiegħi. I joħolqu skedarji multipli fit-tabella binarji. Relazzjoni ta 'wieħed għal ħafna. Din ir-relazzjoni huwa dak nitolbu-ħafna to ħafna. KOLLOX SEW? You see li l-atturi jista 'jkun f'ħafna films, videos ħafna. Allura dak li nagħmlu huwa npoġġux dan mapping tabella bejn dawk li hija biss mapep il-ID attur għall-video ID. Issa I tista 'toħloq query l tissieħeb videos permezz attur video lill-atturi, u tagħti me lista sbieħ ta ' l-films u l-atturi kollha li kienu f'dak movie. KOLLOX SEW. So here we go. One-to-one hija l-ogħla livell ir-relazzjoni; -one-to ħafna, albums għall-binarji; -ħafna to ħafna. Dawk huma l-aqwa tlieta livell relazzjonijiet fi kwalunkwe database. Jekk inti taf kif dawk relazzjonijiet jaħdmu flimkien, imbagħad inti taf ħafna dwar database diġà. Allura NoSQL xogħlijiet ftit differenti. Ejja jaħsbu dwar għat-tieni dak li jistenna simili li jmorru tikseb il-prodotti kollha tiegħi. Fil-maħżen relazzjonali, I rridu nġibu prodotti kollha tiegħi fuq lista tal-prodotti kollha tiegħi. Li l-lott ta 'mistoqsijiet. I ltqajna mistoqsija għall-kotba kollha tiegħi. I ltqajna mistoqsija minn albums tiegħi. U sibt mistoqsija għall-videos kollha tiegħi. U jien qbilna li tqiegħed lilha kollha flimkien f'lista u jservu lura sa l- applikazzjoni li l-jitolbuha. Biex tikseb kotba tiegħi, I jissieħbu Prodotti u Books. Biex tikseb albums tiegħi, I ltqajna biex jissieħbu Prodotti, Albums, u Tracks. U biex tikseb videos tiegħi, għandi biex jissieħbu Prodotti li Videos, jissieħbu permezz Attur Videos, u jġibu fil-Atturi. Allura dak tliet mistoqsijiet. Mistoqsijiet kumplessi ħafna għall jimmuntaw sett riżultat wieħed. C'est inqas minn ottimali. Dan huwa għaliex meta nitkellmu dwar struttura data li l- mibni biex ikun agnostic għall-aċċess pattern-- ukoll li l-kbir. U tista 'tara li dan huwa verament sbieħ kif konna organizzata d-data. U inti taf liema? I biss jkollhom rekord wieħed għal attur. Li jibred. Stajt deduplicated atturi kollha tiegħi, u I miżmuma assoċjazzjonijiet tiegħi f'din it-tabella mapping. Madankollu, jkollna l-informazzjoni out isir għaljin. Jien jibgħat il-CPU kollha fuq is-sistema tgħaqqad dawn l-istrutturi tad-data flimkien li tkun tista 'pull data b'lura. Allura kif nista 'nikseb madwar li? Fil NoSQL huwa dwar aggregazzjoni, mhux normalizzazzjoni. Allura irridu ngħidu li rridu tappoġġja l-mudell aċċess. Jekk il-mudell aċċess għall-applikazzjonijiet, I bżonn li tikseb prodotti kollha tiegħi. Ejja ipoġġu l-prodotti fit-tabella waħda. Jekk I ipoġġu l-prodotti fit-tabella waħda, I tista 'tagħżel biss il-prodotti minn dik it-tabella u niġi dan kollu. Well kif nista 'nagħmlu dan? Ukoll fil NoSQL hemm l-ebda istruttura għall-tabella. Aħna ser nitkellmu ftit dwar kif din taħdem fil Dynamo DB. Imma inti ma jkollhom l-istess attributi u l-istess proprjetajiet f'kull ringiela waħda, f'kull wieħed oġġett, bħal inti tagħmel fi tabella SQL. U dak li dan jippermetti me tagħmel huwa ħafna affarijiet u jagħtu me ħafna ta 'flessibilità. F'dan il-każ partikolari, I jkollhom dokumenti prodott tiegħi. U f'dan il-partikolari eżempju, kollox huwa dokument fit-tabella Prodotti. U l-prodott ta 'ktieb jista ikollhom ID tip li tispeċifika ktieb. U l-applikazzjoni se jaqilbu fuq dik ID. Fil-livell applikazzjoni, jien ser li jgħidu oh, liema tip ta 'rekord huwa dan? Oh, huwa rekord ktieb. Rekords Ktieb jkollhom dawn il-proprjetajiet. Let me toħloq oġġett ktieb. Hekk jien ser timla l- oġġett ktieb ma 'din il-partita. Punt li jmiss jidħol u jgħid, x'hemm din il-partita? Ukoll din il-partita huwa album. Oh, I ltqajna differenti kollha ipproċessar ta 'rutina għal dan, għaliex dan huwa album. You see dak li jfisser I? Allura l-applikazzjoni tier-- I tagħżel biss dawn ir-rekords kollha. Huma kollha jibdew ġejjin fil. Dawn jistgħu jkunu tipi differenti kollha. U huwa loġika tal-applikazzjoni tal li swiċċijiet madwar dawk it-tipi u jiddeċiedi kif jipproċessawhom. Għal darb'oħra, hekk aħna qed ottimizzat l schema għall-mudell aċċess. Aħna qed tagħmel dan mill taħfir dawk it-tabelli. Aħna qed bażikament tieħu dawn l-istrutturi normalizzati, u aħna qed tinbena strutturi ta 'ġerarkiċi. Ġewwa kull wieħed minn dawn ir-rekords Jien ser tara proprjetajiet array. Ġewwa dan id-dokument għall Albums, Jien jaraw arrays ta binarji. Dawn il-binarji issa become-- huwa bażikament din it-tabella tat-tfal li jeżisti dritt hawn f'din l-istruttura. Allura inti tista 'tagħmel dan fil DynamoDB. Tista 'tagħmel dan fil MongoDB. Tista 'tagħmel dan fi kwalunkwe database NoSQL. Oħloq dawn it-tipi ta ' strutturi tad-dejta ġerarkiċi li jippermettu inti jirkupraw data malajr ħafna għaliex issa I m'għandhomx għalfejn jikkonformaw. Meta I daħħal ringiela fil-Tracks mejda, jew ringiela fit-tabella Albums, Għandi biex jikkonformaw ma 'dik schema. I għandhom ikollhom l-attribut jew l proprjetà li hija definita fuq dik it-tabella. Kull wieħed minnhom, meta I daħħal dik filliera. Li mhux il-każ fil NoSQL. I jista 'jkollhom totalment differenti proprjetajiet f'kull dokument I ddaħħal fil-ġbir. Mekkaniżmu tant qawwija ħafna. U huwa verament kif inti jottimizzaw is-sistema. Minħabba li issa li mistoqsija, minflok li jingħaqdu dawn it-tabelli kollha u eżekuzzjoni mistoqsijiet nofs tuzzana li jintefgħu fuq wara d-data I bżonn, Jien eżekuzzjoni mistoqsija waħda. U jien mtennija madwar ir-riżultati stabbiliti. tagħtik idea tal-qawwa ta NoSQL. Jien ser tip ta 'jmorru lejn il-ġenb hawn u jitkellmu ftit dwar dan. Dan huwa aktar tip tal- marketing jew technology-- il-marketing tat-teknoloġija tip ta 'diskussjoni. Iżda huwa importanti li wieħed jifhem għaliex jekk inħarsu lejn il-quċċata hawn fuq din it-tabella, dak li aħna qed tħares lejn hu dak li nsejħu l- Kurva hype teknoloġija. U dak li dan ifisser huwa għalf ġdid jidħol fis play. Nies jaħsbu huwa kbir. Stajt solvuti problemi kollha tiegħi. Dan jista 'jkun l-aħħar kollha, ikunu kollha li kollox. U huma tibda tuża din. U jgħidu, dan il-għalf ma taħdimx. Dan mhuwiex dritt. L-għalf qodma kien aħjar. U dawn imorru lura għal dawk li jagħmlu affarijiet il-mod kienu. U mbagħad eventwalment imorru, inti taf liema? Dan il-għalf mhuwiex daqshekk ħżiena. Oh, li kif taħdem. U ladarba jkunu figura kif xogħlijiet, dawn jibdew jkollna aħjar. U l-ħaġa umoristiċi dwar dan huwa, tip ta 'linji sa dak nsejħu l Curve Adozzjoni Teknoloġija. Allura dak li jiġri huwa li għandna xi grillu teknoloġija tip. Fil-każ ta 'databases, huwa pressjoni data. Aħna tkellimna dwar il-punti ta 'ilma għolja ta 'pressjoni data matul iż-żmien. Meta din il-pressjoni tad-data hits ċertu punt, li l-grillu teknoloġija. Huwa jkollna wisq għaljin. Huwa jieħu wisq żmien biex jipproċessaw id-data. Għandna bżonn xi ħaġa aħjar. Ikollok l-innovaturi hemmhekk running madwar, jippruvaw biex issir taf x'inhu l-soluzzjoni. X'hemm l-idea ġdida? X'inhu l-aħjar li jmiss mod biex isir dan ħaġa? U jkunu ġejjin up ma 'xi ħaġa. U l-poplu bl-uġigħ reali, l-guys fit-tarf fsada, dawn ser jaqbżu kollha fuqha, għaliex jeħtieġu risposta. Issa dak inevitabbilment happens-- u din se ssir dritt issa fil NoSQL. Nara dan il-ħin kollu. Dak li jiġri huwa inevitabbilment nies jibdew jużaw l-għodda l-ġdida bl-istess mod huma użati l-għodda antika. U huma nsib dan ma tahdem tajjeb. I ma tistax tiftakar min I kien tkellem lill aktar kmieni llum. Imma huwa simili, meta l- jackhammer ġiet ivvintata, nies ma jitbandal dan matul ras tagħhom biex smash il-konkrit. Imma dan huwa dak i jiġri bil NoSQL llum. Jekk inti timxi fl għal ħwienet aktar, li jkunu qed jippruvaw ikunu ħwienet NoSQL. Dak li qed isir huwa li qed jużaw NoSQL, u dawn qed jitgħabbew sħiħa ta 'schema relazzjonali. Minħabba li kif huma u jfasslu databases. U dawn qed jistaqsi, għaliex hija ma sejra tajjeb ħafna? Boy, dan il-ħaġa stinks. I kellhom iżommu kollha tiegħi jingħaqad in-- huwa simili, no, no. Iżomm tissieħeb? Għalfejn qed jingħaqdu data? Inti ma jissieħbu data fil NoSQL. Inti jaggregah. Mela jekk inti tixtieq li tevita dan, jitgħallmu kif l-għodda tax-xogħlijiet qabel ma attwalment tibda tuża din. Tippruvax u jużaw l-għodod ġodda tal- istess mod inti użati l-għodod antiki. Inti qed tmur biex ikollhom esperjenza ħażina. U kull wieħed ħin dan huwa dak li din hija ta 'madwar. Meta nibdew ġejjin up here, huwa għaliex in-nies dehret kif jużaw l-għodod. Huma għamlu l-istess ħaġa meta databases relazzjonali ġew ivvintati, u kienu tissostitwixxi sistemi fajl. Huma ppruvaw jibnu sistemi fajl ma 'databases relazzjonali għaliex dan huwa dak in-nies mifhuma. Hija ma taħdimx. Allura fehim-aħjar prattiki tat-teknoloġija qed jaħdmu ma ' huwa enormi. Importanti ħafna. Allura aħna qed tmur biex tikseb fis DynamoDB. DynamoDB hija s AWS kompletament ġestiti pjattaforma NoSQL. Xi jfisser kompletament ġestiti jfisser? Dan ifisser li inti ma għandekx bżonn li verament tinkwieta dwar xi ħaġa. You jidħlu fi, inti tgħid us, I bżonn tabella. Jeħtieġ din il-kapaċità ħafna. Inti laqat il-buttuna, u l-provvediment aħna l-infrastruttura wara l-xena. Issa li huwa enormi. Għaliex meta inti titkellem dwar skalar 'database, Clusters data NoSQL fil iskala, petabytes tmexxija, tmexxija miljuni ta ' transazzjonijiet kull sekonda, dawn l-affarijiet mhumiex clusters żgħar. Aħna qed jitkellem eluf ta 'każijiet. Ġestjoni eluf ta 'każijiet, anke każijiet virtwali, huwa reali uġigħ fil-butt. I mean, jaħsbu dwar kull żmien Operating System garża toħroġ jew verżjoni ġdida tad-database. Xi tfisser lilek operazzjonalment? Dan ifisser li inti ltqajna 1200 servers li jeħtieġ li jiġu aġġornati. Issa anke bl-awtomazzjoni, li tista 'tieħu żmien twil. Li jista 'jikkawża ħafna ta' uġigħ ta 'ras operattivi, minħabba I jista 'jkollhom servizzi isfel. Kif taġġorna dawn id-databases, I tista 'tagħmel skjeramenti aħdar blu fejn I jużaw u jaġġornaw nofs tiegħi lymph, u mbagħad upgrade nofs l-ieħor. Ħu dawk stabbiliti. Allura imexxu l-infrastruttura iskala hija ħafna uġigħ. U AWS jieħdu dik uġigħ minnha. U databases NoSQL tista jkunu straordinarjament uġigħ minħabba l-mod kif iskala. Skala orizzontalment. Jekk inti tixtieq li tikseb NoSQL akbar database, tixtri aktar lymph. Kull node inti tixtri hija uġigħ ta 'ras operattiva ieħor. Mela ejja xi ħadd ieħor jagħmel dan għalik. AWS tista 'tagħmel dan. Aħna nappoġġaw valuri dokument ewlenin. Issa aħna ma tmurx wisq fil fuq il-karta oħra. Hemm ħafna ta 'differenti togħmiet ta 'NoSQL. Huma qed kull tip ta 'jkollna munged flimkien f'dan il-punt. Inti tista 'tħares lejn DynamoDB u jgħidu iva, aħna qed kemm dokument u valur ewlieni taħżen dan il-punt. U inti tista 'jargumentaw il-karatteristiċi ta 'wieħed fuq l-ieħor. Lili, lott ta 'dan huwa verament sitt ta 'nofs tużżana ta' l-ieħor. Kull wieħed minn dawn it-teknoloġiji huwa teknoloġija multa u soluzzjoni multa. Jien ma ngħid MongoDB huwa aħjar jew agħar minn Couch, allura Cassandra, imbagħad Dynamo, jew viċe versa. I mean, dawn huma biss għażliet. Huwa mgħaġġel u huwa konsistenti fi kwalunkwe skala. Allura dan huwa wieħed mill-akbar bonuses ikollok ma AWS. Bl DynamoDB hija l-abbiltà tikseb numru b'figura waħda baxxa latency millisekonda fi kwalunkwe skala. Li kienx xi gowl tad-disinn tas-sistema. U għandna klijenti li qed jagħmlu miljuni ta 'tranżazzjonijiet kull sekonda. Issa I ser jgħaddu xi wħud minn dawk każijiet ta 'użu fi ftit minuti hawn. Control-- aċċess Integrata għandna nsejħu Identità Aċċess Tmexxija, jew IAM. Hija ma jinxteridx f'kull sistema, kull servizz li AWS joffri. DynamoDB l-ebda eċċezzjoni. Inti tista 'tikkontrolla l-aċċess għat-tabelli DynamoDB. Madwar l AWS tiegħek kontijiet mill jiddefinixxi rwoli aċċess u l-permessi fl-infrastruttura IAM. U huwa komponent ewlieni u integrali fil nsejħu Avveniment Programmazzjoni Immexxija. Issa dan huwa mudell ġdid. UDJENZA: Kif jgħid ir-rata tiegħek ta 'veru pożittivi kontra negattivi foloz fis-sistema tiegħek kontroll ta 'aċċess? Rick HOULIHAN: veru pożittivi versus negattivi foloz? UDJENZA: Jirritornaw dak inti għandek tkun jirritornaw? Kontrarjament għal darba fil-waqt li ma ritorn meta suppost jivvalida? Rick HOULIHAN: I ma setax jgħidlek li. Jekk ikun hemm xi fallimenti tkun xi tkun fuq li, Jien ma l-persuna li titlob din id-domanda partikolari. Iżda li l-mistoqsija tajba. Inkun kurjużi li tkun taf li myself, fil-fatt. U għalhekk mbagħad, mudell ġdid hija l-ippjanar mmexxija mill-avvenimenti. Dan huwa l-idea li inti tista ' tiskjera applikazzjonijiet kumplessi li jistgħu joperaw ħafna, l-iskala għolja ħafna mingħajr ebda infrastruttura tkun xi tkun. Mingħajr l-ebda fiss infrastruttura tkun xi tkun. U aħna ser nitkellmu ftit dwar dak li tfisser kif aħna jiksbu fuq il-koppja li jmiss ta 'mapep. L-ewwel ħaġa li aħna ser nagħmlu hija aħna ser nitkellmu dwar it-tabelli. Tipi ta 'data API għall Dynamo. U l-ewwel ħaġa tkun taf Avviż meta inti tħares lejn din, jekk int familjari ma 'xi database, databases jkollhom verament żewġ tip ta 'APIs I d sejħa tiegħu. Jew żewġ settijiet ta 'API. Wieħed minn dawk tkun API amministrattiva. L-affarijiet li jieħdu ħsieb il-funzjonijiet tad-database. Konfigurazzjoni tal-magna ħażna, twaqqif u żżid tabelli. tinħoloq database katalgi u istanzi. Dawn things-- fil DynamoDB, inti għandhom qosra ħafna, listi qosra. Għalhekk fl databases oħra, inti tista 'tara għexieren tal jikkmanda, ta amministrattiva jikkmanda, għall-konfigurazzjoni dawn l-għażliet addizzjonali. Fil DynamoDB inti m'għandekx bżonn dawk minħabba inti ma kkonfigurat-sistema, nagħmlu. Allura l-unika ħaġa li għandek bżonn tagħmel huwa tell me liema daqs tabella għandi bżonn. Allura ikollok ħafna sett limitat ta 'ordnijiet. Ikollok Oħloq Tabella Update, Tabella, Ħassar Tabella, u Iddeskrivi t-Tabella. Dawk huma l-uniċi affarijiet għandek bżonn għall DynamoDB. Inti ma għandekx bżonn ħażna konfigurazzjoni tal-magna. I m'għandhomx bżonn ninkwetaw dwar replikazzjoni. I m'għandhomx bżonn ninkwetaw dwar sharding. I m'għandhomx bżonn ninkwetaw dwar xi parti minn dan il-għalf. Aħna tagħmel dan kollu għalik. Allura li l-ammont kbir ta 'overhead li jinsab biss tintrefa pjanċa tiegħek. Imbagħad għandna l-operaturi crud. Crud hija xi ħaġa dak li aħna sejħa fid-database li l- Joħolqu, jaġġornaw, iħassru operaturi. Dawn huma komuni tiegħek Operazzjonijiet database. Affarijiet simili partita mressqa, ​​jiksbu oġġett, jaġġornaw oġġetti, tħassar oġġetti, query lott, scan. Jekk inti tixtieq li skennjati l-tabella sħiħa. Iġbed kollox fuq il-mejda. Waħda mill-affarijiet sbieħ dwar DynamoDB huwa li jippermetti scanning parallel. Allura inti tista 'attwalment let me know kif ħafna ħjut inti tixtieq li jimxu fuq dan scan. U aħna tista 'taħdem dawk ħjut. Nistgħu spin li scan up madwar ħjut multipli sabiex inti tista skennjati l-tabella sħiħa ispazju ħafna, malajr ħafna fil DynamoDB. Il API oħra għandna huwa nsejħu Streams API tagħna. Aħna mhux se jitkellmu wisq ħafna dwar dan id-dritt issa. Stajt ltqajna xi kontenut aktar tard fuq fil-gverta dwar dan. Imma Streams huwa verament running-- jaħsbu li bħala l-ħin ordnat u log bidla partition. Dak kollu li jiġri fuq It-tabella turi up fuq in-nixxiegħa. Kull jikteb lill-tabella juri fuq in-nixxiegħa. Tista 'taqra li nixxiegħa, u inti tista 'tagħmel affarijiet magħha. Aħna ser jitkellmu dwar dak tipi ta 'affarijiet li inti ma 'l-affarijiet simili replikazzjoni, ħolqien ta 'indiċi sekondarji. Kull tip ta 'verament jibred affarijiet li tista 'tagħmel ma' dak. Tipi ta 'data. Fl DynamoDB, aħna nappoġġjaw tnejn ewlieni valur u dokument tad-dejta tipi. Min-naħa tax-xellug tal-iskrin hawn, konna ltqajna tipi bażiċi tagħna. Tipi ta 'valur Ewlenin. Dawn huma kordi, numri, u binaries. Allura biss tliet tipi bażiċi. U allura inti jista 'jkollhom settijiet ta' dawn. Waħda mill-affarijiet sbieħ dwar NoSQL huwa inti jista 'jkun fihom arrays huma l-proprjetajiet. U ma DynamoDB inti jista 'jkun fihom arrays ta 'tipi bażiċi bħala proprjetà għerq. U allura hemm il-tipi ta 'dokumenti. Kif ħafna nies huma familjari ma 'JSON? You guys familjari mal JSON tant? Huwa bażikament JavaScript, Għan, Notazzjoni. Huwa jippermettilek li bażikament jiddefinixxu struttura ġerarkika. Inti jista 'jaħżen dokument JSON fuq DynamoDB użu komponenti komuni jew bini blokki li huma disponibbli fil-lingwi aktar l-ipprogrammar. Mela jekk għandek Java, int tħares lejn mapep u listi. I tista 'toħloq oġġetti li mappa iż-żona. Mappa bħala valuri ewlenin maħżuna bħala li għandu proprjetajiet. U jista 'jkollhom listi ta' Valuri fi ħdan dawk il-proprjetajiet. Inti jista 'jaħżen dan il-kumpless struttura ġerarkika bħala attribut singolu ta 'oġġett DynamoDB. Allura tabelli fl DynamoDB, bħal ħafna Databases NoSQL, it-tabelli jkollha l-punti. Fil MongoDB inti sejħa dawn id-dokumenti. U jkun il-bażi couch. Wkoll dokument database. Inti sejħa dawn id-dokumenti. Dokumenti jew oġġetti jkollhom attributi. Jista 'jeżisti Attributi jew kinux jeżistu fuq l-oġġett. Fil DynamoDB, hemm attribut wieħed obbligatorju. Eżatt bħal f'database relazzjonali, għandek kodiċi primarju fuq il-mejda. DynamoDB jkun dak li nsejħu ewlieni hash. Ewlieni Hash għandu jkun uniku. Allura meta I jiddefinixxu tabella hash, bażikament dak li jien tgħid huwa kull oġġett se jkollhom ċavetta hash. U kull ewlenin hash għandu jkun uniku. Kull oġġett huwa definit minn dak ċavetta hash uniku. U jista 'jkun hemm biss wieħed. Dan huwa OK, imma oftentimes liema nies għandhom bżonn hija li jridu huwa dan hash muftieħ li jagħmlu ftit aktar milli jkun biss identifikatur uniku. Oftentimes irridu li jużaw dik ewlenija hash bħala l-quċċata barmil aggregazzjoni livell. U l-mod kif nagħmlu dan huwa billi żżid nsejħu ċavetta firxa. Mela jekk huwa hash biss mejda, dan għandu jkun uniku. Jekk huwa tabella hash u l-firxa, il- kombinazzjoni tal-hash u l-firxa għandu jkun uniku. Allura taħseb dwar dan il-mod. Jekk ikolli forum. U l-formola tkun suġġetti, hija għandha postijiet, u għandu risposti. So I jista 'jkollhom hash ewlenin, li hija l-ID suġġett. UI jista 'jkollhom firxa ewlieni, li hija l-ID rispons. B'dak il-mod jekk nixtieq nikseb l- tweġibiet għall partikolari suġġett, I tista 'biss mistoqsija l hash. I tista 'biss jgħidu jagħtu me kollha l-oġġetti li jkollhom din hash. U jien ser tikseb kull mistoqsija jew il-post għal dan is-suġġett partikolari. Dawn aggregazzjonijiet ogħla livell huma importanti ħafna. Huma jappoġġjaw l-aċċess primarja mudell ta 'l-applikazzjoni. Ġeneralment, dan huwa dak li rridu nagħmlu. Irridu li table-- kif inti tagħbija il-mejda, irridu li tistruttura d-data fi ħdan il-mejda b'tali mod li l-applikazzjoni tista 'ħafna malajr irkuprata dawk ir-riżultati. U oftentimes l-mod biex tagħmel dan huwa li jżommu dawn l-aggregazzjonijiet bħala aħna daħħal id-data. Bażikament, aħna qed tinxtered l-informazzjoni fil-barmil bright kif niġu fil. Ċwievet Medda jippermettu hash me-- ċwievet għandhom ikunu ugwaljanza. Meta I mistoqsija a hash, jien ngħid tagħti me a hash li jkun daqs dan. Meta I mistoqsija firxa, I tista 'tgħid tagħti me firxa li qed tuża kwalunkwe tip ta ' operatur b'ħafna li aħna nappoġġjaw. Agħti me-punti kollha għal hash. Huwa ugwali, akbar minn, inqas minn, ma wieħed jibda, ma teżisti bejn dawn iż-żewġ valuri? Allura dawn it-tipi ta 'mistoqsijiet firxa li aħna qed dejjem interessati fil. Issa ħaġa waħda dwar id-data, meta inti tħares lejn aċċess għad-data, meta inti aċċess għad-data, huwa dejjem dwar aggregazzjoni. Huwa dejjem dwar ir-rekords li huma relatati ma 'dan. Agħti me kollox hawn that's-- kollha it-transazzjonijiet fuq din il-karta ta 'kreditu għall-aħħar xahar. C'est aggregazzjoni. Kważi dak kollu li għandek tagħmel fil- database huwa xi tip ta 'aggregazzjoni. Allura li jkunu jistgħu jkunu kapaċi li jiddefinixxu dawn bramel u jagħtuk dawn ivarjaw attributi li jkunu jistgħu ifittxu fuq, dawk id-domandi sinjuri appoġġ ħafna, ħafna, mudelli ta 'aċċess applikazzjoni ħafna. Allura l-ħaġa oħra ċ-ċavetta hash ma huwa tagħtina mekkaniżmu li jistgħu jqassmu l-informazzjoni madwar. Databases NoSQL xogħol aħjar meta d-data hija indaqs mqassma madwar l-cluster. Kif ħafna nies huma familjari ma hashing algoritmi? Meta I say hash u hashing-- minħabba algoritmu hashing huwa mod li tkun tista 'tiġġenera valur każwali minn kull valur mogħti. Allura f'dan il-każ partikolari, il- hash algorithm we run hija ND 5 ibbażata. U jekk I jkollhom ID, u dan hija essenzjali hash tiegħi, għandi 1, 2, 3. Meta I imexxu l-hash algorithm, li għaddej biex jiġu lura u jgħidu, ukoll 1 ugwali 7B, 2 ugwali 48, 3 ugwali CD. Huma qed mifruxa madwar l-ispazju ewlenin. U għaliex taħseb li tagħmel dan? Minħabba li tiżgura li nista tpoġġi l-rekords madwar lymph multipli. Jekk qed nagħmel dan inkrementalment, 1, 2, 3. UI għandhom firxa hash li runs f'dan il-każ partikolari, spazju hash żgħir, dan jgħaddi minn 00 għal FF, allura r-rekords ser jidħlu fil u dawn qed tmur biex jmorru 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12. X'jigri? Kull inserit hi tmur għall-istess node. You see dak li jfisser I? Għaliex meta I maqsuma l-ispazju, u I jinfirxu dawn ir-rekords madwar, u I partition, jien ser ngħid partizzjoni 1 għandha spazju ewlieni 0-54. Partition 2 huwa 55-89. Partition 3 huwa AA għal FF. Mela jekk jien jużaw b'mod lineari inkrementazzjoni IDs, tista 'tara x'inhu jiġri. 1, 2, 3, 4, 5, 6, kollha triq kollha sa 54. So kif jien tismir l records fis-sistema, kollox jispiċċa ser node wieħed. Li mhux tajjeb. C'est antipattern. Fil MongoDB dawn ikollhom din il-problema jekk inti ma jużawx ċavetta hash. MongoDB jagħtik l-għażla tal hashing-valur ċavetta. Għandek dejjem tagħmel dan, jekk inti qed tuża hash inkrementazzjoni ewlieni fil MongoDB, jew tkun taf tkun nailing kull write li node wieħed, u inti tkun tillimita tikteb throughput tiegħek ħażin. UDJENZA: Hija li A9 169 fil deċimali? Rick HOULIHAN: Yeah, huwa x'imkien madwar hemmhekk. A9, I do not know. Youd għandek tikseb binarju tiegħi li calculator deċimali. Moħħ tiegħi ma jaħdimx bħal dik. UDJENZA: Just wieħed malajr tal-kummenti Mongo tiegħek. Għalhekk hija l-oġġett ID li jiġi natively ma Mongo tagħmel dan? Rick HOULIHAN: Ma tagħmel dan? Jekk inti tispeċifika dan. Bil MongoDB, inti għandek l-għażla. Tista 'specify-- kull dokument MongoDB għandu jkollhom ID enfasizzati. Dik hija l-valur uniku. Fil MongoDB inti tista 'tispeċifika jekk hash jew le. Huma biss jagħtuk l-għażla. Jekk inti taf li huwa każwali, l-ebda problema. Inti ma għandekx bżonn li tagħmel dan. Jekk inti taf li mhuwiex każwali, li huwa inkrementazzjoni, mela l hash. Issa l-ħaġa dwar hashing, ladarba inti hash a value-- u dan huwa għaliex hash keys huma dejjem mistoqsijiet uniku, għaliex stajt mibdula il-valur, issa I ma tistax tagħmel mistoqsija firxa. Ma nistax ngħid huwa dan bejn dan jew dak, minħabba li l-valur hash mhux se li jkun ekwivalenti għall-valur attwali. Allura meta inti hash li ewlenin, huwa ugwaljanza biss. Dan huwa għaliex DynamoDB ewlenin hash mistoqsijiet huma dejjem ugwaljanza biss. Allura issa fil-firxa key-- meta I żid dan ċavetta firxa, dawk ir-rekords ewlenin firxa kollha meħuda fi u huma jiksbu maħżuna fuq l-istess partition. Allura dawn huma malajr ħafna, faċilment miksuba għaliex dan huwa l hash, dan huwa l-firxa. U inti tara kollox bl-istess hash gets maħżuna fuq l-istess spazju partition. Tista 'tuża l-muftieħ firxa biex jgħinu lokalizzar data tiegħek qrib parent tagħha. Allura dak am I really tagħmel hawn? Din hija waħda li relazzjoni ħafna. Ir-relazzjoni bejn ewlieni hash u l-muftieħ firxa hija waħda li ħafna. I jista 'jkollhom keys hash multipli. I jista 'jkollhom biss firxa multipli ċwievet fi ħdan kull ewlenin hash. Il hash jiddefinixxi l-ġenitur, il-firxa jiddefinixxi t-tfal. Allura tista 'tara hemm Analog hawn bejn il jibnu relazzjonali u l-istess tipi ta ' constructs fl NoSQL. Nies jitkellmu dwar NoSQL bħala nonrelational. Mhuwiex nonrelational. Data dejjem għandha relazzjonijiet. Dawk ir-relazzjonijiet biss huma mmudellati b'mod differenti. Ejja nitkellmu ftit ftit dwar durabilità. Meta inti tikteb lill DynamoDB, jikteb huma dejjem three-way replikati. Li jfisser li għandna tliet AZ. Tal AZ huma Żoni Disponibbiltà. Inti tista 'taħseb ta' Disponibbiltà Żona bħala ċentru tad-data jew ġabra ta 'ċentri tad-data. Dawn l-affarijiet huma ġeografikament iżolati minn xulxin madwar żoni tal tort differenti, madwar netwerks tal-elettriku u għargħar differenti. Waqfien fil AZ wieħed ma jkunx se jieħdu r-ieħor. Huma wkoll marbuta flimkien ma 'fibra skura. Huwa jappoġġa sotto wieħed 1 latency millisekonda bejn AZS. Allura repliki ta 'dejta fi żmien reali kapaċi fil AZS multi. U skjeramenti AZ oftentimes multi jissodisfaw ir-rekwiżiti ta 'disponibbiltà għolja ta 'organizzazzjonijiet intrapriża l-aktar. Allura DynamoDB hija mifruxa madwar tliet AZS-kontumaċja. Aħna biss se għarfien write meta tnejn minn dawk it-tliet lymph terga 'lura u jgħidu, Yeah, I ltqajna. Għaliex huwa li? Minħabba fuq in-naħa read aħna qed biss ser jagħtuk l-informazzjoni lura meta aħna ġġibu mill żewġ punti ta 'konġunzjoni. Jekk jien jirreplikaw madwar tlieta, u jien qari minn sentejn, Jien dejjem garantit li jkollhom mill-inqas wieħed ta 'dawk jaqra li jkun il- aktar kopja attwali ta 'data. Dak hu li jagħmel DynamoDB konsistenti. Issa inti tista 'tagħżel li jduru dawk konsistenti jaqra off. F'liema każ jien ser ngħid, I taf taqra biss minn node wieħed. U jien ma nistgħux niggarantixxu li għaddej li tkun l-aktar data attwali. Mela jekk tikteb dieħel, għadu ma replikat għadhom, int ser tikseb dik il-kopja. C'est tinqara eventwalment konsistenti. U dak li huwa hu nofs l-ispiża. Allura din hija xi ħaġa li wieħed jaħseb dwar. Meta inti qed taqra out DynamoDB, u int twaqqif kapaċità taqra tiegħek unitajiet, jekk inti tagħżel eventwalment konsistenti jgħid, huwa ħafna irħas, huwa madwar nofs l-ispiża. U għalhekk jiffranka l-flus. Imma dak li l-għażla tiegħek. Jekk inti tixtieq taqra konsistenti jew li taqra eventwalment konsistenti. Dik xi ħaġa li inti tista 'tagħżel. Ejja nitkellmu dwar indiċijiet. Allura aħna semma li aggregazzjoni ogħla livell. Imxejna ltqajna ċwievet hash, u konna ltqajna ċwievet firxa. Li sbieħ. U li fuq il-mejda primarja, I ltqajna ewlieni hash waħda, sibt ċavetta firxa wieħed. Xi tfisser? Stajt ltqajna attribut wieħed li I tista 'taħdem mistoqsijiet sinjuri kontra. Hu l-muftieħ firxa. L-attributi oħra fuq dik item-- I tista 'filtru fuq dawk l-attributi. Imma I ma tistax tagħmel affarijiet simili, li jibda bil, jew akbar minn. Kif nista 'nagħmlu? I joħolqu indiċi. Hemm żewġ tipi ta ' indiċi fil DynamoDB. Indiċi huwa verament ieħor għan tat-tabella. U l-indiċi sekondarji lokali. L-ewwel waħda aħna ser nitkellmu dwar. Secondaries hekk lokali huma jikkoeżistu fuq l-istess diviżorju kif id-data. U bħala tali, huma fuq l-istess node fiżika. Dawn huma dak li nsejħu konsistenti. Tifsira, dawn se jirrikonoxxu il tikteb flimkien mat-tabella. Meta l tikteb tidħol fi, aħna ser jiktbu permezz tal-indiċi. Aħna ser write up għall-mejda, u allura aħna se jirrikonoxxu. Allura dak konsistenti. Ladarba l-write kien rikonoxxut mit-tabella, huwa garantit li l- indiċi sekondarja lokali se jkollhom l-istess viżjoni ta 'data. Imma dak li jippermetti li inti tagħmel huwa jiddefinixxu ċwievet firxa supplenti. Għandek tuża l-istess hash ewlieni bħala l-tabella primarja, minħabba li huma ko-lokat fuq il- istess partizzjoni, u dawn qed konsistenti. Imma I tista 'toħloq indiċi bil-kodiċi f'firxiet differenti. Għalhekk, per eżempju, jekk I kellhom manifattur li kellhom partijiet tabella prima li ġejjin fil. U partijiet prima jidħlu fil, u dawn qed miġbura flimkien skond il-assemblea. U forsi hemm recall. Kwalunkwe parti li kien sar minn din manifattur wara din id-data, I bżonn biex jiġbdu mil-linja tiegħi. I tista 'spin indiċi li tkun tħares, aggregazzjoni fid-data tal manifattura ta 'dik il-parti partikolari. Mela jekk mejda ogħla livell tiegħi kien diġà hashed mill-manifattur, forsi kien rranġati fuq naħa ID, I jistgħu joħolqu indiċi off dik it-tabella kif hashed mill-manifattur u varjat fuq data tal-manifattura. U li mod I tista 'tgħid, xi ħaġa li ġie mmanifatturat bejn dawn id-dati, I bżonn biex jiġbdu mill-linja. Allura dak indiċi sekondarja lokali. Dawn għandhom l-effett li jillimitaw hash ispazju prinċipali tiegħek. Minħabba li ko-teżisti fuq l-istess node ħażna, jillimitaw l-muftieħ hash ispazju għal 10 gigabytes. DynamoDB, taħt il- tabelli, se jaqsmu s mejda tiegħek kull 10 gigabytes. Meta inti tpoġġi 10 gigs ta 'data fil-, aħna go [PhH], u aħna żid node ieħor. Aħna mhux se taqsam il-LSI madwar ħitan multipli. Aħna ser taqsam il-mejda. Iżda aħna mhux se taqsam il-LSI. Allura li xi ħaġa importanti li wieħed jifhem huwa jekk int tagħmel ħafna, ħafna, aggregazzjonijiet kbar ħafna, allura int ser tkun limitata 10 gigabytes fuq LSIS tiegħek. Jekk dan huwa l-każ, nistgħu użu secondaries globali. Secondaries globali huma verament tabella ieħor. Dawn jeżistu kompletament off biex in-naħa ta 'tabella primarja tiegħek. U dawn jippermettu me biex isibu istruttura kompletament differenti. Allura jaħsbu bħala data qed tiġi mdaħħla f'żewġ tabelli differenti, strutturat f'żewġ modi differenti. I tista 'tiddefinixxi totalment ċavetta hash differenti. I tista 'tiddefinixxi totalment ċavetta firxa differenti. U jien tista 'taħdem din għal kollox indipendenti. Bħala kwistjoni ta 'fatt, stajt provisioned kapaċità taqra tiegħi u jiktbu kapaċità għall tiegħi indiċi sekondarji globali għal kollox indipendenti tat-tabella primarja tiegħi. Jekk I jiddefinixxu f'dak l-indiċi, I tell huwa kemm jaqraw u jiktbu kapaċità li għaddej biex tkun qed tuża. U li hu separat mit-tabella primarja tiegħi. Issa iż-żewġ indiċi inessu jiddefinixxu mhux biss hash u firxa ċwievet, iżda dawn jippermettu magħna biex proġett valuri addizzjonali. Mela jekk jien tixtieq li aqra l-indiċi, u nixtieq li nikseb xi sett ta 'data, I m'għandhomx bżonn li jmorru lura għall-mejn tabella li jiksbu l-attributi addizzjonali. I tista 'proġett dawk addizzjonali attributi fit-tabella biex tappoġġja l-mudell aċċess. Naf aħna qed probabbilment jkollna fis xi tassew, really-- jkollna fil-ħaxix ħażin hawn fuq xi wħud mill dan il-għalf. Now I ltqajna biex drift minn dan. UDJENZA: [inaudible] muftieħ --table fisser kien hash? Il hash oriġinali? Multi-paletti? Rick HOULIHAN: Iva. Iva. Iċ-ċavetta tabella bażikament punti lura lill-oġġett. Allura indiċi huwa pointer lura għall l-oġġetti oriġinali fuq il-mejda. Issa inti tista 'tagħżel li tibni indiċi li għandha biss l-muftieħ mejda, u l-ebda proprjetajiet oħra. U għaliex jista nagħmel dan? Well, forsi I jkollhom oġġetti kbar ħafna. I really bżonn biss li tkun taf which-- mudell aċċess tiegħi jista 'jgħid, liema oġġetti fihom din il-proprjetà? M'għandhomx bżonn biex jirritorna l-oġġett. I biss bżonn tkun taf liema oġġetti jikkontrollawha. Allura inti tista 'tibni indiċijiet li jkollhom biss il-muftieħ tabella. Imma dak li primarjament dak indiċi fid-database huwa għall. Huwa biex tkun tista 'malajr tidentifika liema rekords, li fillieri, li oġġetti fit-tabella għandhom il-proprjetajiet li jien tiftix għal. GSIs, hekk kif jaħdmu? GSIs bażikament huma mhux sinkroniku. L-aġġornament tidħol fis-tabella, tabella hija mbagħad asynchronously aġġornat kollha ta 'GSIs tiegħek. Dan huwa għaliex GSIs huma eventwalment konsistenti. Huwa importanti li wieħed jinnota li meta int bini GSIs, u inti tifhem int ħolqien dimensjoni oħra ta aggregation-- issa ejja ngħidu eżempju tajjeb hawnhekk huwa manifattur. I think I jista 'jkollhom tkellem dwar apparat manifattur mediku. Manifatturi ta 'apparat mediku oftentimes jkollhom partijiet serialized. Il-partijiet li jmorru fis sostituzzjoni tal-ġenbejn kollha jkollhom numru tas-serje ftit fuqhom. U huma setgħu miljuni u miljuni u biljuni ta 'partijiet fil-mekkaniżmi kollha li huma jittrasportaw. Ukoll, jeħtieġ li tinġabar flimkien taħt dimensjonijiet differenti, il-partijiet kollha fl-immuntar, l- partijiet li kienu saru fuq linja partikolari, Kollha il-partijiet li daħal minn manifattur partikolari f'data partikolari. U dawn aggregazzjonijiet kultant qum fil-biljuni. So I taħdem ma 'wħud mill dawn guys li qed ibatu għaliex qed joħolqu dawn aggregazzjonijiet ginormous fl indiċijiet sekondarji tagħhom. Huma jistgħu jkollhom partijiet prima tabella li ġejja bħala hash biss. Kull parti għandha numru tas-serje uniku. I jużaw in-numru tas-serje bħall-hash. Huwa sbieħ. Tabella My data prima hija mifruxa kollha madwar l-ispazju ewlenin. My [? jiktbu?] [? inġestjoni?] huwa tal-biża. I jieħdu ħafna ta 'data. Imbagħad dak li jagħmlu huwa li joħolqu GSI. U jien ngħidlek, inti taf liema, I bżonn biex tara l-partijiet kollha għall dan il-manifattur. Ukoll, kollha f'daqqa jien teħid biljun ringieli, u l-għalf minnhom fuq node wieħed, għaliex meta I aggregata bħala l- ID manifattur bħala l-hash, u numru tal-parti kif il-firxa, mbagħad kollha f'daqqa jien tqegħid biljun partijiet fil dak dan il-manifattur tkun tat me. Li jista 'jikkawża ħafna ta 'pressjoni fuq il-GSI, għal darb'oħra, għaliex jien tismir node wieħed. Jien tqegħid dawn kollha introduċa fid node wieħed. U li l-każ reali użu problematiku. Issa, I ltqajna disinn tajjeb mudell għal kif inti tevita dan. U dan huwa wieħed mill-problemi li jien dejjem jaħdmu magħhom. Imma x'jiġri, huwa l-GSI jista tantx għandu kapaċità write biżżejjed biex tkun tista 'timbotta dawk kollha ringieli ġo node wieħed. U dak li jiġri allura huwa l- primarja, it-tabella klijent, il tabella primarja se jkun throttled minħabba li l-GSI ma jistgħux ilaħħqu. Allura daħħal rata tiegħi se jaqa 'fuq il-mejda primarja kif GSI tiegħi tipprova tlaħħaq. Kull dritt, hekk li GSI, tal LSI, liema waħda għandi nuża? Tal LSI jkunu konsistenti. Tal GSI huma eventwalment konsistenti. Jekk dan huwa OK, I jirrakkomandaw użu ta ' GSI, dawn qed ħafna aktar flessibbli. Tal LSI jistgħu jkunu mudellati bħala GSI. U jekk id-daqs tad-data għal kull keys hash fil ġbir tiegħek jaqbeż 10 gigabytes, allura int ser jridu jużaw dan GSI għaliex huwa biss limitu iebsa. Kull dritt, hekk skalar. Produzzjoni fl Dynamo DB, inti dispożizzjoni tista [inaudible] throughput għal tabella. Aħna għandna klijenti li jkollhom provisioned 60 billion-- qed jagħmlu 60 biljun talbiet, regolarment għaddej b'rata aktar minn miljun talbiet kull sekonda fuq tabelli tagħna. Hemm verament ebda limitu teoretiku għal kemm u kif fast-tabella tista 'taħdem fil Dynamo DB. Hemm xi soft limiti fuq il-kont tiegħek li nitfgħu fil hemm hekk li inti ma jmorrux crazy. Jekk trid aktar minn li, mhux problema. Inti come jgħidulna. Aħna ser dawran sa l-arloġġ. Kull kont huwa limitat għal xi livell f'kull servizz, just off BAT sabiex il-poplu ma jmorrux crazy jiksbu ruħhom fi trouble. L-ebda limitu fid-daqs. Inti tista 'tpoġġi kwalunkwe numru ta 'oġġetti fuq mejda. Id-daqs ta 'punt huwa limitati għal 400 kilobytes kull wieħed, li tkun oġġett mhux l-attributi. Allura l-ammont ta 'attributi kollha huwa limitat għal 400 kilobytes. U mbagħad, għandna li ftit kwistjoni LSI mal-limitu ta '10 gigabyte kull hash. UDJENZA: Numru Żgħar, jien nieqsa dak li qed javżak me, li is-- UDJENZA: Oh, 400 kilobyte huwa d-daqs massimu għal kull oġġett. Allura oġġett għandu l-attributi. Allura 400 k huwa d-daqs totali ta 'dik il-partita, 400 kilobytes. Allura ta 'l-attributi magħquda, id-data kollha li fil dawk l-attributi kollha, rroljati fi daqs totali, Bħalissa illum il-limitu oġġett huwa 400 k. Allura skalar darb'oħra, miksub permezz partizzjoni. Throughput hu allokat fil-livell mejda. U hemm verament żewġ pumi. Aħna qrajt kapaċità u jiktbu kapaċità. Allura dawn huma aġġustati indipendentement minn xulxin. Miżura RCU strettament konsistenti taqra. OK, hekk jekk inti qed tgħid Irrid 1000 Tal RCU dawn huma strettament konsistenti, dawn huma konsistenti jaqra. Jekk tgħid irrid eventwali konsistenti jgħid, inti tista dispożizzjoni 1000 S RCU, int ser tikseb 2,000 eventwalment konsistenti jaqra. U nofs il-prezz għal dawk eventwalment tikkonsisti fil jaqra. Għal darb'oħra, aġġustat indipendentement minn xulxin. U għandhom l throughput-- Jekk inti jikkunsmaw 100% tal RCU tiegħek, int mhux se tinfluwenza l- disponibbiltà tad-drittijiet tiegħek. Allura dawn huma kompletament indipendenti minn xulxin. Dritt kollox, sabiex wieħed mill-affarijiet li Semmejt fil-qosor kien throttling. Throttling huwa ħażin. Throttling jindika ħażina ebda SQL. Hemm affarijiet li nistgħu nagħmlu biex tgħin inti ittaffi l-throttling li inti qed jesperjenzaw. Iżda l-aħjar soluzzjoni li dan huwa ejja tagħti ħarsa lejn dak li qed tagħmel, għaliex hemm xi anti-mudell fil-logħob hawn. Dawn l-affarijiet, affarijiet simili mhux uniformi loads, ċwievet sħun, ħitan sħun. Jien laqtu spazju partikolari ewlenin iebsa ħafna għal xi raġuni partikolari. Why am I tagħmel dan? Ejja figura li out. Jien taħlit data sħun tiegħi ma 'data kiesaħ. Jien kiri tabelli tiegħi tikseb enormi, imma hemm verament biss xi wħud subsett tad-data li tassew interessanti għalija. Allura għal data log, per eżempju, ħafna klijenti, huma jiksbu log data kuljum. Huma kisbu ammont kbir ta 'dejta taz-zokk. Jekk int biss dumping dak kollu li log nformazzjoni tabella waħda big, matul iż-żmien dik it-tabella għaddej biex tikseb enormi. Imma jien verament biss interessati fil aħħar 24 siegħa, l-aħħar sebat ijiem, l-aħħar 30 jum. Tkun xi tkun il-tieqa ta 'żmien li jien interessati fil tħares għall-avveniment li bothers me, jew F'każ li interessanti lili, dak l-uniku ħin tieqa li għandi bżonn. Allura għaliex jien tqegħid 10 snin valur ta 'dejta taz-zokk fit-tabella? Dak li jikkawża huwa il tabella l framment. Jiġrilha enormi. Dan jibda tifrix madwar eluf ta lymph. U peress kapaċità tiegħek tant hi baxxa, int fil-fatt jillimita r-rata fuq kull wieħed ta'dawk il-lymph individwali. Mela ejja tibda tħares lejn kif nistgħu roll dik it-tabella fuq. Kif nistgħu jimmaniġġjaw li d-data ftit aħjar li tevita dawn il-problemi. U dak li ma look like? Dan huwa dak li qisu. Dan huwa dak NoSQL ħażin Dehra. I ltqajna ċavetta sħun hawn. Jekk inti tħares fuq in-naħa hawn, dawn huma ħitan kollha tiegħi. Sibt 16 ħitan up here fuq din id-database partikolari. Aħna nagħmlu dan il-ħin kollu. I run dan għall-klijenti kull żmien. Huwa sejjaħ il-mappa sħana. Mappa tas-sħana jgħidlekx me kif int aċċess ispazju prinċipali tiegħek. U dak li din hija javżak me huwa li hemm hash wieħed partikolari li dan Guy jħobb orribbli ħafna, għaliex huwa laqtu tassew, tassew iebsa. Allura l-blu huwa sbieħ. Aħna bħal blu. Aħna ma simili aħmar. Fejn il-pressjoni Red gets sa 100%. 100%, issa int ser tkun throttled. Allura kull meta inti tara xi linji ħomor bħall this-- u huwa mhux biss Dynamo DB-- kull database NoSQL għandu din il-problema. Hemm anti-mudelli li tista jsuq dawn it-tipi ta 'kundizzjonijiet. What I do huwa naħdem mal-klijenti biex itaffu dawn il-kundizzjonijiet. U dak li ma look like? U dan huwa jkollna l-aktar minn throughput Dynamo DB, imma hija verament jkollna l-aħjar mill NoSQL. Dan mhux ristrett għal Dynamo. Dan huwa I definitely-- użati biex jaħdmu fuq Mongo. Jien familjari ma 'pjattaformi NoSQL ħafna. Kull wieħed għandu dawn it-tipi ta 'problemi ewlenin sħun. Biex tikseb l-aħjar ta 'kwalunkwe NoSQL database, speċifikament Dynamo DB, inti tixtieq li toħloq il-tabelli fejn l-element ewlieni hash għandha numru kbir ta 'valuri distinti, grad għoli ta 'cardinality. Minħabba dan ifisser jien bil-miktub għal lottijiet ta 'bramel differenti. Il bramel aktar jien miktub lill, l-aktar probabbli I am li jinfirxu li tagħbija tikteb jew aqra tagħbija out madwar lymph multipli, l-aktar probabbli I am li jkollhom throughput għolja fuq il-mejda. U mbagħad I jridu li l-valuri li jkunu talab pjuttost b'mod ugwali matul iż-żmien u uniformi kemm saltwarjament possibbli. Ukoll, li tip ta 'interessanti, minħabba I ma jistgħux verament kontroll meta l-utenti ġejjin. Allura biżżejjed li jingħad, jekk aħna mifruxa affarijiet out madwar l-ispazju ewlenin, aħna ser probabbilment ikunu fil-forma aħjar. Hemm ċertu ammont ta 'ħin tal-kunsinna li int mhux se Għandu jsir monitoraġġ jistgħu. Imma dawn huma verament l- żewġ dimensjonijiet li għandna, ispazju, l-aċċess indaqs tixrid, iż-żmien, it-talbiet li jaslu imqassmin indaqs fil-ħin. U jekk dawn iż-żewġ kondizzjonijiet ikunu milħuqa, allura dan huwa dak li huwa ser look like. Dan huwa ħafna nicer. Aħna verament kuntenta hawn. Imxejna ltqajna mudell aċċess anke ħafna. Yeah, forsi int jkollna ftit pressjoni u mbagħad kull issa, iżda xejn verament wisq estensiva. Allura huwa aqwa kif ħafna drabi, meta I xogħol mal-klijenti, li l-ewwel grafika ma 'l-ħamra big bar u dak kollu li ikrah isfar huwa kollha fuq il-post, aħna nikseb jsir l-eżerċizzju wara ftit xhur tal-arkitettura mill-ġdid, dawn qed taħdem l-istess eżatt ammont ta 'xogħol fl-istess tagħbija eżatt. U dan huwa dak huwa tfittex simili issa. Allura dak ikollok ma NoSQL huwa schema data li huwa assolutament marbuta mal-mudell aċċess. U inti tista 'jottimizzaw li schema data biex tappoġġa dak mudell aċċess. Jekk inti ma, allura int ser biex tara dawk it-tipi ta 'problemi ma 'dawk ċwievet sħun. UDJENZA: Well, inevitabbilment xi postijiet ser ikunu hotter minn oħrajn. Rick HOULIHAN: Dejjem. Dejjem. Yeah, I tfisser dejjem hemm a-- u għal darb'oħra, hemm xi mudelli tad-disinn aħna ser jiksbu permezz li se jitkellmu dwar kif inti jittrattaw ma 'dawn aggregazzjonijiet super kbar. I mean, I ltqajna li jkollhom magħhom, kif nistgħu jittrattaw magħhom? I ltqajna każ użu pjuttost tajba li aħna ser nitkellmu dwar għal dan. Dritt kollox, so ejja nitkellmu dwar xi klijenti issa. Dawn guys huma AdRoll. I do not know jekk int familjari ma 'AdRoll. You probabbilment tara minnhom ħafna fuq il-browser. Huma qed ad ri-immirar, dawn qed l-akbar negozju ad ri-immirar hemmhekk. Huma normalment regolarment mmexxija fuq 60 biljun transazzjoni kuljum. Li qed isir fuq minn miljun transazzjonijiet kull sekonda. Huma ħadthom ltqajna tabella pretty sempliċi istruttura, it-tabella traffikużi. Huwa bażikament biss muftieħ hash huwa l-cookie, il-firxa hija l-demografika kategorija, u mbagħad it-tielet attribut huwa l-punteġġ. Allura aħna kollha għandhom cookies fil browser tagħna minn dawn guys. U meta inti tmur lil merkantili parteċipanti, huma bażikament punteġġ inti madwar diversi kategoriji demografiċi. Meta inti tmur għal websajt u tgħid Irrid nara dan ad-- jew bażikament inti ma jgħidux that-- imma meta inti tmur għall-websajt jgħidu inti tixtieq li tara dan ad. U dawn imorru nikseb li ad minn AdRoll. AdRoll jistenna inti up fuq il-mejda tagħhom. Isibu cookie tiegħek. Min jirreklama javżak minnhom, nixtieq xi ħadd Min hu middle-aged, Raġel 40-il sena, fis-isports. U huma punteġġ inti f'dawk demografija u jiddeċiedu jekk jew le li l-ad tajba għalik. Issa dawn ikollhom SLA ma fornituri reklamar tagħhom li jipprovdu sub-10 millisekonda rispons fuq kull talba waħda. Allura li qed jużaw Dynamo DB għal dan. Huma qed jolqot lilna miljun kull sekonda. Huma qed kapaċi biex jagħmlu dak kollu tagħhom lookups, triage li d-data kollha, u li tikseb rabta add lura għal dak jirreklama taħt l-10 millisekondi. Huwa tassew pjuttost fenomenali implimentazzjoni li huma għandhom. Dawn guys actually-- huma dawn l-guys. M'inix ċert jekk huwa dawn guys. Jista 'jkun dawn guys. Bażikament told us-- no, I ma naħsibx li kien lilhom. Naħseb li kien xi ħadd ieħor. I kien qed jaħdem ma ' klijent li told me li issa li ħadthom marret għall Dynamo DB, dawn qed infiq aktar flus fuq snacks għall tim ta 'żvilupp tagħhom kull xahar milli jonfqu fuq id-database tagħhom. Allura dan ser jagħtik idea tal-iffrankar fl-ispejjeż li tista 'tikseb fil Dynamo DB huwa enormi. Kull dritt, dropcam l kumpannija oħra. Dawn Guy-xorta of-- jekk taħseb tal-internet tal-affarijiet, dropcam hija bażikament video internet sigurtà. Inti tpoġġi kamera tiegħek hemmhekk. Camera għandha detector mozzjoni. Xi ħadd jidħol tul, iqanqal punt CUÉ. Camera jibda reġistrazzjoni għal waqt till dan ma jkunx induna xi mozzjoni aktar. Tpoġġi li l-video fuq l-internet. Dropcam kienet kumpanija li hija bażikament jinqalbu għal Dynamo DB minħabba li kienu qed jesperjenzaw uġigħ jikbru enormi. U dak li qalulna, f'daqqa waħda petabytes ta 'data. Huma kellhom ebda idea ta 'servizz tagħhom se tkun tant suċċess. Aktar video deħlin minn YouTube huwa dak dawn guys huma jkollna. Dawn jużaw DynamoDB sabiex jittraċċjaw il- metadata fuq punti ewlenin video kollha tagħhom. Sabiex ikollhom bramel S3 huma push l-artifacts binarja fis. U allura dawn għandhom Rekords Dynamo DB li punt nies biex dawk S3 tliet oġġetti. Meta jkollhom bżonn li wieħed iħares lejn video, huma jfittxu up-rekord fl Dynamo DB. Ikklikkja l-link. Huma jiġbdu l-video minn S3. Allura dak it-tip ta 'dak li dan qisu. U dan huwa dritta mill-tim tagħhom. Dynamo DB inaqqas tagħhom ħin tal-kunsinna għal avvenimenti vidjo minn ħamsa sa 10 sekondi. Fil-maħżen relazzjonali tagħhom qodma, huma użati li jkollhom imorru u tesegwixxi mistoqsijiet kumplessi multipli lill figura liema videos biex jiġbdu l isfel, għal inqas minn 50 millisekondi. Allura huwa aqwa, aqwa prestazzjoni kemm inti tista 'tikseb meta inti jottimizzaw u inti tixgħel il database sottostanti biex tappoġġja l-mudell aċċess. Halfbrick, dawn guys, x'inhu, Frott Ninja I raden huwa ħaġa tagħhom. Li runs kollha fuq Dynamo DB. U dawn guys, dawn huma kbar tim ta 'żvilupp, żvilupp kbir shop. Mhux ops tim tajjeb. Huma ma għandhom ħafna tar-riżorsi operazzjoni. Huma kienu qed jitħabtu jippruvaw iżommu infrastruttura applikazzjoni tagħhom sa u t-tmexxija. Huma daħal lilna. Huma ħares lejn dak Dynamo DB. Huma qalu, li għalina. Huma bnew kollu tagħhom qafas applikazzjoni fuqha. Xi kummenti tassew sbieħ hawn mit-tim fuq il-ħila tagħhom li issa jiffokaw fuq il-bini il-logħba u mhux jkollhom iżommu l- infrastruttura, li kienet qed issir ammont enormi ta 'overhead għat-tim tagħhom. Allura din hija xi ħaġa that-- l jibbenefikaw li ikollok minn Dynamo DB. Dritt kollox, jkollna fis immudellar data hawn. U tkellimna ftit dwar dan wieħed għal wieħed, wieħed għal ħafna, u ħafna għal relazzjonijiet tip ħafna. U kif taħseb li żżomm dawk fil Dynamo. Fl Dynamo DB nużaw indiċi, ġeneralment, biex idawwar il-data minn flavor għall-oħra. Ċwievet hash, ċwievet firxa, u indiċi. F'dan il-partikolari eżempju, kif ħafna mill-Istati xi rekwiżit ta 'liċenzjar li biss liċenzja tas-sewwieq wieħed għal kull persuna. Inti ma tistax tmur biex taqbad żewġ sewwieq liċenzji fl-istat ta 'Boston. I ma tistax tagħmel dan fil Texas. Dik hija tip tal-mod li bih. U hekk fil-DMV, għandna lookups, aħna trid tfittex up liċenzja tas-sewwieq bin-numru tas-sigurtà soċjali. Irrid li tfittex l-utent dettalji billi numru tal-liċenzja tas-sewwieq. Allura aħna jista 'jkollhom tabella ta' utent li għandha ċavetta hash fuq in-numru tas-serje, jew in-numru tas-sigurtà soċjali, u attributi differenti definit fuq l-oġġett. Issa fuq dik it-tabella I jista jiddefinixxu GSI li Flips li madwar li tgħid nixtieq ewlieni hash fuq il-liċenzja u mbagħad l-oġġetti l-oħra. Issa jekk irrid għall-mistoqsija u jsibu l- numru tal-liċenzja għal kull Soċjali partikolari Numru tas-Sigurtà, nista ' query il-mejda prinċipali. Jekk irrid mistoqsija u nixtieq biex jiksbu l--sigurtà soċjali Numru jew attributi oħra minn numru tal-liċenzja, I tista 'mistoqsija l GSI. Dak il-mudell huwa li wieħed relazzjoni waħda. Just a GSI sempliċi ħafna, flip dawk l-affarijiet madwar. Issa, jitkellmu dwar wieħed għal ħafna. Wieħed li ħafna huwa bażikament ċavetta firxa hash tiegħek. Fejn irridu jiksbu ħafna ma 'dan każ użu hija data monitor. Data Monitor tiġi fi regolari intervall, bħall-internet ta 'affarijiet. Aħna dejjem jiksbu dawn kollha rekords li ġejjin fil-ħin kollu. U nixtieq li ssib l-qari bejn perjodu ta 'żmien partikolari. Huwa query komuni ħafna fil infrastruttura monitoraġġ. Il-mod tmur dwar dan huwa li tinstab istruttura tal-mejda sempliċi, tabella waħda. Stajt ltqajna tabella kejl apparat ma 'ċavetta hash fuq l-apparat ID. UI għandhom ċavetta firxa fuq il- timestamp, jew f'dan il-każ, il-epika. U li tippermetti me tesegwixxi kumpless mistoqsijiet kontra dik ewlenija firxa u jirritorna dawk rekords li huma relattivi għar-riżultat sett li jien infittxu. U hija tibni li wieħed relazzjoni ħafna fit-tabella primarja bl-użu ewlieni hash, l-istruttura ewlenija firxa. Allura dak it-tip ta mibnija fit-tabella fl Dynamo DB. Meta I jiddefinixxu hash u tabella firxa t, jien li jiddefinixxi waħda li relazzjoni ħafna. Huwa relazzjoni ġenitur-wild. Ejja nitkellmu dwar ħafna għal ħafna relazzjonijiet. U għal dan l-eżempju partikolari, għal darb'oħra, aħna qed tmur biex tuża s GSI. U ejja nitkellmu dwar logħob xenarju fejn għandi utent partikolari. I tixtieq issir taf l-logħob li hu rreġistrat għall jew playing fi. U għal logħba partikolari, I tixtieq li ssib l-utenti kollha. Allura kif nista 'nagħmlu? My logħob utent tabella, jien ser li għandhom ċavetta hash tal user ID u ewlieni firxa tal-logħba. Allura l-utent jista 'jkollhom logħob multipli. Huwa wieħed li relazzjoni ħafna bejn l-utent u l-logħob jilgħab. U mbagħad fuq il-GSI, I ser flip li madwar. I ser hash fuq il-logħba u I ser ivarjaw fuq l-utent. Mela jekk jien tixtieq li tikseb l- logħba tal-utent tal playing fi, I ser query il-mejda prinċipali. Jekk I rridu nġibu l-utenti kollha li qed jilagħbu logħba partikolari, I query il GSI. Allura inti tara kif nagħmlu dan? Inti tibni dawn GSI li tappoġġja l- każ użu, l-applikazzjoni, l-aċċess mudell, l-applikazzjoni. I Jekk bżonn għall-mistoqsija fuq din id-dimensjoni, let me joħolqu indiċi fuq dik id-dimensjoni. Jekk jien ma, I do not care. U skond il-każ l-użu, I jistgħu jeħtieġu l-indiċi jew I ma jkunx. Jekk huwa wieħed sempliċi għal ħafna, il tabella primarju huwa multa. I Jekk bżonn tagħmel dawn ħafna biex ħafna; jew I bżonn tagħmel wieħed lil dawk, allura forsi I do bżonn għat-tieni l-indiċi. Allura dan kollu jiddependi fuq dak li nkun qiegħed tipprova tagħmel u dak li jien tipprova tikseb jitlestew. Probabbilment Jien ma jmur biex jonfqu wisq ħafna ħin jitkellem dwar dokumenti. Dan gets ftit, probabbilment, aktar profonda minn għandna bżonn immorru fis. Ejja nitkellmu ftit espressjoni mistoqsija dwar sinjuri. Għalhekk fl Dynamo DB għandna l-kapaċità li joħolqu dak li nsejħu espressjonijiet projezzjoni. Espressjonijiet Projezzjoni huma sempliċiment picking-għelieqi jew il-valuri li inti tixtieq li display. OK, so I jagħmlu għażla. I jagħmlu mistoqsija kontra Dynamo DB. U jien ngħidlek, inti taf liema, juru me biss l-reviżjonijiet ħames stilel għal dan il-prodott partikolari. Allura li kollox Irrid nara. Ma rridx biex tara l- attributi oħra tal-filliera, I biss trid tara dan. Huwa biss bħal fil SQL meta inti jgħidu star selettiv jew mit-tabella, ikollok kollox. Meta I say isem tagħżel minn mejda, I biss jiksbu attribut wieħed. Huwa l-istess tip ta 'ħaġa fil Dynamo DB jew databases ieħor NoSQL. Espressjonijiet filtru ippermettuli bażikament tnaqqas ir-riżultat jitniżżlu. So I jagħmlu mistoqsija. Mistoqsija tista 'terga' lura bi 500 punti. Imma I biss jridu li l-oġġetti li għandhom attribut li tgħid dan. OK, so ejja jiffiltraw dawk l-oġġetti li ma taqbilx ma 'dik mistoqsija partikolari. Allura aħna għandna espressjonijiet filtru. Espressjonijiet Iffiltra jista 'titħaddem fuq kull attribut. Dawn mhux qed simili mistoqsijiet firxa. Tqajjem mistoqsijiet huma aktar selettivi. Mistoqsijiet filtru jeħtieġu me imorru jiksbu r-riżultati kollha stabbiliti u mbagħad jaqtgħu barra l-data Ma rridx. Għaliex huwa importanti li? Minħabba I taqraha kollha. Fil mistoqsija, jien ser jaqraw u li għaddej biex tkun ġgant dwar id-data. U allura jien ser ifittxu dak li għandi bżonn. U jekk jien biss jiddelimitaw a ftit ringieli, allura dak l-OK. Mhuwiex daqshekk ineffiċjenti. Imma jekk jien qari pile sħiħ ta ' data, just biex ifittxu oġġett wieħed, imbagħad jien ser tkun aħjar mitfi bl-użu query firxa, għaliex dan huwa ferm aktar selettiv. Huwa ser tiffranka me ħafna ta ' flus, minħabba I tħallas għal dak jinqara. Fejn ir-riżultati li jiġi lura tinqasam dik il-wajer jista 'jkun iżgħar, imma jien tħallas għall-jaqra. Allura wieħed jifhem kif int jkollna l-informazzjoni. Li l-importanti ħafna fil Dynamo DB. Espressjoni kondizzjonali, dan huwa dak li inti tista 'sejħa qfil ottimisti. Aġġornament Jekk ma jeżisti, jew jekk dan il-valur ikun ekwivalenti għal dak I jispeċifika. U jekk ikolli ħin timbru fuq rekord, I jista 'jaqra d-data. I jistgħu jinbidlu dik id-data. I jista 'jmur write li data b'lura għad-database. Jekk xi ħadd biddel ir-rekord, l timestamp setgħu nbiddlu. U li mod kondizzjonali tiegħi aġġornament jista 'jgħid aġġornament jekk il-timestamp ugwali dan. Jew l-aġġornament se jfallu minħabba xi ħadd Aġġornata-rekord fil-frattemp. Dak hu li nsejħu qfil ottimisti. Dan ifisser li xi ħadd jista 'jidħol fi u bidla, u jien ser jiskopriha meta mmur lura li tikteb. U mbagħad I jistgħu attwalment taqra li data u jgħidu, oh, huwa mibdul dan. I ħtieġa li jagħtu kont għal dak. U nista 'bidla l-informazzjoni fil tiegħi jirreġistraw u japplika ieħor aġġornament. Allura inti tista 'qabda dawk inkrimentali aġġornamenti li jseħħu bejn il-ħin li inti taqra l-informazzjoni u l- ħin li inti tista 'tikteb l-informazzjoni. UDJENZA: U l-filter espressjoni fil-fatt ifisser li ma fin-numru jew not-- [INTERPOSING VOICES] Rick HOULIHAN: I mhux se jiksbu wisq fis dan. Din hija keyword riżervati. L-opinjoni lira huwa riservat keyword fil Dynamo DB. Kull database għandha tagħha stess riżervati ismijiet għal kollezzjonijiet inti ma tistax tuża. Dynamo DB, jekk inti tispeċifika lira quddiem din, tista 'tiddefinixxi dawk l-ismijiet up hawn fuq. Dan huwa valur referenzjata. Huwa probabbilment mhux l-aħjar sintassi biex jkollhom up hemm għal din id-diskussjoni, għaliex jiġrilha fis xi real-- Nixtieq kienu jitkellmu aktar dwar li fuq livell aktar profond. Iżda huwa biżżejjed li jingħad, dan jista tkun query scan fejn views-- lanqas fehmiet lira huwa akbar minn 10. Huwa valur numeriku, iva. Jekk trid, nistgħu nitkellmu dwar li wara d-diskussjoni. Kull dritt, hekk aħna qed jkollna fis xi xenarji fl-aħjar prattiki fejn aħna qed tmur biex jitkellmu dwar xi apps hawn. X'inhuma l-każijiet ta 'użu għal Dynamo DB. Liema huma d-disinn mudelli fil Dynamo DB. U l-ewwel wieħed aħna qed tmur biex jitkellmu dwar huwa l-internet ta 'affarijiet. Allura irridu jiksbu ħafna of-- I raden, dak li huwa it-- aktar minn 50% ta 'traffiku fuq l-internet f'dawn il-jiem huwa attwalment iġġenerata minn magni, proċessi awtomatizzati, mhux minn bnedmin. I tfisser dan ħaġa din ħaġa li tkun qed iġġorr madwar fil-but tiegħek, kemm id-data li din ħaġa hija fil-fatt tibgħat madwar mingħajr ma inti jafu huwa assolutament aqwa. Lokalità tiegħek, l-informazzjoni dwar kif fast int ser. Kif taħseb xogħlijiet Google Maps meta jgħidlek dak it-traffiku huwa. Huwa minħabba li hemm miljuni u miljuni ta 'nies tas-sewqan madwar mal-telefon li jibgħat data kollha fuq il-post il-ħin kollu. Allura wieħed mill-affarijiet dwar dan it-tip ta 'data li tidħol fi, data monitor, log data, data serje tal-ħin, huwa huwa normalment biss interessanti għal xi ftit ta 'żmien. Wara dak iż-żmien, huwa mhux hekk interessanti. Allura aħna tkellem dwar, ma let dawk it-tabelli jikbru mingħajr limiti. L-idea hija li forsi stajt ltqajna 24 sigħat jiswew ta 'avvenimenti fil tabella hot tiegħi. U dik it-tabella sħun se tkun provisioned b'rata għolja ħafna, għaliex dan huwa tieħu ħafna ta 'data. Huwa jieħu ħafna ta 'data fi u jien qari tagħha ħafna. Stajt qbilna ħafna ta 'operazzjoni mistoqsijiet running kontra dik id-dejta. Wara 24 siegħa, ħej, inti taf liema, I do not care. Hekk forsi kull I roll nofs il-lejl tabella tiegħi fuq għal tabella ġdida u I deprovision din it-tabella. U jien ser jieħdu u l-RCU tal Down WCU għax-24 siegħa wara Jien ma timxix daqs mistoqsijiet kontra dik id-data. Hekk jien ser jiffranka l-flus. U forsi 30 jum wara I ma anki ħtieġa li tinteressana kollha. I tista 'tieħu l WCU tal it-triq kollha sa wieħed, għaliex inti taf liema, huwa qatt se tikseb bil-miktub lill. Id-data hija 30 ġurnata. Hija qatt bidliet. U huwa kważi qatt se tikseb tinqara, so ejja ħu li RCU isfel sa 10. U jien iffrankar ton ta 'flus fuq dan data, u l-ħlas biss għal data sħun tiegħi. Allura li l-ħaġa importanti li wieħed iħares lejn meta inti tħares lejn serje temporali data li ġejjin fil fil-volum. Dawn huma strateġiji. Issa, I tista 'biss let kollha jmorru għall-istess tabella u just let dik it-tabella jikbru. Eventwalment, jien ser tara kwistjonijiet ta 'prestazzjoni. Jien ser ikollhom jibdew arkivju xi wħud li d-data fuq il-mejda, dak li mhux. Ejja ħafna aħjar disinn applikazzjoni tiegħek sabiex inti tista 'topera b'dan il-mod id-dritt. Allura huwa biss awtomatiku fil-kodiċi applikazzjoni. F'nofs il-lejl kull lejl f'rombli il-mejda. Forsi dak I bżonn huwa jiżżerżqu tieqa ta '24 siegħa ta' data. Imbagħad fuq bażi regolari jien sejħa data fuq il-mejda. Jien tirqim dan ma ' Xogħol Cron u jien tqegħid fuq dawn it-tabelli l-oħra, kwalunkwe għandek bżonn. Mela jekk estensjoni xogħlijiet, li l-kbir. Jekk le, raqam dan. Imma ejja jżommu dik id-data sħun bogħod minn data kiesaħ tiegħek. Hija ser tiffranka ħafna flus u jagħmlu tabelli tiegħek aktar prestazzjoni. Allura l-ħaġa li jmiss aħna ser nitkellmu dwar huwa katalogu tal-prodott. Katalogu tal-prodott hija każ użu pretty komuni. Dan huwa attwalment mudell komuni ħafna li aħna ser tara fil-varjetà ta 'affarijiet. You know, Twitter għal Pereżempju, tweet hot. Kulħadd li ġejjin u ħtif li tweet. Katalogu tal-prodott, I ltqajna bejgħ. I ltqajna bejgħ sħun. Sibt 70,000 talbiet għal kull tieni li ġejjin għal prodott Deskrizzjoni minn katalogu tal-prodott tiegħi. Naraw dan fuq il-bejgħ bl-imnut operazzjoni pjuttost ftit. Allura kif nistgħu tittratta dik? M'hemm l-ebda mod biex jittrattaw ma 'dak. L-utenti kollha tiegħi trid tara l-istess biċċa ta 'data. Huma qed ġejjin fi, fl-istess ħin. U dawn qed kollha jagħmlu talbiet għall-istess biċċa ta 'data. Dan jagħti me li ewlieni sħun, li aħmar big strixxa fuq chart tiegħi li aħna ma simili. U dan huwa dak li qisu. Allura madwar ispazju ewlieni tiegħi jien jkollna martellat fil-oġġetti bejgħ. Jien jkollna xejn imkien ieħor. Kif nista tittaffa din il-problema? Well, aħna tittaffa din ma cache. Cache, inti tpoġġi bażikament fil-memorja partizzjoni quddiem tad-database. Aħna rnexxielna [Inaudible] cache, kif inti tista 'twaqqaf cache tiegħek stess, [inaudible] cache [? d,?] kulma trid. Poġġi li fil quddiem tad-database. U li mod inti jista 'jaħżen dik id-data minn dawk ċwievet sħun sa f'dak cache ispazju u tinqara minn ġol-cache. U allura l-iktar ta 'tiegħek taqra tibda tfittex bħal dan. Sibt dawn kollha cache hits up here u sibt xejn jiġri stabbiliti hawn minħabba database huwa kkostitwit wara l- cache u l jaqra qatt ma jaslu permezz. Jekk nibdel-data fl- database, I jkollhom jaġġornaw l-cache. Nistgħu nużaw xi ħaġa bħal steams biex tagħmel dan. U jien ser jispjegaw kif din taħdem. Dritt kollha, messaġġi. Email, aħna kollha jużaw l-email. Dan huwa eżempju pjuttost tajba. Imxejna ltqajna xi tip ta 'messaġġi tabella. U aħna ltqajna inbox u outbox. Dan huwa dak li l-SQL kieku look like biex tinbena din inbox. Aħna tip ta 'l-użu l-istess tip ta 'strateġija għall-użu GSI, tan-GSI għall inbox tiegħi u outbox tiegħi. So I ltqajna messaġġi prima li ġejjin fis-mejda messaġġi tiegħi. U l-ewwel approċċ għal din jista 'jkun, jiġifieri, OK, l-ebda problema. Stajt ltqajna messaġġi prima. Messaġġi li ġejjin [inaudible], messaġġ ID, li l-kbir. C'est hash unika tiegħi. Jien ser toħloq żewġ s GSI, wieħed għall inbox tiegħi, wieħed għal outbox tiegħi. U l-ewwel ħaġa I ser tagħmel huwa I ser ngħid ewlieni hash tiegħi huwa se tkun ir-riċevitur u Jien ser jirranġaw fid-data. Dan huwa meraviljuż. Sibt ħsieb sbieħ tiegħi hawn. Iżda hemm kwistjoni ftit hawn. U inti run fis dan fil databases relazzjonali ukoll. Huma talbu partizzjoni vertikalment. Inti tixtieq li żżomm data big tiegħek bogħod minn data tiegħek ftit. U r-raġuni għaliex huwa għaliex I gotta mur aqra l-oġġetti li jiksbu l-attributi. U jekk il-korpi tiegħi huma kollha hawn, imbagħad qari biss ftit punti jekk it-tul korp tiegħi huwa b'medja 256 kilobytes kull wieħed, l-matematika gets pretty ikrah. Allura ngħid I trid taqra inbox David. Inbox David għandha 50 oġġetti. Il-medja u d-daqs huwa 256 kilobytes. Hawn ratio tal-konverżjoni tiegħi għal tal RCU huwa erba kilobytes. OK, ejja jmorru ma eventwalment konsistenti jaqra. Jien xorta tiekol 1600 RCU ta biss biex jaqra inbox David. Ouch. OK, issa ejja jaħsbu dwar kif il-app xogħlijiet. Jekk jien fil app email u Jien tħares lejn inbox tiegħi, u nħares lejn il-ġisem ta 'kull messaġġ, no, jien tħares lejn is-sommarji. Jien tħares lejn biss il-headers. Mela ejja jibnu struttura tabella li jixbah aktar dik. Allura hawnhekk-informazzjoni li workflow tiegħi ħtiġijiet. Huwa fl-inbox tiegħi GSI. Hu l-data, il-mittent, is-suġġett, u mbagħad l-ID messaġġ, liema punti lura għall-mejda messaġġi fejn nista 'nikseb il-ġisem. Ukoll, dawn ikunu IDs rekord. Huma jindikaw lura lill- IDs punt fuq il-mejda Dynamo DB. Kull indiċi dejjem creates-- dejjem għandu l-oġġett ID bħala parti of-- li jiġi ma 'l-indiċi. Kull dritt. UDJENZA: Huwa jirrakkonta huwa fejn huwa maħżun? Rick HOULIHAN: Iva, jirrakkonta exactly-- dan huwa eżattament dak li tagħmel. Hija tgħid hawnhekk rekord ġdid tiegħi. U dan ser jiġi lura għal rekord ġdid tiegħi. Eżattament. OK, hekk issa inbox tiegħi huwa fil-fatt ferm iżgħar. U dan fil-fatt jappoġġja il-fluss ta 'app email. Allura inbox tiegħi, I ikklikkja. I jmorru flimkien u I ikklikkja fuq il-messaġġ, dan huwa meta I-ħtieġa li jmorru jiksbu l-korp, għaliex jien ser mur fehma differenti. Mela jekk inti taħseb dwar MVC tip ta ' qafas, kontrollur fehma mudell. Il-mudell fih l data li l-bżonnijiet ħsieb u l-kontrollur jinteraġixxi ma. Meta I jibdlu l-qafas, meta Nibdel il-perspettiva, huwa OK li jmorru lura għall- server u repopulate-mudell, għaliex dan huwa dak l-utent jistenna. Meta jibdlu l-opinjonijiet, li meta nistgħu mmorru lura għad-database. Allura email, ikklikkja. I infittex-ġisem. Vjaġġ bir-ritorn. Mur jiksbu l-korp. I jaqra ħafna inqas data. Jien biss qari l-korpi li David bżonn meta hu għandu bżonn minnhom. U jien ma jinħaraqx fl-1600 Tal RCU biss biex juru inbox tiegħu. Allura issa that-- dan huwa l-mod li LSI jew GSI-- jien sorry, GSI, tkun taħdem out. Imxejna ltqajna hash tagħna lill-benefiċjarju. Imxejna ltqajna l-muftieħ firxa fid-data. U konna ltqajna l-attributi proġettati li għandna bżonn biss li tappoġġja l-fehma. Aħna dawwar li għall-outbox. Hash fuq mittent. U fl-qofol, għandna l sbieħ ħafna, il-fehma nadif. U huwa basically-- aħna jkollhom dan messaġġi sbieħ tabella li l-jiġu mifruxa nicely għaliex huwa hash biss, hashed ID messaġġ. U għandna żewġ indiċijiet li huma jduru off ta 'dik it-tabella. Kull dritt, hekk idea hija ma iżommu l-kbira ta 'dejta u din id-data żgħir flimkien. Partition vertikalment, partition dawk it-tabelli. Ma taqra data inti ma għandekx. Dritt kollox, logħob. Aħna kollha simili games. Mill-inqas I games simili imbagħad. Sabiex xi wħud mill-affarijiet li nittrattaw meta aħna qed jaħsbu dwar logħob, right? Logħob f'dawn il-jiem, speċjalment mobbli logħob, huwa kollha dwar il-ħsieb. U jien ser jduru hawn Ftit ftit bogħod mill DynamoDB. Jien ser iġibu fit xi wħud mill-diskussjoni madwar xi wħud mill- teknoloġiji oħra AWS. Iżda l-idea dwar logħob huwa li wieħed jaħseb dwar f'termini ta 'APIs, APIs li huma, ġeneralment, HTTP u JSON. Huwa mod kif games mobbli tip ta ' jinteraġixxu ma 'truf lura tagħhom. Huma jagħmlu JSON kollokament. Huma jiksbu data, u dan kollu, ġeneralment, fil APIs JSON sbieħ. Affarijiet simili nikseb ħbieb, jiksbu id-data leaderboard, skambju, utent kontenut iġġenerat, push back up għas-sistema, dawn huma tipi ta 'affarijiet li aħna qed tmur biex tagħmel. Data assi binarju, din id-data jista 'ma jpoġġux fid-database. Dan jista 'tiltaqa fi oġġett maħżen, id-dritt? Iżda l-database se jispiċċaw javżak-sistema, javżak l-applikazzjoni fejn imorru tiksbu. U inevitabbilment, multiplayer servers, infrastruttura aħħar lura, u ddisinjati għall għolja disponibbiltà u iskalabbiltà. Allura dawn huma affarijiet li aħna kollha jridu fl-infrastruttura tal-logħob tal-lum. Mela ejja tagħti ħarsa lejn dak li qisu. Ghandek aħħar back qalba, sempliċi ħafna. Imxejna ltqajna sistema hawn ma żoni disponibbiltà multipli. Aħna tkellimna dwar AZS bħala being-- jaħsbu minnhom bħala ċentri tad-data separati. Ċentru tad-data aktar minn wieħed per AZ, iżda li OK, biss jaħsbu minnhom bħala data separata ċentri li huma ġeografikament u t-tort iżolati. Aħna qed tmur biex ikollhom każijiet KE2 koppja. Aħna qed tmur biex ikollhom xi server back-end. Forsi jekk int wirt arkitettura, aħna qed użu nsejħu RDS, servizzi ta 'database relazzjonali. Jista 'jkun MSSQL, MySQL, jew xi ħaġa bħal dik. Dan huwa mod applikazzjonijiet ħafna huma mfassla llum. Well we tista 'tixtieq li tmur ma dan huwa meta aħna iskala out. Aħna ser imorru quddiem u mqiegħda il barmil S3 up hemm. U li barmil S3, minflok li jservu up dawk l-oġġetti minn servers-- tagħna stajna nagħmlu dan. Inti tpoġġi kollha binarja tiegħek oġġetti fuq servers tiegħek u tista 'tuża dawk server każijiet biex iservu dik id-data up. Imma dak li pretty għaljin. Aħjar mod biex tagħmel hu jimxi 'l quddiem u tqiegħed dawn l-oġġetti fi barmil S3. S3 huwa oġġett repożitorji. Huwa mibni speċifikament għal jservu up dawn it-tipi ta 'affarijiet. U ejja dawk il-klijenti jitolbu direttament minn dawk bramel oġġett, iħottu l servers. Allura aħna qed jibdew iżidu hawn. Issa sirna utenti madwar id-dinja. Sibt utenti. I-ħtieġa li jkollhom kontenut lokalment jinsab qrib dawn l-utenti, id-dritt? Stajt ħolqot barmil S3 kif sors repożitorju tiegħi. U jien ser quddiem li ma id-distribuzzjoni CloudFront. CloudFront huwa CD u netwerk tal-kunsinna kontenut. Bażikament hemm bżonn data li inti tispeċifika u ħażniet sigrieti dan kollu fuq l-internet sabiex l-utenti kullimkien jista 'jkollhom tweġiba mgħaġġla ħafna meta huma jitolbu dawk l-oġġetti. Allura ikollok idea. Int tip ta 'lieva l- aspetti ta 'AWS hawn biex tikseb dan isir. U eventwalment, aħna tarmi fi grupp skalar auto. Allura każijiet AC2 tagħna ta servers logħba tagħna, kif tibda tikseb aktar mimlija u aktar mimlija u aktar mimlija, dawn ser biss spin ieħor eżempju, spin eżempju ieħor, spin eżempju ieħor. Allura l-teknoloġija AWS għandu, huwa jippermettilek tispeċifika l-parametri madwarhom servers tiegħek se jikbru. Allura inti jista 'jkollhom numru n ta' servers hemmhekk fi kwalunkwe ħin partikolari. U jekk tagħbija tiegħek tmur bogħod, dawn ser tiċkien, in-numru se tiċkien. U jekk it-tagħbija taqa 'lura, dan ser jikbru lura, elastically. Allura dan jistenna kbira. Imxejna qbilna ħafna ta 'każijiet KE2. Nistgħu npoġġu cache fil quddiem tad-databases, jippruvaw u taċċellera l-databases. Il-punt li jmiss pressjoni tipikament nies ara hija huma iskala logħba bl-użu ta sistema ta 'database relazzjonali. Jeez, id-database prestazzjoni hija terribbli. Kif nistgħu tittejjeb dik? Ejja nippruvaw tqegħid cache quddiem dan. Ukoll, cache ma taħdimx hekk kbir fil-logħob, id-dritt? Għal-logħob, kitba huwa uġigħ. Logħob huma ħafna jiktbu tqal. Cache ma taħdimx meta int jiktbu tqil għaliex inti ħadthom dejjem qbilna li taġġorna l-cache. Inti taġġorna l-cache, huwa irrilevanti li jiġu caching. Huwa fil-fatt biss xogħol żejjed. Għalhekk, fejn immorru hawn? You ħadthom ltqajna ostaklu kbir stabbiliti hemmhekk fid-database. U l-post biex imorru ovvjament huwa taqsim. Partizzjoni mhuwiex faċli li tagħmel meta int jittrattaw ma 'databases relazzjonali. Ma 'databases relazzjonali, int responsabbli għat-tmexxija, b'mod effettiv, l-ispazju ewlenin. Inti qed tgħid utenti bejn A u M mur hawn, bejn N u Z jmorru hemm. U int jaqilbu madwar l-applikazzjoni. Allura int jittrattaw dan is-sors tad-data partition. Inti għandek limitazzjonijiet transazzjonali li ma jasalx sal ħitan. You ħadthom ltqajna kull tip ta ' messiness li int jittrattaw stabbiliti hemmhekk jippruvaw biex jittrattaw skalar out u bini ta 'infrastruttura akbar. Huwa biss l-ebda gost. UDJENZA: Allura inti tgħid li punti sors tiżdied tħaffef il-proċess? Rick HOULIHAN: Żieda? Punti Sors: udjenza. Rick HOULIHAN: punti Sors? UDJENZA: Mill-informazzjoni, fejn l-informazzjoni ġejja minn? Rick HOULIHAN: Le Dak li jien tgħid huwa tiżdied il- numru ta 'ħitan fil-maħżen tad-data itejjeb throughput. Allura dak li qed jiġri hawn huwa l-utenti ġejjin fil-każ KE2 up here, ukoll, jekk għandi bżonn utent Li l-li M, I ser imorru here. Mill N p, I ser imorru here. Minn P sa Z, I ser imorru here. UDJENZA: OK, dawk hekk dawn huma kollha maħżuna fil-lymph differenti? Rick HOULIHAN: Iva. Think ta 'dawn bħala silos differenti ta 'data. Allura int wara li tagħmel dan. Jekk inti qed tipprova tagħmel dan, jekk inti qed tipprova iskala fuq pjattaforma relazzjonali, dan huwa dak li qed isir. Inti qed tieħu data u int qtugħ l-isfel. U int taqsim dan madwar każi multipli tad-database. U int ġestjoni kollu li fil-livell applikazzjoni. Hija l-ebda gost. Mela xi do irridu imorru? Aħna rridu li jmorru DynamoDB, ġestita kompletament, NoSQL jaħżen id-data, dispożizzjoni throughput. Aħna nużaw indiċijiet sekondarji. Huwa bażikament HTTP API u jinkludi dokument appoġġ. Allura inti ma għandekx għalfejn tinkwieta dwar xi li tqassim. Aħna tagħmel dan kollu għalik. Allura issa, minflok, inti biss jikteb lill-tabella. Jekk it-tabella għandha tiġi maqsuma, li jiġri wara l-kwinti. Int kompletament iżolati minn dak bħala żviluppatur. Mela ejja nitkellmu dwar xi wħud mill-każijiet ta 'użu li aħna run fis fil-logħob, komuni xenarji logħob, leaderboard. Allura inti ħadthom ltqajna utenti ġejjin fi, l BoardNames li dawn qed fuq, il-punteġġi ta 'dan l-utent. Aħna jista 'jkun hashing fuq il userid, u allura għandna firxa fuq il-logħba. Allura kull utent irid jara l-logħba hu lagħab u kull score top tiegħu madwar l-logħba. Allura dak leaderboard personali tiegħu. Issa nixtieq li jmorru fi u nixtieq li get-- so I jiksbu dawn leaderboards personali. What I trid tagħmel hu li tmur tikseb il-punteġġ top madwar utenti kollha. Allura kif nista 'nagħmlu? Meta rekord tiegħi huwa hashed fuq l userid, varjaw fuq il-logħba, ukoll jien ser jimxi 'l quddiem u jirristrutturaw, joħolqu GSI, u jien ser jirristrutturaw dik id-data. Issa jien ser hash fuq il- BoardName, li huwa l-logħba. U jien ser ivarjaw fuq il-punteġġ fuq. U issa stajt maħluqa bramel differenti. Jien jużaw l-istess tabella, l-istess data oġġett. Imma jien ħolqien ta 'barmil li tagħti me aggregazzjoni ta 'punteġġ top mill-logħba. U nista 'mistoqsija dik it-tabella tikseb dik l-informazzjoni. Hekk stajt stabbiliti li mudell query sa jiġu appoġġjati permezz ta 'indiċi sekondarja. Issa dawn jistgħu jiġu magħżula mill BoardName u magħżula minn TopScore, jiddependi fuq. Allura tista 'tara, dawn huma tipi ta 'każijiet ta' użu ikollok fil-logħob. Ieħor tajjeb każ użu nikbru fil-logħob huwa premjijiet u li s rebaħ il-premjijiet. U dan huwa każ użu kbir fejn nitolbu indiċijiet skarsa. Indiċi skarsa huma l- kapaċità li jiġġeneraw indiċi li mhux bilfors fihom kull oġġett uniku fuq il-mejda. U għaliex le? Minħabba li l-attribut li l-jiġu indiċjati ma teżistix fuq kull oġġett. Allura f'dan il-partikolari użu każ, jien qal, inti taf liema, jien ser toħloq attribut imsejħa Award. U jien ser jagħti kull utent li għandha tagħti dan il attribut. Utenti li ma jkollhomx premjijiet huma mhux se jkollhom dan attribut. Allura meta I joħolqu l- indiċi, l-uniċi utenti li ser juru up fl-indiċi huma dawk li attwalment rebħu premijiet. Allura dak mod tajjeb ħafna biex ikunu jistgħu biex joħolqu indiċi iffiltrat li huma ħafna, selettivi ħafna li ma jkollhom indiċi tal-mejda kollu. Allura aħna qed jkollna baxx fil-ħin hawn. Jien ser jimxi 'l quddiem u skip out u skip dan ix-xenarju. Tkellem ftit about-- UDJENZA: Nista jistaqsu mistoqsija ta 'malajr? Wieħed huwa jikteb tqil? Rick HOULIHAN: X'inhu? UDJENZA: Ikteb tqil. Rick HOULIHAN: Ikteb tqil. Ħa nara. UDJENZA: Jew hija li mhux xi ħaġa li tista 'sempliċement vuċi fil-kwistjoni ta 'sekonda? Rick HOULIHAN: Immorru permezz tal-xenarju votazzjoni. Huwa mhux ħażin. Do inti guys ftit minuti? KOLLOX SEW. Allura aħna ser nitkellmu dwar votazzjoni. Allura votazzjoni ħin reali, għandna ħtiġijiet għall-votazzjoni. Rekwiżiti huma li inħallu kull persuna li tivvota darba biss. Irridu ħadd li jkunu jistgħu li jibdlu l-vot tagħhom. Irridu aggregazzjoni fil-ħin reali u analytics għal demografija li aħna qed tmur biex tkun turi lill-utenti dwar is-sit. Think ta 'dan ix-xenarju. Aħna naħdmu ħafna realtà TV turi fejn dawn qed tagħmel dawn it-tip eżatt ta 'affarijiet. Allura inti tista 'taħseb l-xenarju, għandna miljuni u miljuni bniet ta adoloxxenti hemmhekk ma 'mowbajls tagħhom u li jivvutaw, u li jivvutaw, u votazzjoni għal kull min huma isibu l-aktar popolari. Allura dawn huma xi wħud mill- Rekwiżiti we run out. U għalhekk l-ewwel jieħu sabiex issolvi din il-problema tkun li tibni applikazzjoni sempliċi ħafna. Hekk stajt sibt dan app. Għandi xi votanti hemmhekk. Huma jidħlu fi, huma laqat il-app votazzjoni. Stajt ltqajna xi voti tabella prima I ser biss dump dawk il-voti fis. I ser ikollhom xi aggregat voti tabella li se tagħmel analytics tiegħi u d-demografija, u aħna ser jitqiegħdu dan kollu fil hemmhekk. U dan huwa kbir. Life hija tajba. Tal-ħajja tajba sakemm insibu li dejjem hemm biss wieħed jew tnejn nies li huma popolari f'elezzjoni. Hemm biss wieħed jew żewġ affarijiet li n-nies verament jimpurtak. U jekk int jivvota fuq iskala, kollha f'daqqa jien se tkun tismir l-infern minn żewġ kandidati, wieħed jew żewġ kandidati. Numru limitat ħafna ta 'oġġetti nies isibu li jkun popolari. Din mhix mudell tad-disinn tajjeb. Dan huwa attwalment mudell tad-disinn ħażina ħafna peress illi toħloq eżattament dak li aħna tkellem dwar liema kien ċwievet sħun. Ċwievet sħun huma xi ħaġa li aħna ma simili. Allura kif nistgħu jiffissaw dan? U tassew, il-mod biex jiffissaw dan huwa billi dawk bramel kandidati u għal kull kandidat li għandna, aħna qed tmur biex tehmeż valur każwali, xi ħaġa li nafu, każwali valur bejn wieħed u 100, bejn 100 u 1000, jew bejn wieħed u 1000, madankollu valuri każwali ħafna inti tixtieq li tehmeż fuq it-tmiem ta 'dak il-kandidat. U dak li jien verament isir allura? Jekk jien jużaw l-ID kandidat kif -barmil biex voti aggregati, jekk Stajt miżjud każwali Numru sa l-aħħar ta 'dak, Stajt ħolqot issa 10 bramel, a mitt bramel, elf bramel li jien aggregazzjoni voti madwar. So I jkollhom miljuni, u miljuni, u miljuni ta 'rekords li ġejjin fil għal dawn il-kandidati, I am issa tixrid dawk il-voti madwar A_1 Kandidati permezz A_100 Kandidati, minħabba kull darba vot tidħol fi, Jien jiġġeneraw każwali valur bejn wieħed u 100. Jien klassifikazzjoni hija stabbilita hija fuq it-tmiem ta 'l- kandidat li il-persuna tal-vot għall. Jien dumping li f'dak barmil. Issa fuq il-backside, I know li sibt mitt bramel. Allura meta I tixtieq li tmur quddiem u jaggregaw l-voti, Naqra minn dawk bramel kollha. So I jimxi 'l quddiem u żid. U allura jien il-firxa jiġbru fejn I go out u jgħidu ħej, inti taf liema, ewlenin din kandidat spazji hija aktar minn mitt bramel. Jien ser tiġbor l- voti minn dawk mitt bramel. Jien ser tinġabar flimkien minnhom u jien ser ngħid, Kandidat A issa għandha total għadd tal-voti tal x. Issa kemm il-write query u l query read huma mqassma nicely għaliex jien bil-miktub bejn u jien qari madwar l-mijiet ta 'ċwievet. Jien ma miktub u qari madwar ċavetta waħda issa. Allura dak mudell kbir. Dan huwa attwalment probabilment waħda tad-disinn l-aktar importanti mudelli għall-iskala fil NoSQL. Inti se tara dan it-tip ta ' mudell tad-disinn f'kull togħma. MongoDB, DynamoDB, ma kwistjoni, ilkoll għandna biex jagħmlu dan. Għaliex meta inti qed jittrattaw ma 'dawk aggregazzjonijiet enormi, inti għandek figura out b'tali mod li mifruxa minnhom madwar l bramel. Allura dan huwa l-mod inti tagħmel dan. Dritt kollox, iva, liema li qed tagħmel id-dritt issa huwa int kummerċ off read ispiża ta 'aġġustament iskalabbiltà. L-ispiża ta 'read tiegħi huwa ftit aktar kumpless u irrid immur tinqara minn mitt bramel minflok waħda. Imma jien tista 'tikteb. U throughput tiegħi, write tiegħi throughput huwa inkredibbli. Allura huwa ġeneralment valur teknika għall skalar DynamoDB, jew kwalunkwe database NoSQL għal dik il-kwistjoni. Allura aħna dehret kif iskala. U aħna dehret kif jeliminaw ċwievet sħun tagħna. U dan huwa meraviljuż. U aħna ltqajna din is-sistema sbieħ. U huwa tatna votazzjoni ħafna korretta għaliex għandna vot rekord de-dupe. Huwa mibni fis DynamoDB. Aħna tkellimna dwar id-drittijiet kundizzjonali. Meta votant tidħol fi, tpoġġi daħħal fuq il-mejda, dawn daħħal ma votant ID tagħhom, jekk jippruvaw li daħħal vot ieħor, I do jiktbu kondizzjonali. Say biss tikteb din jekk dan ma teżistix. Allura hekk kif nara li li l-vot ħabat mal-mejda, ħadd ieħor li għaddej biex tkun kapaċi tistabbilixxi vot tagħhom fil. U li meraviljuż. U aħna qed inkrementazzjoni counters kandidati tagħna. U aħna qed tagħmel tagħna demografija u dak kollu li. Imma x'jiġri jekk tiegħi applikazzjoni taqa fuq? Issa kollha ta 'voti f'daqqa huma ġejjin fi, u I ma nafx jekk dawn qed jkollna pproċessati fis analytics tiegħi u d-demografija aktar. U meta l-applikazzjoni taqa 'lura up, kif l-infern do I know dak voti jkollhom ġew ipproċessati u fejn nista tibda? Allura din hija problema reali meta inti tibda tħares lejn dan it-tip ta 'xenarju. U kif nistgħu ssolvi din? Aħna issolvi dan ma 'dak li aħna sejħa Streams DynamoDB. Streams huwa żmien ordnat u log bidla maqsuma ta 'kull aċċess it-tabella, kull ikteb aċċess għall-tabella. Kwalunkwe data li-miktub lill- tabella turi up fuq in-nixxiegħa. Huwa bażikament kju 24 siegħa. Punti laqat il-fluss, jgħixu għal 24 siegħa. Huma jistgħu jinqraw minn darba. Garantiti li għandhom jiġu kkonsenjati biss ladarba l-nixxiegħa, jista 'jinqara numru n ta' drabi. Hekk iżda ħafna proċessi inti tixtieq li jikkunsmaw li d-data, inti tista jikkunsmaw. Hija se jidhru kull aġġornament. Kull write se biss jidher darba fuq in-nixxiegħa. Allura inti ma għandekx għalfejn tinkwieta dwar l-ipproċessar darbtejn mill-istess proċess. Huwa strettament ordnat għal kull oġġett. Meta ngħidu ħin ordnat u maqsuma, tkun taf tara kull partizzjoni fuq in-nixxiegħa. Inti se tara oġġetti, aġġornamenti fl-ordni. Aħna mhux jiggarantixxu fuq in-nixxiegħa li int se tikseb kull transazzjoni fl-ordni madwar oġġetti. Allura flussi huma idempotent. Do we kollha jafu liema idempotent jfisser? Idempotent ifisser li inti tista 'tagħmel dan fuq, u aktar, u aktar mill-ġdid. Ir-riżultat ser ikun l-istess. Flussi huma idempotent, iżda dawn għandhom ikunu lagħbu mill-punt tat-tluq, fejn inti tagħżel, sa l-aħħar, jew dawn ma tirriżultax fl-istess valuri. Istess ħaġa ma MongoDB. MongoDB għandha tibni huma jitolbu l-oplog. Huwa l-istess kostruzzjoni eżatt. Ħafna databases NoSQL jkollhom din jibnu. Jużawha biex tagħmel affarijiet bħal replikazzjoni, li huwa eżattament dak li nagħmlu ma 'flussi. UDJENZA: Forsi kwistjoni heretical, imma int jitkellmu dwar apps isir stipulat l ibqa 'sejjer hekk. Huma flussi garantit li qatt ma possibilment jinżlu? Rick HOULIHAN: Yeah, flussi huma ggarantiti li qatt ma jinżlu. Aħna jamministraw l-infrastruttura lura. flussi awtomatikament tiskjera fil-grupp skalar auto tagħhom. Aħna ser jgħaddu ftit ftit dwar dak li jiġri. I m'għandhomx jgħidu li mhux qed garantit li qatt ma jinżlu. L-elementi huma garantiti li jidhru fil-fluss. U l-fluss se tkun aċċessibbli. Allura dak li jinżel jew taqa 'lura up, li jiġri taħt. Huwa covers-- huwa OK. Kull dritt, hekk ikollok differenti tipi ħsieb barra l-iskrin. It-tipi ħsieb li huma importanti għal programmer tipikament huma, dak li kien dan? I nikseb il-fehma qodma. Meta aġġornament hits-tabella, dan ser imbotta l-opinjoni qadima lill-fluss sabiex id-data tista arkivju, jew bidla kontroll, l-identifikazzjoni bidla, bidla ġestjoni. L-immaġni ġdida, dak li issa huwa wara l-aġġornament, li tip ieħor ta 'opinjoni inti tista 'tikseb. Tista 'tikseb kemm l-immaġini qodma u ġodda. Forsi Irrid tnejn. Irrid nara dak li kien. Irrid nara dak li inbidel għal. I jkollhom tip konformità ta 'proċess li timxi. Jeħtieġ li jiġi vverifikat li meta dawn l-affarijiet jinbidlu, li dawn qed fi ħdan ċerti limiti jew fi ħdan ċerti parametri. U allura forsi I biss jeħtieġ li tkun taf liema mibdula. I do not care dak partita mibdula. I m'għandhomx bżonn li jeħtieġu li jkunu jafu dak attributi mibdula. I biss bżonn tkun taf li l-oġġetti qed jiġu mimsus. Allura dawn huma t-tipi ta 'fehmiet li ikollok off-fluss u inti tista jinteraġixxu magħhom. L-applikazzjoni li jikkonsma-fluss, dan huwa tip ta 'l-mod kif dan jaħdem. Klijent DynamoDB jitlob li imbotta data għat-tabelli. Flussi tiskjera fuq dak li nsejħu shards. Shards huma skalat indipendentement mill-tabella. Huma ma line up kollox għall-ħitan diviżorji tat-tabella tiegħek. U r-raġuni għaliex huwa minħabba li linja up għall-kapaċità, l-kurrent kapaċità tat-tabella. Huma jużaw fil tagħhom stess grupp skalar auto, u dawn jibdew spin out jiddependi fuq kemm jikteb huma ġejjin fi, kif reads-- ħafna verament huwa jikteb. M'hemm l-ebda reads-- imma kif ħafna jikteb huma ġejjin fil. U mbagħad fuq id-dahar aħħar, għandna dak li aħna sejħa KCl, jew kinesis Librerija Klijent. Kinesis hija data nixxiegħa teknoloġija ta 'pproċessar mill-Amażonja. U l-flussi hija mibnija fuq dan. Allura inti tuża KCl ppermettiet applikazzjoni biex jaqra l-fluss. Il-Librerija Klijent kinesis attwalment tamministra l-ħaddiema għalik. U wkoll ma xi affarijiet interessanti. Hija se toħloq xi tabelli up fil tablespace DynamoDB tiegħek biex jittraċċaw liema oġġetti ġew ipproċessati. Allura dan il-mod jekk din taqa 'lura, jekk din taqa fuq u jidħol u gets kien back up, jista jiġi ddeterminat fejn ma kien fl-ipproċessar tal-fluss. Li l-importanti ħafna meta li qed jitkellem dwar replikazzjoni. I bżonn tkun taf liema data kienet ġiet ipproċessata u liema data għad trid tiġi pproċessata. Allura l-librerija KCl għal flussi se jagħtik ħafna ta 'din il-funzjonalità. Huwa jieħu ħsieb ta 'l manutenzjoni. Inhi up ħaddiem għal kull shard. Hija toħloq tabella amministrattiva għal kull shard, għal kull ħaddiem. U dawk il-ħaddiema nar, huma jżommu dawn it-tabelli sabiex inti tkun taf dan ir-rekord kienet tinqara u pproċessata. U mbagħad il-mod jekk il-proċess imut u taqa 'lura online, dan jistgħu jerġgħu jibdew id-dritt fejn telaq. Allura nużaw dan għal replikazzjoni cross-reġjun. A lott ta 'klijenti jkollhom il-ħtieġa li jimxu data jew partijiet ta 'tabelli tad-data tagħhom madwar reġjuni differenti. Hemm disa 'reġjuni madwar id-dinja. Allura jista 'jkun hemm I need-- jista 'jkollhom utenti fl-Asja, l-utenti fil-Kosta tal-Lvant ta 'l-Istati Uniti. Huma għandhom data differenti li jeħtieġ li jitqassmu lokalment. U forsi utent dritta mill Asia quddiem għall-Istati Uniti, u nixtieq li tiġi replikata data tiegħu miegħu. Allura meta hu gets off-pjan, huwa għandu esperjenza tajba jużaw app mobbli tiegħu. Tista 'tuża l-reġjun transkonfinali librerija replikazzjoni biex jagħmlu dan. Bażikament għandna pprovduti żewġ teknoloġiji. One applikazzjoni console inti tista stand up fuq eżempju tiegħek KE2 stess. Hija tmur replikazzjoni pur. U allura aħna ħadt l-librerija. Il-librerija tista 'tuża biex jibnu applikazzjoni tiegħek jekk inti trid tagħmel affarijiet crazy ma 'dak data-- filtru, jirreplika biss parti minnu, dawwar id-data, jġorrhom fi tabella differenti, hekk u ibqa 'sejjer hekk. Allura dak it-tip ta 'dak li qisu. Streams DynamoDB jista 'jkun pproċessata mill dak li nsejħu Lambda. Aħna msemmija ftit dwar avveniment arkitetturi ta 'applikazzjoni mmexxija. Lambda huwa komponent ewlieni ta 'dak. Lambda huwa kodiċi li n-nirien fuq talba bi tweġiba għal avveniment partikolari. Waħda minn dawk l-avvenimenti tista 'tkun rekord jidhru fuq in-nixxiegħa. Jekk xi rekord jidher fuq in-nixxiegħa, aħna ser sejħa din il-funzjoni Java. Ukoll, dan huwa JavaScript, u ​​Lambda jappoġġja Node.js, Java, Python, u dalwaqt se tappoġġja lingwi oħrajn ukoll. U biżżejjed li jingħad, huwa kodiċi pur. jiktbu Fl Java, inti tiddefinixxi klassi. Timbotta l up JAR fis Lambda. U allura inti tispeċifika liema klassi sejħa li minħabba fih avveniment. U allura l-infrastruttura Lambda wara li se jimxu dan il-kodiċi. Dik il-kodiċi jistgħu jipproċessaw rekords barra mill-fluss. Hija tista 'tagħmel xejn trid magħha. F'dan l-eżempju partikolari, kollox aħna qed verament tagħmel huwa qtugħ l-attributi. Iżda din hija biss kodiċi. Kodiċi tista 'tagħmel xejn, id-dritt? Allura inti tista 'ddur li d-data. Tista 'tinħoloq ħsieb derivattiv. Jekk huwa struttura dokument, inti tista flatten l-istruttura. Tista 'toħloq indiċi alternattiv. Kull tip ta 'affarijiet li tista' tagħmel il-Streams DynamoDB. U tassew, dan huwa dak li qisu. Allura inti tikseb dawk aġġornamenti li ġejjin fil. Huma qed ġejjin off-sekwenza. Huma qed taqra mill-funzjoni Lambda. Huma qed ddawwar il-data u timbuttah up fit-tabelli derivattivi, nnotifikati s-sistemi esterni tal-bidla, u timbotta data fis ElastiCache. Aħna tkellimna dwar kif titfa l-cache quddiem il-database għal li l-bejgħ xenarju. Ukoll x'jiġri jekk I taġġorna d-deskrizzjoni oġġett? Ukoll, jekk I kellhom Lambda funzjoni jimxi fuq dik it-tabella, jekk I taġġorna d-deskrizzjoni oġġett, dan ser pick up-rekord off-fluss, u dan ser taġġorna l-ElastiCache eżempju mad-data ġdida. Allura li l-lott ta ' dak li nagħmlu ma 'Lambda. Huwa kodiċi kolla, konnetturi. U fil-fatt jagħti l-abbiltà li tniedi u li jħaddmu applikazzjonijiet kumplessi ħafna mingħajr server dedikat infrastruttura, li huwa verament jibred. Mela ejja jmorru lura għall tagħna fil-ħin reali arkitettura votazzjoni. Dan huwa ġdid u mtejba regolarment bil tagħna flussi u KCl ppermettiet applikazzjoni. Istess bħal qabel, nistgħu jimmaniġġjaw kull skala ta 'elezzjoni. Aħna bħal dan. Aħna qed tagħmel l jiġbor dispersjoni madwar bramel multipli. Imxejna ltqajna qfil ottimisti għaddej. Aħna nkunu nistgħu nżommu votanti tagħna mit-tibdil voti li jġibu. Huma jistgħu jivvotaw darba biss biss. Dan huwa meraviljuż. Tolleranza tort Real-time, aggregazzjoni skalabbli issa. Jekk il-ħaġa taqa fuq, huwa jaf fejn jerġa 'jibda innifsu meta niġu lura up għaliex aħna qed jużaw l-app KCl. U allura nistgħu wkoll jużaw dak Applikazzjoni KCl biex timbotta data out li redshift għal oħra analytics app, jew l-użu l MapReduce elastiċi jiddekorri aggregazzjonijiet streaming fil-ħin reali off ta 'dik id-data. Allura dawn huma affarijiet aħna ma tkellem dwar ħafna. Iżda dawn qed addizzjonali teknoloġiji li ġejjin biex iġorru meta inti qed tfittex fil dawn it-tipi ta 'xenarji. Dritt kollu, b'tali mod li jkunu infurmati dwar analytics ma Streams DynamoDB. Inti tista 'tiġbor de-dupe data, do kull tip ta 'għalf sbieħ, data aggregata fil memorja, joħolqu dawk it-tabelli derivattivi. Li l-każ użu enormi li ħafna ta 'klijenti huma involuti ma ', tieħu l-nested proprjetajiet ta 'dawk id-dokumenti JSON u l-ħolqien indiċi addizzjonali. Aħna fl-aħħar. Grazzi mill-ħlas tal miegħi. Mela ejja nitkellmu dwar arkitettura referenza. DynamoDB tiltaqa fin-nofs ta 'hekk ħafna mill-infrastruttura AWS. Bażikament inti tista ganċ sa xi ħaġa li trid. Applikazzjonijiet mibnija bl-użu Dynamo jinkludu Lambda, ElastiCache, CloudSearch, imbotta l-informazzjoni barra fil Elastic MapReduce, fuq l-importazzjoni minn DynamoDB fis S3, kull tip ta workflows. Iżda probabbilment l-aħjar ħaġa biex jitkellmu dwar, u dan huwa dak li verament interessanti huwa meta aħna jitkellmu dwar applikazzjonijiet misjuqa avveniment. Dan huwa eżempju ta ' proġett intern li għandna fejn aħna qed attwalment pubblikazzjoni biex tiġbor riżultati ta 'stħarriġ. Għalhekk fl rabta email li aħna jibgħat, hemm ser jkun ftit klikk link li tgħid hawn biex jirrispondu għall-istħarriġ. U meta klikks persuna dik ir-rabta, x'jiġri huwa jiġbdu jistabbilixxi sigur HTML forma stħarriġ minn S3. M'hemm l-ebda server. Dan huwa biss oġġett S3. Dik il-formola taqa up, tagħbijiet fil-browser. Huwa ltqajna sinsla. Huwa ltqajna kumpless JavaScript li huwa taħdem. Allura huwa applikazzjoni ħafna sinjuri li jibda fil-browser tal-klijent. Huma ma jafux li dawn mhux qed interazzjoni ma 'server back-end. Wara dan, huwa kollha browser. Huma tippubblika r-riżultati għal dak li nitolbu l-Amażonja API Gateway. API Gateway hija sempliċement API web li tista 'tiddefinixxi u ganċ up għal dak kollu li trid. F'dan il-każ partikolari, aħna qed hooked up għal funzjoni Lambda. Allura operazzjoni POST tiegħi huwa jiġri bl-ebda server. Bażikament dak API Gateway tiltaqa hemm. Hija l-ispejjeż me xejn sakemm in-nies tibda kollokament lilha, id-dritt? Il-funzjoni Lambda biss tiltaqa hemm. U l-ispejjeż me xejn sakemm nies jibdew laqtu. Allura tista 'tara, bħala l-volum żidiet, li meta l-imposti ġejjin. Jien ma tmexxija ta 'server 24/07. So I iġbed il-formola l barra mill-barmil, u I post permezz tal-API Gateway fil-funzjoni Lambda. U allura l-Lambda funzjoni jgħid, inti taf dak, stajt ltqajna xi PIIs, xi informazzjoni personalment identifikabbli f'dawn tweġibiet. Sibt kummenti ġejjin minn utenti. Stajt ltqajna indirizzi email. Stajt ltqajna usernames. Let me maqsuma dan off. Jien ser jiġġeneraw xi metadata off dan ir-rekord. U jien ser timbotta l- metadata fis DynamoDB. U I tista 'kriptaġġ l-informazzjoni kollha u timbotta lilha fis DynamoDB jekk irrid. Iżda huwa aktar faċli għalija, f'dan użu każ, li jimxi 'l quddiem l ngħidu aħna, Jien ser timbotta l-informazzjoni prima fi barmil S3 encrypted. So I użu mibnija fil-ġenb server S3 encryption u l-Ġestjoni Ewlenin Amazon Servizz b'tali mod li għandi ewlieni li tista 'ddur fuq intervalli regolari, u I tista 'tipproteġi dik id-data PII bħala parti minn dan fluss tax-xogħol kollu. Allura dak li jiena jsir? Stajt biss skjerat kollu kemm hu applikazzjoni, u għandi l-ebda server. Allura huwa dak avveniment misjuqa applikazzjoni arkitettura ma għalik. Issa jekk taħseb dwar każ użu this-- għandna klijenti oħra jien jitkellem għal madwar din l-arkitettura eżatta li kampanji phenomenally kbar, li qed iħarsu lejn dan u jmorru, oh tiegħi. Minħabba issa, jistgħu bażikament timbotta lilha hemmhekk, let li kampanja biss ipoġġu hemm sakemm tniedi, u mhux jkollhom għalfejn tinkwieta fig dwar x'tip ta 'infrastruttura se jkun hemm biex jappoġġaha. U mbagħad malli li l-kampanja isir, huwa simili l-infrastruttura biss immedjatament tmur bogħod għaliex hemm verament l-ebda infrastruttura. Huwa biss kodiċi li tpoġġi fuq Lambda. Huwa biss data li tpoġġi fil DynamoDB. Dan huwa mod aqwa biex jibnu l-applikazzjonijiet. UDJENZA: Allura huwa aktar effimeru milli kieku jkun jekk kien maħżun fuq server attwali? Rick HOULIHAN: Assolutament. Minħabba li server eżempju jkollhom ikunu 24/07. Għandu jkun disponibbli għall xi ħadd biex jirreaġixxu għaliha. Well raden liema? S3 huwa disponibbli 24/7. S3 dejjem jirrispondi. U S3 huwa ħafna, tajjeb ħafna li sservi up oġġetti. Dawk l-oġġetti jistgħu jkunu fajls HTML, jew JavaScript fajls, jew tkun xi tkun trid. Inti tista 'taħdem applikazzjonijiet web ħafna sinjuri minn bramel S3, u n-nies jagħmlu. U hekk dan huwa l-idea hawnhekk huwa li jitbiegħed mit-triq aħna użati biex jaħsbu dwar dan. Aħna kollha użati biex jaħsbu f'termini ta 'servers u hosts. Mhuwiex dwar dan aktar. Huwa dwar l-infrastruttura bħala kodiċi. Jintuża l-kodiċi tal-sħaba u ħalli l-sħaba run dan għalik. U dan huwa dak AWS qed tipprova tagħmel. UDJENZA: Allura kaxxa deheb tiegħek fin-nofs tal-API Gateway hija mhux server simili, imma minflok hija just-- Rick HOULIHAN: Inti tista 'taħseb li bħala server faċċata. Kull ma huwa huwa li ser tieħu l-HTTP jitolbu u mappa biex proċess ieħor. Li kollox li tagħmel. U f'dan il-każ, aħna qed mapping li funzjoni Lambda. Kull dritt, hekk li kollox sibt. Grazzi ħafna. I japprezzaw dan. Naf irridu ftit matul iż-żmien. U nisperaw li inti guys ltqajna xi ftit ta 'informazzjoni li tista 'tieħu l bogħod llum. U I ruhna jekk I marru fuq xi wħud kapijiet tiegħek, imma hemm ħafna tajjeb ta ' għarfien fundamentali sisien li naħseb hija ta 'valur ħafna għalik. Allura nirringrazzjak talli me. [Applause] UDJENZA: [inaudible] huwa meta inti kienu jgħidu inti kellhom jgħaddu l-ħaġa mill-bidu sat-tmiem biex jiksbu l-valuri dritt jew l-istess valuri, Kif il-valuri tinbidel jekk [inaudible]. Rick HOULIHAN: Oh, idempotent? Kif tibdel l-valuri? Ukoll, għaliex jekk I ma run dan it-triq kollha sa l-aħħar, imbagħad I do not know liema bidliet saru fl-aħħar mil. Huwa mhux se tkun l- istess data bħal dak li rajt. UDJENZA: Oh, sabiex inti biss ma gotten l-input kollu. Rick HOULIHAN: Dritt. Ikollok tmur mill-bidu sat-tmiem, u allura huwa se tkun stat konsistenti. Kessaħ. UDJENZA: Allura inti wrewna DynamoDB tista 'tagħmel dokument jew il-valur ċavetta. U aħna qattgħu ħafna ħin fuq il- valur ewlieni bil-hash u l-modi flip madwar. Meta inti ħares lejn dawk it-tabelli, huwa li u tħalli warajha l-approċċ dokument? Rick HOULIHAN: Jien ma jgħidu telqet minnu lura. UDJENZA: Huma kienu separati mill the-- Rick HOULIHAN: Bl-dokument approċċ, il-tip ta 'dokument fil DynamoDB huwa biss jaħsbu bħala attribut ieħor. Huwa ta 'attribut li tinkludi struttura ġerarkika data. U mbagħad fil-mistoqsijiet, inti tista 'tuża l-proprjetajiet ta 'dawk l-oġġetti li jużaw Notazzjoni Għan. So I tista 'filtru fuq nested proprjetà tad-dokument JSON. UDJENZA: Allura kull darba I do approċċ dokument, I tista 'tip ta' jaslu fil-tabular-- UDJENZA: Assolutament. Udjenza: --indexes u affarijiet inti biss tkellem dwar. Rick HOULIHAN: Yeah, il- indiċijiet u dak kollu li, meta inti tixtieq li jagħmel indiċi tal proprjetajiet tal-JSON, il-mod li aħna d jkollhom biex tagħmel dan huwa jekk inti daħħal oġġett JSON jew dokument fis Dynamo, inti tuża flussi. Flussi jkun jaqra l-input. Youd tikseb dak JSON joġġezzjona u inti jgħidu OK, x'inhu l-proprjetà Irrid indiċi? Inti toħloq tabella derivattiv. Issa li l-mod kif jaħdem id-dritt issa. Aħna ma jippermettu li inti indiċi direttament dawk il-proprjetajiet. UDJENZA: Tabularizing dokumenti tiegħek. Rick HOULIHAN: Eżattament, iċċattjar dan, tabularizing dan, eżattament. Dak hu li għandek tagħmel miegħu. UDJENZA: Grazzi. Rick HOULIHAN: Yep, assolutament, nirringrazzjak. UDJENZA: Allura huwa tip ta ' Mongo jissodisfa classifers REDIS. Rick HOULIHAN: Yeah, huwa ħafna bħal dik. Li deskrizzjoni tajba għal dan. Kessaħ.