[CHWARAE CERDDORIAETH] RICK Houlihan: Pob hawl. Hi, bawb. Fy enw i yw Rick Houlihan. Rwy'n uwch brif pensaer atebion yn AWS. Byddaf yn canolbwyntio ar NoSQL a Technolegau DynamoDB. Rydw i yma heddiw i siarad â chi ychydig am hynny. Mae fy nghefndir yn bennaf mewn haen data. Treuliais hanner fy natblygiad gyrfa yn ysgrifennu cronfa ddata, mynediad data, datrysiadau ar gyfer ceisiadau amrywiol. Rwyf wedi bod yn Cloud virtualization am tua 20 mlynedd. Felly, cyn y Cwmwl oedd y Cloud, roeddem yn arfer ei alw cyfrifiadura cyfleustodau. A'r syniad oedd, mae fel PG & E, rydych yn talu am yr hyn rydych yn ei ddefnyddio. Heddiw rydym yn galw ei y cwmwl. Ond dros y blynyddoedd, rwyf wedi gweithio am ychydig o gwmnïau Mae'n debyg eich bod wedi erioed wedi clywed am. Ond rwyf wedi llunio rhestr o technegol cyflawniadau, mae'n debyg y byddech yn ei ddweud. Mae gen i wyth batentau mewn systemau Cwmwl virtualization, dylunio microbrosesydd, prosesu digwyddiad cymhleth, ac ardaloedd eraill yn ogystal. Felly y dyddiau hyn, yr wyf yn canolbwyntio'n bennaf ar NoSQL technolegau a'r genhedlaeth nesaf cronfa ddata. A dyna yn gyffredinol yr hyn yr wyf i'n mynd fod yma siarad â chi heddiw am. Felly, beth allwch chi ei ddisgwyl o'r sesiwn hon, byddwn yn mynd drwy friff hanes o brosesu data. Mae bob amser yn ddefnyddiol deall le y daethom a pham ein bod sefyllfa yr ydym ynddi. A byddwn yn siarad ychydig bit am dechnoleg NoSQL o safbwynt sylfaenol. Byddwn yn mynd i mewn i rai o y mewnolion DynamoDB. DynamoDB yw AWS yn dim blas. Mae'n reoli'n llawn ac ateb NoSQL gynnal. A byddwn yn siarad ychydig am dabl strwythur, APIs, mathau data, mynegeion, a rhai o'r mewnolion o'r dechnoleg DynamoDB. Byddwn yn mynd i mewn i rai o'r cynllun patrymau ac arferion gorau. Byddwn yn siarad am sut yr ydych yn defnyddio'r dechnoleg hon ar gyfer rhai o geisiadau heddiw. Ac yna byddwn yn siarad ychydig bach am esblygiad neu'r ymddangosiad o patrwm newydd mewn rhaglennu Gelwir ceisiadau a yrrir gan ddigwyddiad a sut DynamoDB ei chwarae yn hynny hefyd. A byddwn yn gadael ychydig o chi trafodaeth pensaernïaeth cyfeirio fel y gallwn sôn am rai o'r y ffyrdd y gallwch ddefnyddio DynamoDB. Felly, yn gyntaf off-- hwn yn gwestiwn Yr wyf yn clywed llawer yn, beth cronfa ddata. Mae llawer o bobl yn credu eu bod yn gwybod beth gronfa ddata yn. Os ydych yn Google, byddwch yn gweld hyn. Mae'n set strwythuredig o ddata a gedwir mewn cyfrifiadur, yn enwedig un sy'n yn hygyrch mewn amrywiol ffyrdd. Mae'n debyg bod hynny'n dda diffiniad o gronfa ddata modern. Ond dydw i ddim yn ei hoffi, oherwydd bod ei fod yn awgrymu un neu ddau o bethau. Mae'n awgrymu strwythur. Ac mae'n awgrymu ei fod ar gyfrifiadur. Ac nid cronfeydd data a wnaeth bob amser yn bodoli ar gyfrifiaduron. Cronfeydd data bodoli mewn gwirionedd mewn sawl ffordd. Felly diffiniad gwell o cronfa ddata yn rhywbeth fel hyn. Mae cronfa ddata yn cael ei drefnu mecanwaith ar gyfer storio, rheoli, ac adalw gwybodaeth. Mae hyn yn dod o About.com. Felly, yr wyf yn hoffi hyn oherwydd ei fod mewn gwirionedd yn siarad am gronfa ddata fod yn ystorfa, storfa o gwybodaeth, nid o reidrwydd rhywbeth sy'n eistedd ar gyfrifiadur. A thrwy gydol hanes, rydym yn heb gael cyfrifiaduron bob amser. Yn awr, os wyf yn gofyn i'r cyfartaledd datblygwr heddiw beth sydd cronfa ddata, dyna'r ateb a gaf. Rhywle gallaf gadw pethau. Iawn? Ac mae'n wir. Ond mae'n anffodus. Oherwydd bod y gronfa ddata yn wirioneddol sylfaen y app modern. Mae'n y sylfaen o bob cais. A sut ydych yn adeiladu hynny cronfa ddata, sut i strwythuro data sy'n mynd i bennu sut y cais yn perfformio wrth i chi raddfa. Felly, mae llawer o fy swydd heddiw yn delio â'r hyn digwydd pan datblygwyr cymryd yr ymagwedd hon ac yn ymdrin â chanlyniadau o gais sydd yn awr yn scaling y tu hwnt i'r gwreiddiol bwriad a dioddefaint o ddylunio gwael. Felly, gobeithio, pan fyddwch yn cerdded i ffwrdd heddiw, wnewch chi helpu cael un neu ddau o offer mewn eich gwregys fe sy'n cadw chi rhag gwneud yr un camgymeriadau hynny. Iawn. Felly, gadewch i ni siarad am ychydig o y llinell amser o dechnoleg cronfa ddata. Rwy'n credu fy mod yn darllen yn erthygl nad yw maith yn ôl ac mae'n dweud rhywbeth ar y lines-- mae'n ddatganiad farddonol iawn. Mae'n dweud hanes o ddata prosesu yn llawn o dyfrnodau uchel o ddigonedd data. IAWN. Yn awr, yr wyf yn dyfalu dyna fath o wir. Ond yr wyf mewn gwirionedd yn edrych ar yw fel hanes ei llenwi mewn gwirionedd gyda dyfrnod uchel o bwysau data. Oherwydd bod y gyfradd data o llyncu byth yn mynd i lawr. Dim ond yn mynd i fyny. Ac arloesedd yn digwydd pan fydd rydym yn gweld pwysau ddata, a oedd yn yw faint o ddata sydd yn sydd bellach yn dod i mewn i'r system. Ac ni ellir ei brosesu yn effeithlon naill ai yn amser neu yn y gost. A dyna pan fyddwn yn dechrau i edrych ar bwysedd data. Felly, pan edrychwn ar y Cronfa ddata gyntaf, mae hyn yn yw'r un a oedd rhwng ein clustiau. Rydym ni i gyd yn eu geni ag ef. Mae'n cronfa ddata 'n glws. Mae ganddo argaeledd uchel. Mae bob amser yn. Gallwch bob amser gael. Ond mae'n defnyddiwr sengl. Ni allaf rannu fy meddyliau gyda chi. Ni allwch gael fy meddyliau pan yr ydych am iddynt. Ac nid yw eu abilitiy mor dda. Rydym yn anghofio pethau. Bob hyn a hyn, un ohonom dail ac yn symud ymlaen i fodolaeth arall ac yr ydym yn colli popeth a oedd yn y gronfa ddata. Felly nid dyna'r cyfan sydd yn dda. Ac mae hyn yn gweithio'n dda dros amser pan oeddem yn ôl yn y dydd pan fydd yr holl mae gwir angen ei wybod yw ble yr ydym yn mynd i fynd ar yfory neu pan rydym yn casglu y bwyd gorau. Ond wrth i ni ddechrau i dyfu fel Dechreuodd gwareiddiad a llywodraeth i ddod i fodolaeth, ac Dechreuodd busnesau i ddatblygu, rydym yn dechrau sylweddoli ein Mae angen ychydig yn fwy na'r hyn gallem eu rhoi ar ein pen. Iawn? Rydym angen systemau o gofnodi. Rydym angen llefydd i fod yn gallu ddata storio. Felly rydym yn dechrau ysgrifennu dogfennau, creu llyfrgelloedd ac archifau. Rydym yn dechrau datblygu system o gyfrifo cyfriflyfr. A bod system o gyfrif cyfriflyfr Rhedodd y byd am ganrifoedd lawer, a efallai hyd yn oed filoedd o flynyddoedd fel rydym yn fath o tyfodd i'r pwynt lle y llwyth data rhagori gallu'r systemau hynny i allu cynnwys iddo. Ac mae hyn yn digwydd mewn gwirionedd yn y 1880au. Iawn? Yn y 1880au Unol Daleithiau Cyfrifiad. Mae hyn yn wir yn lle y troad pwyntio prosesu data modern. Mae hyn yn y pwynt pa faint o ddata oedd yn cael ei gasglu gan y Llywodraeth yr Unol Daleithiau cyrraedd y pwynt lle cymerodd wyth mlynedd i'w prosesu. Yn awr, wyth years-- fel eich bod yn gwybod, mae'r cyfrifiad yn rhedeg bob 10 years-- felly mae'n eithaf amlwg, erbyn pryd rydym yn cael y cyfrifiad 1890, faint o ddata sy'n oedd yn mynd i gael eu prosesu gan y llywodraeth oedd mynd i fod yn fwy na'r 10 mlynedd ei fod yn Byddai cymryd i lansio y cyfrifiad newydd. Roedd hon yn broblem. Felly a guy a enwir Herman Daeth Hollerith hyd ac efe a ddyfeisiodd cofnod dyrnu uned cardiau, darllenydd cerdyn dyrnu, cerdyn dyrnu tabulator, a choladu y mecanweithiau ar gyfer y dechnoleg hon. A bod cwmni ei fod yn ffurfio yn y amser, ynghyd â chwpl o bobl eraill, Daeth gwirionedd yn un o'r pileri o cwmni bach yr ydym yn ei hadnabod heddiw o'r enw IBM. Felly IBM oedd yn wreiddiol yn y busnes gronfa ddata. A dyna wir yn yr hyn a wnaethant. Gwnaethant prosesu data. Fel felly amlhau dyrnu cardiau, mae mecanweithiau dyfeisgar o fod yn gallu trosoledd hynny dechnoleg i pôl canlyniad setiau didoli. Gallwch weld yn y llun hwn yna mae gennym little-- 'i' ychydig yn small-- ond gallwch weld mecanwaith mecanyddol dyfeisgar iawn lle mae gennym dec cerdyn dyrnu. Ac cymryd rhywun ychydig o sgriwdreifer a glynu drwy'r slotiau a chodi i fyny i gael y gêm, bod gosod canlyniadau didoli. Mae hwn yn agregiad. Rydym yn gwneud hyn drwy'r amser heddiw yn y cyfrifiadur, lle rydych yn ei wneud yn y gronfa ddata. Rydym yn eu defnyddio i wneud hynny â llaw, dde? Pobl rhoi pethau hyn at ei gilydd. Ac yr oedd y cynnydd yn nifer o gardiau punch hyn i mewn i hyn yr ydym a elwir drymiau data a riliau data, tâp papur. Cymerodd y diwydiant prosesu data gwers gan y pianos chwaraewr. Chwaraewr pianos yn ôl ar droad y ganrif arfer defnyddio riliau papur gyda slotiau ymlaen i ddweud ei fod pa allweddi i chwarae. Er mwyn i dechnoleg addaswyd yn y pen draw i storio data digidol, am y gallai eu bod yn rhoi data hwnnw ar y rhai riliau dâp papur. Yn awr, o ganlyniad, data Roedd actually-- sut gael gafael ar y data hwn yn uniongyrchol yn dibynnu ar sut yr ydych wedi'i storio arno. Felly, os wyf yn rhoi y data ar dâp, Roedd rhaid i mi gael gafael ar y data yn llinol. Roedd rhaid i mi rolio'r cyfan tâp i gael mynediad at yr holl ddata. Os byddaf yn rhoi'r data mewn dyrnu cardiau, gallwn i gael gafael arno mewn ychydig yn fwy ar hap ffasiwn, efallai nad mor gyflym. Ond roedd cyfyngiadau o ran sut yr ydym mynediad at ddata sy'n seiliedig ar sut yr oedd ei storio. Ac felly mae hyn yn broblem mynd i mewn i'r '50au. Unwaith eto, gallwn ddechrau i weld bod wrth i ni datblygu technolegau newydd i brosesu y data, ar y dde, fydd yn agor i fyny y drws i atebion newydd, ar gyfer rhaglenni newydd, newydd ceisiadau ar gyfer data hwnnw. Ac yn wir, llywodraethu Efallai oedd y rheswm pam ein bod wedi datblygu rhai o'r systemau hyn. Ond mae busnes yn gyflym daeth yn y gyrrwr y tu ôl i'r esblygiad o'r gronfa ddata modern a system ffeiliau fodern. Felly, y peth nesaf y ddaeth i fyny yn y '50au Roedd y system ffeiliau a'r datblygu storfa mynediad hap. Roedd hyn yn hardd. Yn awr, mae pob un yn sydyn, gallwn roi ein ffeiliau yn unrhyw le ar yriannau caled hyn a gallwn gael gafael ar y data hwn ar hap. Gallwn gramadegu hynny gwybodaeth allan o ffeiliau. Ac rydym yn datrys yr holl y byd problemau â phrosesu data. Ac mae hynny'n para tua 20 neu 30 mlynedd nes esblygiad o'r cronfa ddata berthynol, a oedd yn yw pan benderfynodd y byd yr ydym yn awr angen i chi gael storfa sy'n gorchfygu y blerdwf data ar draws y ffeil systemau yr ydym wedi ei adeiladu. Iawn? Gormod o ddata dosbarthu mewn gormod o lleoedd, mae'r dad-dyblygu data, a'r gost o storio yn enfawr. Yn y 70au, mae'r adnodd mwyaf drud bod cyfrifiadur oedd oedd y storfa. Mae'r prosesydd yn gweld fel cost sefydlog. Pan fyddaf yn prynu'r bocs, y CPU yn gwneud rhywfaint o waith. Mae'n mynd i fod yn nyddu a yw mae'n gweithio mewn gwirionedd ai peidio. Mae hynny'n wir gost suddedig. Ond yr hyn gostio i mi fel busnes storio. Os oes rhaid i mi brynu mwy o ddisgiau nesaf mis, mae hynny'n gost wirioneddol i mi dalu. A bod storio yn ddrud. Nawr rydym yn gyflym ymlaen 40 mlynedd ac mae gennym broblem wahanol. Mae'r cyfrifiannu yn awr yn y adnodd mwyaf drud. Mae storio yn rhad. Yr wyf yn golygu, gallwn fynd i unrhyw le ar y cwmwl a gallwn ddod o hyd storio rhad. Ond yr hyn na allaf ddod o hyd yw cyfrifiannu rhad. Felly, esblygiad heddiw technoleg, technoleg cronfa ddata, yn canolbwyntio mewn gwirionedd o gwmpas cronfeydd data eu dosbarthu nad ydynt yn dioddef o yr un math o raddfa cyfyngiadau cronfeydd data perthynol. Byddwn yn siarad ychydig am yr hyn sydd mewn gwirionedd yn ei olygu. Ond un o'r rhesymau a y gyrrwr y tu ôl this-- rydym siarad am y pwysau data. Pwysau Data yn rhywbeth sy'n gyrru'r arloesedd. Ac os ydych yn edrych ar dros y pum mlynedd diwethaf, mae hwn yn siart o'r hyn y mae'r data llwyth ar draws y fenter gyffredinol yn edrych fel yn y pum mlynedd diwethaf. Ac mae'r rheol gyffredinol days-- hyn os byddwch yn mynd Google-- yn 90% o'r data sydd rydym yn storio heddiw, ac yr oedd yn a gynhyrchir o fewn y ddwy flynedd ddiwethaf. IAWN. Yn awr, nid yw hyn yn duedd sy'n newydd. Mae hon yn duedd sydd wedi bod mynd allan am 100 mlynedd. Byth ers Herman Hollerith Datblygwyd y cerdyn dyrnu, rydym wedi bod yn adeiladu storfeydd data a chasglu data ar gyfraddau anhygoel. Felly, yn ystod y 100 mlynedd diwethaf, rydym wedi gweld y duedd hon. Dyw hynny ddim yn mynd i newid. Wrth symud ymlaen, rydym yn mynd i weld hyn, os nad tuedd cyflymu. A gallwch weld beth sy'n edrych fel. Os yw busnes yn 2010 roedd gan un terabeit o ddata o dan reolaeth, heddiw sy'n golygu eu bod rheoli 6.5 petabytes data. Dyna 6,500 gwaith yn fwy data. Ac yr wyf yn gwybod hyn. Rwy'n gweithio gyda busnesau hyn bob dydd. Bum mlynedd yn ôl, yr wyf yn Byddai siarad â chwmnïau a fyddai'n siarad gyda mi am yr hyn yn boen y mae i reoli terabeit o ddata. A byddent yn siarad i mi am sut yr ydym yn gweld fod hyn yn ôl pob tebyg yn mynd i fod yn petabyte neu ddwy o fewn ychydig o flynyddoedd. Mae'r rhain yn un o gwmnïau heddiw dw i'n cwrdd â, ac maen nhw'n siarad â mi am y problem a oes cael rheoli degau, 20 petabytes data. Felly, y ffrwydrad y data yn y diwydiant yn gyrru'r enfawr angen am atebion gwell. Ac mae'r cronfa ddata berthynol yn dim ond nad ydynt yn byw i fyny at y galw. Ac felly mae 'na llinol cydberthynas rhwng pwysedd data ac arloesedd technegol. Mae hanes wedi dangos i ni hyn, dros amser, pryd bynnag y swm y data y mae angen ei brosesu yn fwy na gallu'r system caiff ei phrosesu mewn amser rhesymol neu am gost resymol, technolegau newydd wedyn yn cael eu dyfeisio i ddatrys y problemau hynny. Mae'r rhai technolegau newydd, yn ei dro, yn agor y drws i set arall o broblemau, a oedd yn yn casglu hyd yn oed mwy o ddata. Nawr, nid ydym yn mynd i atal hyn. Iawn? Nid ydym yn mynd i atal hyn. Pam? Oherwydd nad ydych yn gallu wybod popeth sydd i'w wybod yn y bydysawd. Ac ar yr amod ein bod wedi bod yn fyw, drwy gydol hanes dyn, rydym bob amser wedi gyrru i wybod mwy. Felly mae'n ymddangos fel bob modfedd i ni symud i lawr y llwybr o ddarganfod gwyddonol, rydym yn luosi'r swm o ddata bod angen i ni brosesu gynt a chynt wrth i ni ddatgelu mwy a mwy a mwy o am weithrediad mewnol bywyd, am sut mae'r bydysawd yn gweithio, am gyrru y darganfyddiad gwyddonol, ac y ddyfais sy'n rydym yn ei wneud heddiw. Mae swm y data yn unig yn cynyddu yn barhaus. Felly gallu i ddelio â y broblem hon yn enfawr. Felly, un o'r pethau rydym yn edrych fel pam NoSQL? Sut mae NoSQL ddatrys y broblem hon? Wel, cronfeydd data perthynol, Iaith Ymholiad Strwythuredig, SQL-- sy'n wir yn lluniad o'r berthynol database-- pethau hyn yn optimeiddio ar gyfer storio. Yn ôl yn y 70au, unwaith eto, ddisg yn ddrud. Mae'r ymarfer provisioning storio yn y fenter yn ddiddiwedd. Yr wyf yn gwybod. Yr wyf yn byw ynddo. Ysgrifennais yrwyr storio ar gyfer cwmni uwchwasanaethwr enterprised yn ôl yn y '90au. Ac mae'r gân yw rheseli arall array storio yn unig oedd yn rhywbeth y digwydd bob dydd yn y fenter. Ac nid yw byth yn stopio. Storio dwysedd uwch, y galw ar gyfer storio dwysedd uchel, ac ar gyfer storio yn fwy effeithlon devices-- nid yw byth yn dod i ben. A NoSQL yn dechnoleg gwych am ei fod yn normalizes y data. Mae'n dad-dyblygu data. Mae'n rhoi data mewn strwythur sy'n yn agnostig i bob patrwm mynediad. Gall ceisiadau Lluosog daro hynny Cronfa ddata SQL, rhedeg ymholiadau ad hoc, a chael data yn y ffurf y maent yn Mae angen i brosesu am eu llwyth gwaith. Mae hynny'n swnio'n wych. Ond y llinell waelod yw ag unrhyw system, os yw'n agnostig i bopeth, mae'n cael ei optimeiddio ar gyfer unrhyw beth. IAWN? A dyna beth yr ydym yn ei gael gyda y cronfa ddata berthynol. Mae'n optimeiddio ar gyfer storio. Mae'n normaleiddio. Mae'n berthynol. Mae'n cefnogi'r ymholiadau ad hoc. Ac mae'n ac mae'n graddfeydd fertigol. Os oes angen i gael cronfa ddata SQL mwy neu gronfa ddata SQL mwy pwerus, Rwy'n mynd brynu darn mwy o haearn. IAWN? Rwyf wedi gweithio gyda llawer o gwsmeriaid sydd wedi bod trwy uwchraddio mawr yn eu seilwaith SQL yn unig i gael gwybod chwe mis yn ddiweddarach, maent yn taro'r wal eto. A'r ateb o Oracle neu MSSQL neu unrhyw un arall yn cael bocs mwy. Wel yn hwyr neu'n hwyrach, ni allwch brynu blwch yn fwy, ac mae hynny'n broblem go iawn. Mae angen i ni mewn gwirionedd yn newid pethau. Felly, lle mae hyn yn gweithio? Mae'n gweithio'n dda ar gyfer oddi ar lein analytics, llwythi gwaith OLAP-fath. A dyna wir yn lle SQL perthyn. Yn awr, caiff ei ddefnyddio heddiw mewn llawer o ar-lein trafodaethol prosesu-fath ceisiadau. Ac y mae'n gweithio jyst ddirwya ar rhyw lefel o ddefnydd, ond mae'n nid yn unig yn raddfa y ffordd y NoSQL ei wneud. A byddwn yn siarad ychydig ychydig am pam mae hynny'n. Yn awr, NoSQL, ar y llaw arall, yn fwy optimeiddio ar gyfer cyfrifiannu. IAWN? Nid yw'n agnostig i patrwm mynediad. A yw hyn rydym yn galw de-normaleiddio strwythur neu strwythur hierarchaidd. Mae'r data mewn cronfa ddata berthynol yn dod at ei gilydd o dablau lluosog i gynhyrchu'r farn bod eu hangen arnoch. Mae'r data mewn cronfa ddata NoSQL yn cael ei storio mewn dogfen sy'n yn cynnwys strwythur hierarchaidd. Yr holl ddata a fyddai fel arfer yn dod at ei gilydd i gynhyrchu farn honno yn cael ei storio mewn un ddogfen. A byddwn yn siarad ychydig am sut mae hynny'n gweithio mewn un neu ddau o siartiau. Ond mae'r syniad yma yw eich bod yn storio eich data gan fod y rhain safbwyntiau instantiated. IAWN? Rydych raddfa llorweddol. Iawn? Os oes angen i gynyddu maint fy glwstwr NoSQL, Nid oes angen i mi gael bocs mwy. Rwy'n cael blwch arall. Ac yr wyf yn glystyru hynny at ei gilydd, a gallaf ddarn data hwnnw. Byddwn yn siarad ychydig am pa sharding yw, i fod yn gallu i raddfa y gronfa ddata ar draws dyfeisiau lluosog corfforol ac yn cael gwared ar y rhwystr sy'n ei gwneud yn ofynnol i mi i raddfa fertigol. Felly mae'n adeiladu mewn gwirionedd ar gyfer ar-lein prosesu trafodion a graddfa. Mae gwahaniaeth mawr yma rhwng adrodd, dde? Adrodd, nid wyf yn gwybod y Cwestiynau Rydw i'n mynd i ofyn. Iawn? Reporting-- os bydd rhywun o fy adran farchnata eisiau just-- faint fy cwsmeriaid cael y nodwedd benodol sy'n prynu ar day-- hwn nid wyf yn gwybod beth holi maent yn mynd i ofyn. Felly mae angen i mi fod yn agnostig. Yn awr, mewn ar-lein cais trafodion, Yr wyf yn gwybod pa gwestiynau rwy'n gofyn. Rwy'n adeiladodd y cais am llif gwaith penodol iawn. IAWN? Felly, os wyf yn gwneud y gorau o ddata storio i gefnogi hynny llif gwaith, mae'n mynd i fod yn gyflymach. A dyna pam y gall NoSQL 'n sylweddol cyflymu'r cyflwyno o'r mathau hynny o wasanaethau. Iawn. Felly rydym yn mynd i fynd i mewn ychydig o theori yma. Ac mae rhai ohonoch chi, eich llygaid Gallai rholio ychydig bach yn ôl. Ond byddaf yn ceisio ei gadw lefel mor uchel ag y gallaf. Felly os ydych chi yn y prosiect rheoli, mae lluniad a elwir yn driongl o gyfyngiadau. IAWN. Mae'r triongl o mynnu cyfyngiadau ni allwch gael popeth drwy'r amser. Methu cael eich pei a'i fwyta hefyd. Felly, mewn rheoli prosiectau, y triongl cyfyngiadau yn y gallwch ei gael ei rhad, gallwch chi ei gael yn gyflym, neu gallwch ei gael yn dda. Dewiswch dau. Oherwydd nad ydych yn gallu cael pob un o'r tri. Iawn? IAWN. Felly byddwch yn clywed am hyn lawer. Mae'n cyfyngiad triphlyg, driongl o gyfyngiadau triphlyg, neu y triongl haearn yn oftentimes-- pan fyddwch yn siarad â rheolwyr prosiect, byddant yn siarad am hyn. Yn awr, cronfeydd data yn cael eu triongl haearn eu hunain. Ac mae'r triongl haearn o ddata yn yr hyn a alwn theorem CAP. IAWN? Mynnu theorem CAP sut mae cronfeydd data yn gweithredu dan amod penodol iawn. A byddwn yn siarad am pa amod hwnnw yn. Ond mae'r tri phwynt y triongl, fel petai, yn C, cysondeb. IAWN? Felly, yn PAC, cysondeb golygu bod yr holl cleientiaid sy'n gallu cael mynediad i'r gronfa ddata Bydd bob amser yn iawn golwg cyson o ddata. Gonna Nid oes neb yn gweld dau beth gwahanol. IAWN? Os byddaf yn gweld y gronfa ddata, Dw i'n gweld yr un olygfa fel fy partner sy'n gweld yr un gronfa ddata. Dyna cysondeb. Argaeledd golygu os bydd y Cronfa ddata ar-lein, os gellir ei gyrraedd, y bydd pob cleient bob amser yn gallu darllen ac ysgrifennu. IAWN? Felly bob cleient sy'n Gall ddarllen y gronfa ddata Bydd bob amser yn gallu darllen Data data ac ysgrifennu. Ac os yw hynny'n wir, ei fod yn system sydd ar gael. A'r trydydd pwynt yw'r hyn rydym yn galw goddefgarwch rhaniad. IAWN? Yn golygu goddefgarwch Rhaniad bod y system yn gweithio'n dda er gwaethaf rhwydwaith ffisegol rhaniadau rhwng y nodau. IAWN? Felly nodau yn y clwstwr yn gallu siarad â'i gilydd, beth sy'n digwydd? Iawn. Cronfeydd data perthynol Felly choose-- gallwch ddewis dau o'r rhain. IAWN. Cronfeydd data perthynol Felly dewis i fod yn gyson ac ar gael. Os bydd y rhaniad yn digwydd rhwng y DataNodes yn y siop data, y gronfa ddata damweiniau. Iawn? 'I jyst yn mynd i lawr. IAWN. A dyma pam eu bod wedi i dyfu gyda blychau mwy. Iawn? Oherwydd mae no-- fel arfer, clwstwr cronfa ddata, nid oes llawer iawn ohonynt sy'n gweithredu yn y ffordd honno. Ond mae'r rhan fwyaf cronfeydd data raddfa fertigol mewn blwch sengl. Oherwydd eu bod angen iddynt fod yn gyson ac ar gael. Pe rhaniad yn cael ei chwistrellu, Yna, byddai'n rhaid i chi wneud dewis. Mae'n rhaid i chi wneud dewis rhwng bod yn gyson ac ar gael. A dyna beth cronfeydd data NoSQL yn ei wneud. Iawn. Felly cronfa ddata NoSQL, mae'n yn dod mewn dau blasau. Rydym have-- yn dda, mae'n yn dod mewn llawer o flasau, ond mae'n dod gyda dau sylfaenol characteristics-- beth byddem yn galw cronfa ddata CP, neu goddefgarwch cyson a rhaniad system. Mae'r rhain yn guys gwneud y dewis y pryd y nodau yn colli cysylltiad â'i gilydd, nid ydym yn mynd i ganiatáu pobl i ysgrifennu unrhyw mwy. IAWN? Hyd nes y rhaniad yn cael ei symud, ysgrifennu mynediad wedi'i rhwystro. Mae hynny'n golygu nad ydynt yn ar gael. Maent yn gyson. Pan fyddwn yn gweld bod rhaniad chwistrellu ei hun, rydym yn gyson yn awr, oherwydd nid ydym yn mynd er mwyn caniatáu i'r newid data ar ddau ochr y rhaniad yn annibynnol o'i gilydd. Bydd yn rhaid i reestablish cyfathrebu cyn i unrhyw ddiweddariad i mae'r data yn cael ei ganiatáu. IAWN? Byddai'r blas nesaf fydd system AP, neu sydd ar gael a rhannu system goddefgarwch. Nid yw'r guys yn poeni. Iawn? Unrhyw nôd sy'n cael ysgrifennu, byddwn yn mynd ag ef. Felly rwy'n ailadrodd fy nata ar draws nodau lluosog. Mae'r nodau yn cael cleient, cleient yn dod i mewn, yn dweud, yr wyf i'n mynd i ysgrifennu rhai data. Node yn dweud, dim problem. Y nôd nesaf iddo yn cael yn ysgrifennu ar yr un cofnod, mae'n mynd i ddweud dim problem. Rhywle yn ôl ar y pen ôl, data sy'n mynd i ailadrodd. Ac yna bydd rhywun yn mynd i wireddu, uh-oh, maent system yn sylweddoli, uh-oh, mae wedi bod diweddariad i'r ddwy ochr. Beth ydym yn ei wneud? A beth maent yn ei wneud wedyn yw maent yn gwneud rhywbeth sy'n yn eu galluogi i ddatrys y wladwriaeth data. A byddwn yn siarad am bod yn y siart nesaf. Beth i dynnu sylw fan hyn. Ac nid wyf ddim yn mynd i mynd yn rhy llawer i mewn i hyn, gan fod hyn mynd i mewn theori data dwfn. Ond mae 'na trafodaethol fframwaith sy'n yn rhedeg mewn system perthynol sy'n fi yn caniatáu i wneud diweddariadau yn ddiogel i lluosog endidau yn y gronfa ddata. A bydd diweddariadau hynny'n digwydd i gyd ar unwaith neu ddim o gwbl. A gelwir hyn yn thrafodion ASID. IAWN? ACID rhoi atomicity ni, cysondeb, ben ei hun, a gwydnwch. IAWN? Mae hynny'n golygu atomig, trafodion, pob fy diweddariadau naill ai yn digwydd neu nad ydynt. Cysondeb yn golygu bod y gronfa ddata fydd bob amser yn cael eu dwyn i mewn i gyson wladwriaeth ar ôl y wybodaeth ddiweddaraf. Ni fyddaf byth yn gadael y gronfa ddata mewn cyflwr gwael ar ôl gwneud cais diweddariad. IAWN? Felly mae'n ychydig yn wahanol na cysondeb PAC. Cysondeb CAP yn golygu fy holl gall cleientiaid bob amser yn gweld y data. Cysondeb ACID golygu, pan trafodiad ei wneud, data yn dda. Mae fy perthnasau i gyd yn dda. Dydw i ddim yn mynd i ddileu rhiant rhes a gadael criw o blant amddifad mewn rhyw tabl arall. Ni all ddigwydd os ydw i'n gyson mewn trafodyn asid. Unigedd yn golygu bod trafodion Bydd bob amser yn digwydd un ar ôl y llall. Y canlyniad diwedd y data fydd yr un cyflwr fel pe bai trafodion hynny a gyhoeddwyd yr un pryd Dienyddiwyd gyfresol. Felly mae'n concurrency rheolaeth yn y gronfa ddata. Felly y bôn, ni allaf gynyddran y un gwerth ddwywaith gyda dau gweithrediadau. Ond os wyf yn dweud yn ychwanegu 1 i'r gwerth hwn, a dau o drafodion yn dod i mewn ac yn ceisio gwneud hynny, un i ' mynd i gyrraedd yno gyntaf ac mae'r un arall mynd i gyrraedd yno ar ôl. Felly, yn y diwedd, yr wyf yn ychwanegu dau. Byddwch yn gweld yr hyn yr wyf yn ei olygu? IAWN. Gwydnwch yn eithaf syml. Pan fydd y trafodiad Cydnabyddir, 'i' mynd i fod yno, hyd yn oed os bydd y system damweiniau. Pan fydd y system yn adfer, bod drafodiad sy'n ei gyflawni mewn gwirionedd yn mynd i fod yno. Felly dyna y gwarantau o drafodion ASID. Mae'r rheini'n gwarantau 'n bert' n glws i gael ar gronfa ddata, ond maent yn dod ar y gost. Iawn? Oherwydd bod y broblem gyda'r fframwaith hwn yn os oes rhaniad yn y data set, rhaid i mi wneud penderfyniad. Rydw i'n mynd i gael i ganiatáu diweddariadau ar un ochr neu'r llall. Ac os bydd hynny'n digwydd, Yna, rwy'n bellach yn mynd i allu cynnal nodweddion hynny. Ni fyddant yn gyson. Ni fyddant yn cael eu hynysu. Dyma lle mae'n torri i lawr ar gyfer cronfeydd data perthynol. Mae hyn yn y rheswm perthynol cronfeydd data raddfa fertigol. Ar y llaw arall, yr ydym wedi hyn a elwir technoleg BASE. Ac mae'r rhain yn eich Cronfeydd data NoSQL. Iawn. Felly, rydym wedi ein CP, cronfeydd data AP. Ac mae'r rhain yn yr hyn yr ydych yn galw yn y bôn ar gael wladwriaeth, meddal, yn y pen draw gyson. IAWN? Ar gael yn y bôn, oherwydd eu bod yn oddefgar rhaniad. Byddant bob amser yn yno, hyd yn oed os oes rhaniad rhwydwaith rhwng y nodau. Os gallaf siarad â nod, rwy'n mynd i fod yn gallu darllen data. IAWN? Efallai nad wyf bob amser yn gallu ysgrifennu data os ydw i'n llwyfan cyson. Ond byddaf yn gallu darllen data. Mae'r wladwriaeth yn feddal yn dangos pan wyf yn darllen data hwnnw, Efallai na fydd yr un peth â nodau eraill. Pe hawl gyhoeddwyd ar nôd rhywle arall yn y clwstwr ac nid yw wedi ailadrodd ar draws y clwstwr eto pan ddarllenais data hwnnw, Efallai nad yw cyflwr fod yn gyson. Fodd bynnag, bydd yn cael ei yn y pen draw yn gyson, sy'n golygu bod pan fydd ysgrifennu yn cael ei wneud at y system, bydd yn ailadrodd ar draws y nodau. Ac yn y pen draw, yn nodi y yn cael eu dwyn i mewn i drefn, a bydd yn gyflwr gyson. Yn awr, theorem CAP mewn gwirionedd yn chwarae dim ond mewn un cyflwr. Dyna cyflwr yw pan fydd hyn yn digwydd. Oherwydd pryd bynnag y mae'n gweithredu yn modd arferol, does dim rhaniad, popeth yn gyson ac ar gael. Rydych ond yn poeni am CAP pan fydd gennym y rhaniad. Felly, y rhai yn brin. Ond sut y mae'r system yn ymateb pan fydd y rhai yn digwydd yn pennu pa fath o system rydym yn delio â. Felly, gadewch i ni edrych ar yr hyn y sy'n edrych fel ar gyfer systemau AP. IAWN? Systemau AP yn dod mewn dau blasau. Maent yn dod yn y blas hwnnw'n meistr meistr, 100%, gael bob amser. A hwy a dod yn y blas arall, sy'n dweud, eich bod yn gwybod beth, dw i'n mynd i boeni am y peth parwydydd pan fydd rhaniad gwirioneddol yn digwydd. Fel arall, mae mynd i fod yn brif nodau sy'n mynd i gymryd yr hawliau. IAWN? Felly, os ydym yn rhywbeth fel Cassandra. Byddai Cassandra fod yn feistr meistr, gadewch i fi ysgrifennu at unrhyw nod. Felly, beth sy'n digwydd? Felly, yr wyf wedi gwrthrych yn y Cronfa ddata sy'n bodoli ar ddau nodau. Gadewch i ni alw y gwrthrych S. Felly, rydym wedi wladwriaeth ar gyfer S. Mae gennym rai gweithrediadau ar S sydd ar y gweill. Cassandra yn caniatáu i mi ysgrifennu at nodau lluosog. Felly, gadewch i ni ddweud fy mod yn cael ysgrifennu ar gyfer s i ddau nodau. Wel, beth sy'n digwydd dod i ben hyd yn rydym yn galw bod digwyddiad parwydydd. Efallai na fydd yn rhaniad rhwydwaith corfforol. Ond oherwydd y dyluniad y system, mae'n mewn gwirionedd yn rhannu'ch cyn gynted gan fy mod yn cael ysgrifennu ar ddau nodau. Dyw hi ddim yn fy gorfodi i ysgrifennu i gyd trwy un nôd. Rwy'n ysgrifennu ar ddau nodau. IAWN? Felly nawr mae gen i ddwy wladwriaeth. IAWN? Beth sy'n mynd i ddigwydd yn hwyr neu'n hwyrach, mae mynd i fod yn ddigwyddiad replication. Mae mynd i fod yr hyn yr ydym Gelwir adferiad balis, a oedd yn yw lle mae dau rhain yn datgan yn dod yn ôl at ei gilydd ac mae mynd i fod yn algorithm sy'n rhedeg y tu mewn i'r gronfa ddata, yn penderfynu beth i'w wneud. IAWN? Yn ddiofyn, diweddariad diwethaf yn ennill yn y rhan fwyaf o systemau AP. Felly fel arfer 'na algorithm diofyn, beth maent yn galw am alwad yn ôl swyddogaeth, rhywbeth y Bydd yn cael ei alw pan fydd yr amod hwn ei ganfod i gyflawni rhywfaint o resymeg i ddatrys y gwrthdaro. IAWN? Mae'r alwad yn ôl rhagosodedig a ball resolver yn y rhan fwyaf cronfeydd data AP yw, dyfalu beth, stamp amser yn ennill. Hwn oedd y diweddariad diwethaf. Rydw i'n mynd i roi y newyddion diweddaraf i mewn 'na. Efallai y byddaf daflu i lawr cofnod hwn yr wyf dympio i ffwrdd i mewn i log adfer fel y gall y defnyddiwr yn dod yn ôl yn ddiweddarach a dweud, hey, roedd gwrthdrawiad. Beth ddigwyddodd? A gallwch mewn gwirionedd yn daflu i lawr cofnod o yr holl wrthdrawiadau a'r rolio a gweld beth sy'n digwydd. Yn awr, fel defnyddiwr, gallwch hefyd yn cynnwys rhesymeg i mewn i'r alwad yn ôl. Felly, gallwch newid hynny gweithrediad galw'n ôl. Gallwch ddweud, hey, yr wyf am i adfer data hwn. Ac yr wyf am geisio uno y ddau gofnodion. Ond dyna fyny i chi. Nid yw'r gronfa ddata yn gwybod sut i gwneud hynny yn ddiofyn. Mae'r rhan fwyaf o'r amser, yr unig beth y gronfa ddata yn gwybod sut i wneud yw dweud, Roedd hyn yn un y cofnod diwethaf. Dyna'r un sy'n mynd i ennill, a dyna'r gwerth dw i'n mynd i roi. Unwaith bod adferiad balis a dyblygu yn digwydd, yr ydym wedi ein wladwriaeth, sy'n yn awr S cysefin, sef cyflwr uno holl amcanion hynny. Felly systemau AP wedi hyn. Nid oes angen systemau CP poeni am hyn. Gan fod cyn gynted ag y rhaniad yn dod i chwarae, nid ydynt ond rhoi'r gorau i gymryd yn ysgrifennu. IAWN? Felly dyna hawdd iawn i delio â bod yn gyson pan nad ydych yn derbyn unrhyw ddiweddariadau. Dyna â systemau CP yn ei wneud. Iawn. Felly, gadewch i ni siarad ychydig ychydig am batrymau mynediad. Pan fyddwn yn sôn am NoSQL, 'i' i gyd am y patrwm mynediad. Yn awr, SQL yw ad hoc, ymholiadau. Mae'n siop perthynol. Nid oes rhaid i ni boeni am y patrwm mynediad. Rwy'n ysgrifennu ymholiad cymhleth iawn. Mae'n mynd ac yn cael y data. Dyna beth mae hyn yn edrych yn fel, normaleiddio. Felly, yn y strwythur penodol, rydym yn edrych ar catalog cynnyrch. Mae gen i wahanol fathau o gynhyrchion. Mae gen i lyfrau. Mae gen i albymau. Mae gen i fideos. Mae'r berthynas rhwng cynnyrch ac unrhyw un o'r llyfrau hyn, albwm, a thablau fideos yn 1: 1. Iawn? Mae gen ID cynnyrch, a bod yn cyfateb ID i lyfr, albwm, neu fideo. IAWN? Dyna 1: perthynas 1 ar draws tablau hynny. Yn awr, books-- i gyd maent yn wedi yw eiddo gwraidd. Dim problem. Mae hynny'n wych. Mae un-i-un perthynas, Yr cael yr holl mae'r data angen i mi ddisgrifio y llyfr. Orielau wedi'u newid yn Albums-- cael traciau. Dyma beth rydym yn galw un i lawer. Gallai pob albwm yn cael llawer o draciau. Felly, ar gyfer pob trac ar yr albwm, gallwn i gael record arall yn y tabl hwn plentyn. Felly, yr wyf yn creu un cofnod yn fy tabl albwm. Yr wyf yn creu cofnodion lluosog yn y tabl traciau. Un-i-nifer. Mae'r berthynas yn beth rydym yn galw llawer-i-lawer. IAWN? Byddwch yn gweld y gallai actorion fod yn mewn llawer o ffilmiau, mae llawer o fideos. Felly, yr hyn yr ydym yn ei wneud yw ein rhoi mapio hwn tabl rhwng y rheini, a 'i jyst mapio'r ID actor i'r ID fideo. Nawr gallaf greu ymholiad y ymuno fideos drwy fideo actor i actorion, ac mae'n rhoi rhestr 'n glws o fi yr holl ffilmiau a'r holl actorion a oedd yn y ffilm. IAWN. Felly dyma ni. Yw'r lefel uchaf un-i-un perthynas; un-i-lawer, Orielau wedi'u newid i traciau; llawer-i-lawer. Dyna'r lefel uchaf-tri pherthnasoedd mewn unrhyw gronfa ddata. Os ydych yn gwybod sut y mae'r rhai perthnasoedd yn gweithio gyda'i gilydd, yna rydych yn gwybod llawer am y gronfa ddata yn barod. Felly NoSQL yn gweithio ychydig yn wahanol. Gadewch i ni feddwl am am eiliad beth mae'n ei edrych hoffi mynd cael fy holl gynnyrch. Mewn storfa perthynol, yr wyf yn eisiau cael fy holl gynnyrch ar restr o fy holl gynnyrch. Mae hynny'n llawer o ymholiadau. Ges i ymholiad am fy holl lyfrau. Ges i ymholiad gan fy albwm. Ac yr wyf yn got ymholiad am fy holl fideos. Ac yr wyf yn rhaid i roi i gyd at ei gilydd mewn rhestr a'i weini yn ôl i fyny i'r cais sy'n gofyn amdano. I gael fy llyfrau, ymunaf Cynhyrchion a Llyfrau. I gael fy albwm, cefais i ymuno Products, Albymau, a Tracks. Ac i gael fy fideos, yr wyf wedi i ymuno Cynhyrchion i Fideos, ymuno drwy Actor Fideos, a dod yn y Actorion. Felly dyna dri ymholiadau. Ymholiadau cymhleth iawn i cydosod un canlyniad set. Mae hynny'n llai na optimaidd. Dyma pam pan fyddwn yn sôn am strwythur data sy'n a adeiladwyd i fod yn agnostig i'r fynedfa pattern-- yn dda mae hynny'n wych. A gallwch weld hyn yn wir 'n glws sut rydym wedi trefnu'r data. A ydych yn gwybod beth? Dim ond cael un cofnod ar gyfer actor. Mae hynny'n cŵl. Rwyf wedi deduplicated fy holl actorion, ac yr wyf yn cadw fy cymdeithasau yn nhabl mapio hwn. Fodd bynnag, mae cael y data allan yn dod yn ddrud. Dw i'n anfon y CPU i gyd dros y system ymuno rhain strwythurau data at ei gilydd i allu tynnu hynny'n ôl data. Felly sut ydw i'n cael o gwmpas hynny? Yn NoSQL mae'n ymwneud cydgrynhoi, nid normaleiddio. Felly, rydym yn awyddus i ddweud ein bod am cefnogi'r patrwm mynediad. Os bydd y patrwm mynediad at y ceisiadau, Mae angen i mi gael fy holl gynnyrch. Gadewch i ni rhoi'r holl gynnyrch mewn un tabl. Os byddaf yn rhoi'r holl gynnyrch mewn un tabl, Gallaf dewiswch yr holl gynnyrch oddi wrth y bwrdd ac yr wyf yn ei gael i gyd. Wel sut mae gwneud hynny? Yn dda yn NoSQL does dim strwythur i'r bwrdd. Byddwn yn siarad ychydig am sut mae hyn yn gweithio yn Dynamo DB. Ond nid oes ganddynt yr un i chi priodoleddau a'r un eiddo ym mhob un rhes, ym mhob un eitem, fel chi ei wneud mewn tabl SQL. A beth mae hyn yn caniatáu i mi ei wneud yw llawer o bethau ac yn rhoi llawer o hyblygrwydd i mi. Yn yr achos arbennig hwn, yr wyf yn cael fy nogfennau cynnyrch. Ac yn y arbennig enghraifft, mae popeth yn ddogfen yn y tabl Products. Ac mae'r cynnyrch am lyfr gallai cael ID fath sy'n pennu llyfr. A bod y cais Byddai troi ar y ID. Ar yr haen cais, dw i'n mynd i ddweud oh, pa fath record yw hwn? O, mae'n gofnod llyfr. Cofnodion llyfr yn cael eiddo hyn. Gadewch i mi greu gwrthrych llyfr. Felly dw i'n mynd i lenwi'r gwrthrych llyfr â'r eitem hon. Eitem nesaf yn dod a yn dweud, beth yw eitem hon? Wel yr eitem hon yn albwm. O, rwy'n got a gwahanol cyfan arferol prosesu ar gyfer hynny, am ei fod yn albwm. Byddwch yn gweld yr hyn yr wyf yn ei olygu? Felly mae'r cais tier-- wyf dewiswch yr holl gofnodion hyn. Maent i gyd yn dechrau dod i mewn. Gallent fod pob math gwahanol. Ac mae'n rhesymeg y cais sy'n symud ar draws y mathau hynny ac yn penderfynu sut i'w prosesu. Unwaith eto, felly rydym yn gwneud y gorau y sgema ar gyfer y patrwm mynediad. Rydym yn gwneud hynny drwy cwympo tablau hynny. Rydym yn cymryd y bôn strwythurau normaleiddio hyn, ac rydym yn adeiladu strwythurau hierarchaidd. Tu mewn i bob un o'r cofnodion hyn Dw i'n mynd i weld eiddo arae. Y tu mewn y ddogfen hon ar gyfer Albymau, Rwy'n gweld araeau o draciau. Traciau hynny bellach become-- ei fod yn bôn tabl plentyn hwn y yn bodoli yma yn y strwythur hwn. Felly, gallwch wneud hyn mewn DynamoDB. Gallwch wneud hyn mewn MongoDB. Gallwch wneud hyn mewn unrhyw gronfa ddata NoSQL. Creu mathau hyn o strwythurau data hierarchaidd sy'n caniatáu i chi adalw data yn gyflym iawn oherwydd rydw Nid oes rhaid i gydymffurfio. Pan fyddaf yn mewnosod rhes i mewn i'r Traciau bwrdd, neu rhes yn y tabl Albymau, Mae'n rhaid i mi gydymffurfio â hynny sgema. Mae'n rhaid i mi gael y briodwedd neu'r eiddo sy'n cael ei ddiffinio ar y bwrdd. Mae pob un ohonynt, pan fyddaf yn mewnosod y rhes. Nid yw hynny'n wir yn NoSQL. Gallaf gael hollol wahanol eiddo ym mhob dogfen fy mod yn mewnosod i mewn i'r casgliad. Mecanwaith mor bwerus iawn. Ac mae'n wir yn sut yr ydych gwneud y gorau o system. Gan fod nawr bod ymholiad, yn lle hynny o ymuno holl tablau hyn a gweithredu ymholiadau a hanner dwsin i dynnu yn ôl y data ei angen arnaf, Im 'yn gweithredu un ymholiad. A dwi'n ailadrodd ar draws y canlyniadau a osodwyd. mae'n rhoi syniad i chi o rym NoSQL. Rydw i'n mynd i fath o fynd i'r ochr yma ac yn siarad ychydig am hyn. Mae hyn yn fwy o'r math marchnata neu technology-- marchnata o dechnoleg math o drafodaeth. Ond mae'n bwysig deall oherwydd os edrychwn ar y brig yma yn y siart hwn, yr hyn yr ydym yn edrych ar yw'r hyn yr ydym yn galw y gromlin hype technoleg. A beth mae hyn yn ei olygu yw Daw pethau newydd i chwarae. Mae pobl yn meddwl ei fod yn wych. Rydw i wedi datrys fy holl broblemau. Gallai hyn fod diwedd i gyd, yn gyd i bopeth. Ac maent yn dechrau ei ddefnyddio. Ac maent yn ei ddweud, nid yw pethau hyn yn gweithio. Nid yw hyn yn iawn. Roedd yr hen stwff yn well. Ac maent yn mynd yn ôl i wneud pethau y ffordd y cawsant eu. Ac yna yn y pen draw maent yn mynd, eich bod yn gwybod beth? Nid yw'r pethau mor ddrwg. O, dyna sut y mae'n gweithio. Ac unwaith y byddant chyfrif i maes sut y mae'n gwaith, maent yn dechrau gwella. A'r peth rhyfedd am y peth yw, mae'n fath o linellau hyd i'r hyn rydym yn galw y Cromlin Mabwysiadu Thechnoleg. Felly beth sy'n digwydd yw ein bod wedi rhyw sbardun technoleg fath. Yn achos cronfeydd data, 'i' pwysau data. Rydym yn siarad am y pwyntiau penllanw o bwysau data drwy gydol amser. Pan fydd y pwysau data yn taro penodol bwynt, mae hynny'n sbardun technoleg. Mae'n mynd yn rhy ddrud. Mae'n cymryd gormod o amser i brosesu'r data. Mae arnom angen rhywbeth gwell. Byddwch yn cael y arloeswyr maes 'na rhedeg o gwmpas, geisio darganfod beth yw'r ateb. Beth yw'r syniad newydd? Beth sydd nesaf gorau ffordd i wneud y peth hyn? Ac maent yn dod o hyd i rywbeth. A'r bobl â'r boen go iawn, y guys ar ymyl gwaedu, byddant yn neidio ar hyd a lled y peth, oherwydd bod angen ateb. Nawr beth yn anochel happens-- a mae'n digwydd ar hyn o bryd yn NoSQL. Wyf yn ei weld drwy'r amser. Beth anochel digwydd yw pobl yn dechrau defnyddio'r offeryn newydd yr un ffordd y maent yn defnyddio yr hen offeryn. Ac maent yn cael gwybod ei fod nid yw'n gweithio cystal. Ni allaf gofio pwy oeddwn siarad yn gynharach heddiw. Ond mae fel, pan fydd y jackhammer ei ddyfeisio, nad oedd pobl yn swing drosodd eu pen i dorri y concrit. Ond dyna beth sydd digwydd gyda NoSQL heddiw. Os ydych yn cerdded i mewn i'r rhan fwyaf o siopau, maent yn ceisio i fod yn siopau NoSQL. Yr hyn y maent yn ei wneud yw maent yn eu defnyddio NoSQL, ac maent yn llwytho ei llawn o sgema perthynol. Oherwydd dyna sut maent yn cynllunio chronfeydd data. Ac maen nhw'n meddwl, pam mae nid perfformio'n dda iawn? Boy, y peth hyn drewi. Roedd rhaid i mi gadw fy holl yn ymuno in-- mae fel, na, na. Cynnal ymuno? Pam yr ydych yn ymuno â data? Nid ydych yn ymuno â data mewn NoSQL. Rydych agregau hynny. Felly, os ydych chi am osgoi hyn, yn dysgu sut mae'r teclyn yn gweithio cyn i chi mewn gwirionedd dechrau ei ddefnyddio. Peidiwch â cheisio defnyddio'r offer newydd y un ffordd a ddefnyddiwyd gennych hen offer. Rydych yn mynd i gael profiad gwael. A phob un tro dyna beth mae hyn yn ymwneud. Pan fyddwn yn dechrau dod i fyny yma, 'i' oherwydd bod pobl cyfrifedig allan sut i ddefnyddio'r offer. Maent yn gwneud yr un peth pan cronfeydd data perthynol eu dyfeisio, ac roeddent yn disodli systemau ffeil. Maent yn ceisio adeiladu systemau ffeil gyda cronfeydd data perthynol oherwydd dyna beth mae pobl ei ddeall. Nid oedd yn gweithio. Felly deall y arferion gorau y dechnoleg ydych yn gweithio gyda yn enfawr. Pwysig iawn. Felly rydym yn mynd i fynd i mewn DynamoDB. DynamoDB yw AWS yn -reolir yn llawn lwyfan NoSQL. Beth mae reolir yn llawn-olygu? Mae'n golygu nad oes angen i chi 'n sylweddol poeni am unrhyw beth. Rydych yn dod i mewn, byddwch yn dweud ni, mae angen tabl i mi. Mae angen llawer fel hyn. Rydych yn taro'r botwm, ac yr ydym yn y ddarpariaeth yr holl isadeiledd tu ôl i'r olygfa. Nawr bod yn enfawr. Oherwydd pan fyddwch yn siarad am scaling cronfa ddata, Clystyrau data NoSQL ar graddfa, petabytes rhedeg, rhedeg miliynau o trafodion yr eiliad, Nid yw pethau hyn yn glystyrau bach. Rydym yn siarad miloedd o achosion. Rheoli miloedd o achosion, hyd yn oed yn yr achosion rhithwir, yn boen go iawn yn y gasgen. Wyf yn golygu, yn meddwl am bob amser chlytia system weithredu yn dod allan neu fersiwn newydd o'r gronfa ddata. Beth mae hynny'n ei olygu i chi yn weithredol? Mae hynny'n golygu eich bod got 1,200 gweinyddwyr y mae angen eu diweddaru. Nawr, hyd yn oed gyda awtomeiddio, a all gymryd amser hir. Gall hynny achosi llawer o cur pen gweithredol, oherwydd efallai gennyf gwasanaethau i lawr. Fel yr wyf yn diweddaru'r cronfeydd data hyn, yr wyf yn Gallai gwneud deployments gwyrdd glas lle rwy'n defnyddio ac uwchraddio hanner fy nodau, ac yna uwchraddio yr hanner arall. Cymerwch y rhai i lawr. Felly rheoli'r seilwaith graddfa yn hynod boenus. Ac AWS gymryd y boen allan ohono. A gall cronfeydd data NoSQL fod yn hynod boenus oherwydd y ffordd y maent yn raddfa. Graddfa llorweddol. Os ydych am gael mwy o NoSQL cronfa ddata, byddwch yn prynu mwy o nodau. Mae pob nod i chi brynu yn cur pen gweithredol arall. Felly, gadewch i rywun arall wneud hynny ar eich rhan. Gall AWS wneud hynny. Rydym yn cefnogi gwerthoedd allweddol ddogfen. Nawr, nid ydym yn mynd gormod i mewn ar y siart arall. Mae llawer o wahanol blasau o NoSQL. Maen nhw i gyd math o gael munged at ei gilydd ar y pwynt hwn. Gallwch edrych ar DynamoDB a dweud ie, rydym yn y ddau dogfen a gwerth allweddol storio'r y pwynt hwn. A gallwch ddadlau nodweddion o un dros y llall. I mi, mae llawer o hyn yn wir chwech o un hanner dwsin o'r llall. Mae pob un o'r technolegau hyn yw technoleg cain a dirwy o hyd i ateb. Ni fyddwn yn dweud MongoDB yn well neu'n waeth na Couch, yna Cassandra, Yna, Dynamo, neu i'r gwrthwyneb. Yr wyf yn golygu, mae'r rhain yn unig opsiynau. Mae'n gyflym ac yn 'i' gyson ar unrhyw raddfa. Felly, mae hyn yn un o'r mwyaf taliadau bonws a gewch gyda AWS. Gyda DynamoDB yw'r gallu i gael digid sengl isel latency millisecond ar unrhyw raddfa. Dyna oedd nod dyluniad y system. Ac rydym wedi cwsmeriaid sy'n gwneud miliynau o drafodion yr eiliad. Nawr byddaf yn mynd drwy rai o'r rheini defnyddio achosion mewn ychydig funudau yma. Control-- mynediad Integredig mae gennym yr hyn yr ydym yn galw Rheoli Mynediad Hunaniaeth, neu IAM. Mae'n treiddio i bob system, pob gwasanaeth y Strategaeth Cymru Gyfan yn cynnig. DynamoDB yn eithriad. Gallwch reoli mynediad at y tablau DynamoDB. Ar draws pob eich cyfrifon gan Strategaeth Cymru Gyfan diffinio rolau mynediad a chaniatâd yn y seilwaith IAM. Ac mae'n elfen allweddol ac annatod mewn yr hyn a alwn Digwyddiad Rhaglennu Driven. Nawr mae hyn yn patrwm newydd. GYNULLEIDFA: Sut mae eich cyfradd gwir cadarnhaol yn erbyn negyddol ffug ar eich system rheoli mynediad? RICK Houlihan: True cadarnhaol yn erbyn negyddol ffug? GYNULLEIDFA: Dychwelyd beth dylech fod yn dychwelyd? Yn hytrach na unwaith yn tra mae'n nid yw'n dychwelyd pan ddylai fod ddilysu? RICK Houlihan: Ni allwn ddweud wrthych fod. Os oes unrhyw fethiannau o gwbl ar hynny, Nid fi yw'r person i ofyn y cwestiwn penodol hwnnw. Ond mae hynny'n gwestiwn da. Byddwn yn chwilfrydig i wybod hynny fy hun, mewn gwirionedd. Ac felly yna eto, patrwm newydd yn rhaglennu a yrrir gan ddigwyddiad. Mae hyn yn syniad eich bod yn gallu deploy ceisiadau cymhleth sy'n Gall weithredu iawn, graddfa uchel iawn heb unrhyw seilwaith o gwbl. Heb unrhyw sefydlog seilwaith o gwbl. A byddwn yn siarad ychydig am yr hyn y mae hynny'n ei olygu wrth i ni fynd ar y ddwy nesaf siartiau. Y peth cyntaf y byddwn yn ei wneud yw y byddwn yn siarad am dablau. Fathau o ddata API ar gyfer Dynamo. A'r peth cyntaf wnewch chi helpu sylwi pan fyddwch yn edrych ar hyn, os ydych yn gyfarwydd gydag unrhyw gronfa ddata, cronfeydd data yn cael 'n sylweddol dau fath o APIs Byddwn i'n ei alw. Neu dwy set o API. Byddai un o'r rheiny fod yn API gweinyddol. Y pethau y maent yn gofalu am swyddogaethau'r gronfa ddata. Ffurfweddu y peiriant storio, sefydlu ac ychwanegu tablau. creu cronfa ddata catalogau a achosion. Mae'r rhain things-- yn DynamoDB, byddwch yn restrau byr iawn, byr. Felly, mewn cronfeydd data eraill, efallai y byddwch yn gweld dwsinau o orchmynion, o gweinyddol gorchmynion, ar gyfer ffurfweddu opsiynau ychwanegol hyn. Yn DynamoDB nid oes angen hynny oherwydd i chi nad ydych yn ffurfweddu y system, rydym yn ei wneud. Felly, yr unig beth sydd angen i chi ei wneud yw ddweud wrthyf beth yw maint y tabl sydd ei angen arnaf. Felly byddwch yn cael iawn set gyfyngedig o orchmynion. Byddwch yn cael Creu Tabl Update, Tabl, Dileu Tabl, ac yn Disgrifiwch Tabl. Dyna'r unig bethau hangen arnoch ar gyfer DynamoDB. Nid oes angen i chi storio cyfluniad injan. Nid oes angen i mi boeni am ddyblygu. Nid oes angen i mi boeni am sharding. Nid oes angen i mi boeni am unrhyw un o'r pethau hyn. Rydym yn gwneud hyn i gyd ar eich rhan. Felly dyna llawer iawn o uwchben hynny dim ond codi oddi ar eich plât. Yna, mae gennym y gweithredwyr CRUD. CRUD yn rhywbeth yr hyn yr ydym alw i mewn cronfa ddata sy'n Creu, Update, Dileu gweithredwyr. Mae'r rhain yn eich cyffredin gweithrediadau gronfa ddata. Pethau fel eitem rhoi, y cael eitem, diweddaru eitemau, dileu eitemau, ymholiad swp, sganio. Os ydych am i sganio y tabl cyfan. Tynnwch bopeth oddi ar y bwrdd. Un o'r pethau neis am DynamoDB yw ei fod yn caniatáu sganio cyfochrog. Felly, gallwch chi mewn gwirionedd yn gadael i mi wybod faint o edau rydych am ei redeg ar y sgan. A gallwn redeg edafedd hynny. Gallwn sbin yn sganio'n fyny ar draws edafedd lluosog fel y gallwch sganio'r tabl cyfan lle iawn, yn gyflym iawn yn DynamoDB. Mae'r API arall sydd gennym yw yr hyn yr ydym yn galw ein API nentydd. Nid ydym yn mynd i siarad yn rhy llawer am hyn ar hyn o bryd. Mae gen i rhywfaint o gynnwys yn ddiweddarach ymlaen yn y dec am hyn. Ond Nentydd mewn gwirionedd yn running-- yn meddwl am y peth fel yr amser a archebwyd a log newid rhaniad. Mae popeth sy'n digwydd ar mae'r tabl yn dangos i fyny ar y nant. Bob ysgrifennu at y bwrdd yn dangos i fyny ar y nant. Gallwch ddarllen y nant, ac gallwch wneud pethau ag ef. Byddwn yn siarad am yr hyn y mathau o bethau yr ydych wneud gyda'r pethau fel dyblygu, creu mynegeion uwchradd. Mae pob math o 'n sylweddol oera pethau y gallwch eu gwneud gyda hynny. Fathau o ddata. Yn DynamoDB, yr ydym yn cefnogi y ddau allwedd gwerth a data dogfen math. Ar yr ochr chwith y sgrin yma, rydym wedi cael ein math sylfaenol. Mathau allweddol werth. Mae'r rhain yn llinynnau, rhifau, a binaries. Felly, dim ond tri math sylfaenol. Ac yna gallwch chi gael set o hynny. Un o'r pethau neis am NoSQL yw gallwch gynnwys araeau fel eiddo. A chyda DynamoDB gallwch gynnwys araeau o fath sylfaenol fel eiddo gwraidd. Ac yna mae y mathau ddogfen. Faint o bobl yn gyfarwydd â JSON? Rydych guys yn gyfarwydd â JSON gymaint? Mae'n bôn JavaScript, Gwrthrych, Nodiant. Mae'n caniatáu i chi yn y bôn diffinio strwythur hierarchaidd. Gallwch storio dogfen JSON ar DynamoDB ddefnyddio cydrannau cyffredin neu blociau adeiladu sydd ar gael yn y rhan fwyaf o ieithoedd rhaglennu. Felly os oes gennych Java, rydych yn edrych ar fapiau a rhestrau. Gallaf greu y map o'r ardal gwrthrychau. Mae map fel gwerthoedd allweddol storio fel eiddo. Ac y gallai ei gael rhestrau o gwerthoedd o fewn yr eiddo hynny. Gallwch storio gymhleth hon Strwythur hierarchaidd fel nodwedd unigol o eitem DynamoDB. Felly tablau yn DynamoDB, fel y rhan fwyaf Cronfeydd data NoSQL, tablau eitemau. Yn MongoDB byddech ffoniwch y dogfennau hyn. A byddai'n sylfaen soffa. Hefyd cronfa ddata dogfen. Ffonio dogfennau hyn. Ddogfennau neu eitemau yn cael briodoleddau. Gall nodweddion yn bodoli neu Nid yw yn bodoli ar yr eitem. Yn DynamoDB, mae un nodwedd gorfodol. Yn union fel mewn cronfa ddata berthynol, mae gennych allwedd gynradd ar y bwrdd. DynamoDB Mae gan yr hyn a alwn allwedd hash. Rhaid allwedd Hash fod yn unigryw. Felly, pan fyddaf yn diffinio tabl hash, yn y bôn yr hyn rwy'n ei ddweud yw y bydd pob eitem yn cael allwedd hash. Ac mae'n rhaid i bob allwedd hash yn unigryw. Mae pob eitem yn cael ei ddiffinio gan fod allwedd hash unigryw. A gall dim ond un. Mae hyn yn iawn, ond oftentimes yr hyn y mae angen i bobl yw eu bod eisiau yw hash hon allweddol i wneud ychydig yn fwy na dim ond bod yn adnabod unigryw. Oftentimes rydym am i ddefnyddio'r allwedd hash fel y bwced agregu lefel uchaf. A'r ffordd yr ydym yn gwneud hynny yw drwy gan ychwanegu yr hyn a alwn allwedd ystod. Felly, os yw'n hash yn unig bwrdd, rhaid i hyn fod yn unigryw. Os yw'n tabl hash ac ystod, yr gyfuniad o'r hash a'r amrywiaeth rhaid iddo fod yn unigryw. Felly meddyliwch am y peth fel hyn. Os oes gennyf fforwm. Ac mae'r ffurflen wedi pynciau, mae wedi swyddi, ac mae ganddo ymatebion. Felly, efallai y byddwn yn cael hash allweddol, sef y ID pwnc. Ac efallai gennyf allwedd ystod, sef y ID ymateb. Drwy hynny os ydw i am gael yr holl ymatebion ar gyfer pwnc penodol, Gall Fi jyst ymholiad y hash. Gallaf ddweud ei roi i mi i gyd yr eitemau sydd wedi hash hwn. Ac yr wyf i'n mynd i gael pob cwestiwn neu postiwch am y pwnc arbennig. Mae'r rhain yn cydgrynoadau lefel uchaf yn bwysig iawn. Maent yn cefnogi mynediad cynradd patrwm y cais. Siarad, mae hyn yn gyffredinol yw'r hyn yr ydym am ei wneud. Rydym am fod table-- wrth i chi lwytho y bwrdd, rydym am i strwythuro'r data yn y tabl yn y fath fodd bod y cais yn gallu iawn adalw canlyniadau hynny yn gyflym. Ac oftentimes y ffordd i wneud hynny yw i gynnal y cydgrynoadau hyn wrth i ni mewnosoder y data. Yn y bôn, rydym yn lledaenu'r data yn y bwced llachar fel y mae'n dod i mewn. Allweddi Ystod caniatáu hash me-- rhaid i allweddi i fod cydraddoldeb. Pan fyddaf yn ymholi am hash, rhaid i mi ddweud rhoi hash sy'n hafal hon i mi. Pan fyddaf yn holi ystod, yr wyf yn Gall ddweud rhoi amrywiaeth i mi sy'n cael ei ddefnyddio unrhyw fath o gweithredwr gyfoethog yr ydym yn cefnogi. Rhowch yr holl eitemau ar gyfer hash mi. A yw'n gyfartal, fwy na, llai na, a yw'n dechrau gyda, a yw'n bodoli rhwng y ddau werth? Felly y mathau hyn o ymholiadau amrediad bod gennym ddiddordeb bob amser mewn. Bellach yn un peth am ddata, pan edrychwch ar gael mynediad at y data, pryd byddwch yn cael mynediad i'r data, 'i' bob amser am gydgasglu. Mae bob amser am y cofnodion sy'n gysylltiedig â hyn. Rhoi popeth i mi yma that's-- gyd mae'r trafodion ar y cerdyn credyd ar gyfer y mis diwethaf. Dyna gydgasgliad. Mae bron popeth yr ydych yn ei wneud yn y cronfa ddata yn rhyw fath o agregu. Felly yn gallu allu diffinio mae'r rhain bwcedi a rhoi mae'r rhain yn amrywio i chi priodoleddau i allu holi am, ymholiadau gyfoethog y rhai cefnogi llawer, llawer, llawer o batrymau mynediad cais. Felly, y peth arall yr allwedd hash yn ei wneud yw ei fod yn rhoi mecanwaith i ni i allu lledaenu'r data gwmpas. Cronfeydd data NoSQL gweithio orau pan fydd y data yn gyfartal dosbarthu ar draws y clwstwr. Faint o bobl yn gyfarwydd gyda stwnsio algorithmau? Pan fyddaf yn dweud hash a hashing-- oherwydd bod algorithm stwnsio yn ffordd o fod yn gallu cynhyrchu gwerth ar hap o unrhyw werth a roddir. Felly, yn yr achos arbennig hwn, mae'r algorithm hash rydym yn rhedeg yn ND 5 yn seiliedig. Ac os oes gennyf adnabod, ac mae hyn yn yw fy allwedd hash, mae gennyf 1, 2, 3. Pan fyddaf yn rhedeg y algorithm hash, mae'n mynd i ddod yn ôl a dweud, yn dda 1 yn dychwelyd 7B, 2 yn hafal i 48, 3 hafal i CD. Maent yn lledaenu ar draws y gofod allweddol. A pham ydych chi'n gwneud hyn? Oherwydd hynny yn gwneud yn siwr fy mod yn gallu rhowch y cofnodion ar draws nodau lluosog. Os ydw i'n gwneud hyn yn raddol, 1, 2, 3. Ac yr wyf yn cael ystod hash sy'n yn rhedeg yn yr achos penodol, lle hash bach, Fe'i cynhelir rhwng 00 i FF, yna bydd y cofnodion yn mynd i ddod i mewn ac maent yn mynd i fynd 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12. Beth sy'n Digwydd? Mae pob mewnosodiad yn mynd at yr un nod. Byddwch yn gweld yr hyn yr wyf yn ei olygu? Oherwydd pan wyf yn rhannu'r gofod, ac yr wyf yn lledaenu cofnodion hyn ar draws, ac yr wyf yn rhaniad, dw i'n mynd i ddweud rhaniad 1 Mae lle allweddol 0-54. Rhaniad 2 yw 55-89. Rhaniad 3 yw AA i FF. Felly, os wyf yn defnyddio llinol incrementing IDs, gallwch weld beth sy'n digwydd. 1, 2, 3, 4, 5, 6, pob ffordd i fyny at 54. Felly, gan fy mod yn morthwylio y cofnodion i mewn i'r system, popeth yn dod i ben i fyny mynd i un nod. Dyw hynny ddim yn dda. Dyna antipattern. Yn MongoDB ganddynt broblem hon os nad ydych yn defnyddio allwedd hash. MongoDB yn rhoi'r dewis i chi o stwnsio gwerth allweddol. Dylech bob amser wneud hynny, os ydych yn defnyddio hash incrementing allweddol yn MongoDB, neu byddwch yn hoelio pob ysgrifennu at un nod, ac a fyddwch yn cyfyngu ar eich trwybwn ysgrifennu yn wael. GYNULLEIDFA: A yw bod A9 169 mewn degol? RICK Houlihan: Yeah, 'i' rhywle o gwmpas yno. A9, nid wyf yn gwybod. Byddai'n rhaid i chi gael fy deuaidd i cyfrifiannell degol. Nid yw fy ymennydd yn gweithio fel 'na. GYNULLEIDFA: Dim ond un cyflym o'ch sylwadau Mongo. Felly, yw'r gwrthrych ID sy'n dod frodorol gyda Mongo wneud hynny? RICK Houlihan: A yw'n gwneud hynny? Os byddwch yn nodi hynny. Gyda MongoDB, mae gennych yr opsiwn. Gallwch specify-- pob dogfen yn MongoDB wedi cael ID tanlinellu. Dyna gwerth unigryw. Yn MongoDB gallwch nodi p'un ai i hash neu beidio. Maent yn unig yn rhoi'r opsiwn i chi. Os ydych yn gwybod ei fod yn ar hap, dim problem. Nid oes angen i chi wneud hynny. Os ydych yn gwybod nad yw'n hap, bod mae'n incrementing, yna gwneud yr hash. Nawr bod y peth am stwnsio, unwaith y byddwch hash a value-- ac mae hyn yn pam allweddi hash bob amser ymholiadau unigryw, am fy mod i wedi newid gwerth, yn awr ni allaf ei wneud ymholiad ystod. Ni allaf ddweud yw hyn rhwng hyn neu'r llall, gan nad yw'r gwerth hash yn mynd yn gyfwerth â gwerth gwirioneddol. Felly, pan fyddwch yn hash bod allweddol, mae'n cydraddoldeb yn unig. Dyma pam yn allweddol hash DynamoDB ymholiadau bob amser cydraddoldeb yn unig. Felly nawr mewn ystod key-- pan fyddaf yn ychwanegu bod allwedd ystod, cofnodion allwedd ystod y rheini i gyd yn dod i mewn ac eu bod yn cael eu storio ar yr un rhaniad. Fel eu bod yn gyflym iawn, yn hawdd adfer gan fod hwn yn y hash, mae hyn yn yr ystod. A ydych yn gweld popeth gyda'r un hash yn cael ei storio ar yr un gofod rhaniad. Gallwch ddefnyddio y allwedd amrediad i helpu leoli eich data yn agos i'w riant. Felly, beth ydw i'n wir yn ei wneud yma? Mae hwn yn un i lawer o berthynas. Mae'r berthynas rhwng allwedd hash ac mae'r allwedd ystod yn un i lawer. Gallaf gael allweddi hash lluosog. Ni allaf ond wedi ystod lluosog allweddi o fewn pob allwedd hash. Mae'r hash yn diffinio rhiant, yr ystod diffinio'r plant. Fel y gallwch weld does analog yma rhwng y lluniad perthynol a'r un math o yn adeiladu yn NoSQL. Mae pobl yn siarad am NoSQL fel nonrelational. Dyw hi ddim yn nonrelational. Bob amser wedi Data perthynas. Berthynas honno yn unig yn cael eu modelu yn wahanol. Gadewch i ni siarad ychydig bit am gwydnwch. Pan fyddwch yn ysgrifennu at DynamoDB, yn ysgrifennu bob amser tair ffordd ailadrodd. Sy'n golygu bod gennym dri AZ ei. AZ yw Parthau Argaeledd. Gallwch feddwl am Argaeledd Parth fel canolfan ddata neu gasgliad o ganolfannau data. Mae'r pethau hyn yn ddaearyddol hynysu oddi wrth ei gilydd ar draws parthau fai gwahanol, ar draws gridiau pŵer a gorlifdiroedd gwahanol. Nid yw methiant yn un AZ yw mynd i'w cymryd i lawr un arall. Maen nhw hefyd wedi eu cysylltu ynghyd â ffibr tywyll. Mae'n cefnogi un is 1 latency millisecond rhwng AZS. Felly dyblygiad data amser real gallu yn aml AZS. A rheoli systemau oftentimes aml AZ bodloni'r gofynion argaeledd uchel y rhan fwyaf o sefydliadau menter. Felly DynamoDB ei ledaenu ar draws tri AZS yn ddiofyn. Rydym yn unig yn mynd i wybodaeth y ysgrifennu pan fydd dau o'r tri nodau dod yn ôl a dweud, Yeah, yr wyf yn got it. Pam hynny? Gan fod ar yr ochr darllen rydym yn unig mynd i roi data i chi yn ôl pan rydym yn ei gael o ddau nodau. Os ydw i'n ailadrodd ar draws tri, ac rwy'n darllen o ddau, Rwyf bob amser yn gwarantu cael o leiaf un o'r rheini yn darllen i fod yn y rhan fwyaf copi cyfredol o ddata. Dyna beth sy'n gwneud DynamoDB gyson. Nawr gallwch ddewis i droi y rhai gyson yn darllen i ffwrdd. Yn yr achos dw i'n mynd i ddweud, 'N annhymerus' yn unig yn darllen o un nod. Ac ni allaf warantu ei fod yn mynd i fod y data mwyaf cyfredol. Felly, os yw ysgrifennu yn dod i mewn, nid yw wedi ailadrodd eto, eich bod yn mynd i gael y copi. Dyna darllen yn y pen draw yn gyson. A beth mae hynny'n ei hanner y gost. Felly, mae hyn yn rhywbeth i feddwl amdano. Pan ydych yn darllen allan DynamoDB, ac ydych yn sefydlu eich gallu darllen unedau, os byddwch yn dewis yn y pen draw yn darllen yn gyson, mae'n llawer rhatach, mae'n ymwneud â hanner y gost. Ac felly mae'n arbed arian i chi. Ond dyna eich dewis. Os ydych chi eisiau darllen cyson neu yn darllen yn y pen draw yn gyson. Mae hynny'n rhywbeth y gallwch ddewis. Gadewch i ni siarad am mynegeion. Felly, rydym yn sôn bod agregu lefel uchaf. Mae gennym allweddi hash, ac mae gennym allweddi ystod. Dyna 'n glws. A dyna ar y bwrdd cynradd, yr wyf yn got un allwedd hash, Cawn un allwedd amrediad. Beth yw ystyr hynny? Mae gen i un nodwedd yr wyf yn Gall rhedeg ymholiadau cyfoethog erbyn. Mae'n y allwedd amrediad. Mae'r nodweddion eraill ar y item-- Gallaf hidlo ar y nodweddion hynny. Ond ni allaf wneud pethau fel, mae'n yn dechrau gyda, neu yn fwy na. Sut mae gwneud hynny? Yr wyf yn creu mynegai. Mae dau fath o mynegeion yn DynamoDB. Mae mynegai yn wirioneddol golygfa arall o'r tabl. Ac mae'r mynegai uwchradd leol. Mae'r un cyntaf byddwn yn siarad am. Ysgolion uwchradd Felly lleol yn cael eu coexisted ar yr un rhaniad â'r data. Ac fel y cyfryw, maent ar yr un nod corfforol. Maent yn yr hyn yr ydym yn galw gyson. Ystyr, byddant yn cydnabod mae'r ysgrifennu ynghyd â'r bwrdd. Pan ddaw'r ysgrifennu mewn, byddwn yn ysgrifennu drwy'r mynegai. Byddwn yn ysgrifennu at y bwrdd, ac yna byddwn yn cydnabod. Felly dyna gyson. Unwaith y bydd y ysgrifennu wedi bod cydnabod o'r tabl, mae'n gwarantu bod y Mynegai uwchradd leol Bydd yn rhaid i un weledigaeth o ddata. Ond yr hyn y maent yn caniatáu i chi ei wneud yw diffinio allweddi ystod ail. Rhaid i ni ddefnyddio'r un hash allweddol wrth i'r tabl cynradd, oherwydd eu bod yn cyd-leoli ar y un rhaniad, ac maent yn gyson. Ond gallaf greu mynegai gyda gwahanol allweddi ystod. Felly er enghraifft, os oedd gen gwneuthurwr fod gan fwrdd rhannau crai yn dod i mewn. A rhannau amrwd yn dod i mewn, ac maen nhw'n hagregu gan y gwasanaeth. Ac efallai mae 'na galw i gof. Unrhyw ran a wnaed gan hyn gwneuthurwr ar ôl y dyddiad hwn, Mae angen i mi dynnu o fy llinell. Gallaf sbin mynegai a fyddai'n cael ei chwilio, agregu ar ddyddiad gweithgynhyrchu o'r rhan honno benodol. Felly os fy mwrdd lefel uchaf yn hashed eisoes gan manufacturer, efallai iddo gael ei drefnu ar ran adnabod, yr wyf yn Gall greu mynegai oddi ar y bwrdd fel hashed gan gwneuthurwr a yn amrywio ar dyddiad cynhyrchu. A bod ffordd y gallwn ddweud, unrhyw beth sy'n Cafodd ei gynhyrchu rhwng y dyddiadau hyn, Mae angen i mi dynnu oddi wrth y llinell. Felly dyna mynegai uwchradd leol. Mae'r rhain yn cael yr effaith o gyfyngu'ch hash gofod allweddol. Oherwydd eu bod yn cyd-bodoli ar yr un nod storio, maent yn cyfyngu ar yr allwedd hash lle i 10 gigabeit. DynamoDB, o dan y tablau, bydd rhaniad eich bwrdd bob 10 gigabeit. Pan fyddwch yn rhoi 10 gigs o ddata mewn, rydym yn mynd [PHH], ac rydym yn ychwanegu nôd arall. Ni fyddwn yn rhannu'r LSI ar draws rhaniadau lluosog. Byddwn yn rhannu y tabl. Ond ni fyddwn yn rhannu'r LSI. Felly dyna rhywbeth bwysig deall yw os ydych yn gwneud iawn, iawn, cydgasgliadau mawr iawn, yna rydych chi'n mynd i fod yn gyfyngedig i 10 gigabeit ar eich LSIS. Os yw hynny'n wir, a allwn defnyddio eilaidd byd-eang. Ysgolion uwchradd Byd-eang yn 'n sylweddol tabl arall. Maent yn bodoli yn gyfan gwbl i ffwrdd i ochr eich prif tabl. Ac maent yn caniatáu i mi ddod o hyd i strwythur cwbl wahanol. Felly meddyliwch am y peth fel data yn cael ei fewnosod i mewn i ddau dabl gwahanol, strwythuredig mewn dwy ffordd wahanol. Gallaf diffinio yn llwyr gwahanol allwedd hash. Gallaf diffinio yn llwyr gwahanol allwedd amrediad. Ac yr wyf yn gallu rhedeg hyn yn gwbl annibynnol. Fel mater o ffaith, rwyf wedi provisioned rhinwedd fy swydd darllen ac ysgrifennu gallu ar gyfer fy mynegeion eilaidd byd-eang yn gwbl annibynnol o fy mhrif tabl. Os byddaf yn diffinio y mynegai, rwy'n dweud mae'n faint darllen ac ysgrifennu capasiti mae'n mynd i fod yn defnyddio. A bod yn ar wahân o fy mhrif dabl. Nawr ddau o'r mynegeion yn ein galluogi i nid yn unig yn diffinio allweddi hash ac ystod, ond maent yn ein caniatáu i prosiect gwerthoedd ychwanegol. Felly, os ydw i am ddarllen oddi ar y mynegai, ac yr wyf am gael rhywfaint o set o ddata, Nid oes angen i mi fynd yn ôl at y prif tabl i gael y nodweddion ychwanegol. Gallaf prosiect y rhai ychwanegol priodoleddau i mewn i'r tabl i gefnogi'r patrwm mynediad. Yr wyf yn gwybod yn ôl pob tebyg ydym yn ei gael i mewn i rai mewn gwirionedd, really-- mynd i mewn i'r chwyn yma ar rai o'r pethau hyn. Nawr rwy'n mynd i grwydro allan o hyn. GYNULLEIDFA: [Anghlywadwy] allwedd --table golygu yn hash? Mae'r hash gwreiddiol? Aml-estyll? RICK Houlihan: Oes. Ydw. Yr allwedd tabl bôn pwyntiau yn ôl at yr eitem. Felly mynegai yn pwyntydd yn ôl i yr eitemau gwreiddiol ar y bwrdd. Nawr gallwch ddewis i adeiladu mynegai mai dim ond y mae'r allwedd bwrdd, ac nid oes unrhyw eiddo arall. A pham efallai y byddwn yn gwneud hynny? Wel, efallai gen i eitemau mawr iawn. Fi 'n sylweddol dim ond angen gwybod ac-- Efallai fy patrwm mynediad yn dweud, pa eitemau cynnwys eiddo hwn? Nid oes angen i ddychwelyd yr eitem. Fi jyst angen i ni wybod pa eitemau yn cynnwys hynny. Felly, gallwch adeiladu mynegeion mai dim ond yn cael y allwedd tabl. Ond dyna yn bennaf yr hyn mynegai yn y gronfa ddata ar gyfer. Mae'n am fod yn gallu gyflym adnabod sy'n cofnodi, pa rhesi, a oedd yn eitemau yn y tabl yn cael eiddo a Im 'yn chwilio am. GSIs, felly sut maent yn gweithio? GSIs y bôn yn asynchronous. Mae'r diweddariad yn dod i mewn i'r bwrdd, Yna tabl yn cael ei ddiweddaru asynchronously eich holl GSIs. Dyma pam GSIs yn yn y pen draw yn gyson. Mae'n bwysig nodi bod pan fyddwch yn adeiladu GSIs, ac eich bod yn deall eich bod yn creu dimensiwn arall o aggregation-- Erbyn hyn gadewch i ni ddweud yn enghraifft dda dyma yn gwneuthurwr. Rwy'n credu fy mod wedi siarad am gwneuthurwr dyfais feddygol. Gweithgynhyrchwyr dyfais feddygol oftentimes wedi rhannau benodau. Mae'r rhannau sy'n mynd i mewn clun newydd i gyd gael ychydig o rif cyfresol arnynt. A gallai fod ganddynt filiynau a miliynau a biliynau o rannau yn yr holl ddyfeisiau y maent yn llong. Wel, mae angen iddynt agregu o dan gwahanol ddimensiynau, yr holl rannau mewn gwasanaeth, yr holl rhannau a wnaed ar linell benodol, i gyd rhannau a ddaeth mewn gan weithgynhyrchydd penodol ar ddyddiad penodol. A cydgrynoadau hyn weithiau mynd i fyny i'r biliynau. Felly, yr wyf yn gweithio gyda rhai o'r rhain guys sydd yn dioddef oherwydd eu bod yn creu cydgasgliadau ginormous hyn yn eu mynegeion uwchradd. Efallai y byddant yn cael rhannau crai tabl sy'n dod fel hash yn unig. Mae gan rif cyfresol unigryw pob rhan. Rwy'n defnyddio'r rhif cyfresol wrth i'r hash. Mae'n hardd. Mae fy tabl data crai yn cael ei ledaenu i gyd ar draws y gofod allweddol. Fy [? ysgrifennu?] [? llyncu?] yn awesome. Yr wyf yn cymryd llawer o ddata. Yna, yr hyn y maent yn ei wneud yw eu creu GSI. Ac yr wyf yn ei ddweud, eich bod yn gwybod beth, mae angen i mi weld yr holl rhannau ar gyfer gwneuthurwr hwn. Wel, yn sydyn rwy'n cymryd biliwn o resi, ac yn eu stwffio ymlaen un nod, oherwydd pan Rwy'n agregu fel y ID gweithgynhyrchydd fod y hash, a rhif ran fel yr ystod, yna pob un o'r sydyn dwi'n roi biliwn o rannau i'r hyn gwneuthurwr hyn wedi cyflwyno imi. Gall hynny achosi llawer o bwysau ar y GSI, eto, oherwydd fy mod i'n morthwylio un nôd. Im 'yn rhoi'r rhain i gyd mewnosod i mewn i un nôd. A dyna achos defnydd problemus go iawn. Yn awr, yr wyf yn got a dyluniad da patrwm ar gyfer sut yr ydych yn osgoi hynny. A dyna un o'r problemau fy mod bob amser yn gweithio gyda nhw. Ond beth sy'n digwydd, yw'r GSI gallai Nid yw cael digon o gapasiti ysgrifennu i allu gwthio pawb rhesi i mewn i nod sengl. A beth fydd yn digwydd wedyn yw y cynradd, mae'r tabl cleient, bydd y tabl cynradd yn cael ei throttled oherwydd ni all y GSI gadw i fyny. Felly mae fy cyfradd mewnosod fydd yn disgyn ar y bwrdd cynradd fel fy GSI yn ceisio cadw i fyny. Mae pob hawl, felly GSI yn, LSI yn, pa un ddylwn i ddefnyddio? LSI yn gyson. GSI yw y pen draw gyson. Os mae hynny'n iawn, yr wyf yn argymell defnyddio GSI, maent yn llawer mwy hyblyg. Gellir LSI yn cael ei modelu fel GSI. Ac os y faint y data fesul allweddi hash mewn eich casgliad yn fwy na 10 gigabeit, yna rydych chi'n mynd i eisiau defnyddio'r GSI oherwydd mai dim ond terfyn caled. Mae pob hawl, felly raddio. Trwybwn yn Dynamo DB, chi darpariaeth can [Anghlywadwy] trwybwn i'r tabl. Rydym wedi cwsmeriaid sydd â provisioned 60 billion-- yn cymryd rhan mewn 60 biliwn o chwiliadau, yn rheolaidd rhedeg ar dros filiwn o geisiadau yr eiliad ar ein byrddau. Does 'n sylweddol na terfyn damcaniaethol i faint a pha mor gyflym y tabl Gall rhedeg mewn Dynamo DB. Mae rhai meddal terfynau ar eich cyfrif ein bod yn rhoi i mewn 'na, felly nad ydych yn mynd yn wallgof. Os hoffech gael mwy na hynny, nid problem. Byddwch yn dod ddweud wrthym. Byddwn yn troi i fyny y deial. Mae pob cyfrif yn cael ei gyfyngu i ryw lefel ym mhob gwasanaeth, ychydig oddi ar yr ystlum felly nid yw'r bobl yn mynd crazy gael eu hunain i drwbl. Dim cyfyngiad o ran maint. Gallwch roi unrhyw nifer o eitemau ar y bwrdd. Mae maint yw eitem yn gyfyngu i 400 Kilobytes yr un, a fyddai'n cael ei eitem nad oedd y priodoleddau. Felly, swm yr holl briodoleddau wedi'i gyfyngu i 400 cilobeit. Ac yna eto, mae gennym mai ychydig rhifyn LSI â'r terfyn o 10 gigabyte fesul hash. GYNULLEIDFA: Nifer fechan, rwy'n ar goll hyn yr ydych yn dweud wrthyf, hynny yw-- GYNULLEIDFA: O, 400 cilobeit yn uchafswm maint fesul eitem. Felly eitem wedi holl nodweddion. Felly 400 k yw cyfanswm maint yr eitem honno, 400 cilobeit. Felly, yr holl briodoleddau cyfuno, yr holl ddata dyna ym mhob priodoleddau hynny, rholio i fyny i gyfanswm maint, Ar hyn o bryd heddiw y terfyn eitem yn 400 k. Felly scaling unwaith eto, a gyflawnwyd drwy parwydydd. Trwybwn ei provisioned ar y lefel bwrdd. Ac mae '' n sylweddol dau knobs. Rydym wedi darllen gapasiti ac ysgrifennu capasiti. Felly mae'r rhain yn cael eu haddasu annibynnol ar ei gilydd. Mesur RCU yn llym gyson yn darllen. Iawn, felly os rydych yn ei ddweud Rwyf am 1,000 RCU yn y rhai yn gwbl gyson, hynny darllen gyson. Os ydych yn dweud fy mod eisiau yn y pen draw yn gyson yn darllen, gallwch darpariaeth 1,000 RCU yn, rydych yn mynd i gael 2,000 y pen draw gyson yn darllen. A hanner y pris ar gyfer y rhai yn y pen draw yn cynnwys yn darllen. Unwaith eto, wedi'i addasu annibynnol ar ei gilydd. Ac maent yn cael y throughput-- Os ydych yn ei ddefnyddio 100% o'ch RCU, nad ydych yn mynd i gael effaith i'r argaeledd eich hawliau. Felly, maent yn gwbl annibynnol ar ei gilydd. Mae pob hawl, felly un o'r pethau sy'n Soniais am fyr yn throttling. Throttling yn ddrwg. Throttling dangos ddrwg dim SQL. Mae pethau y gallwn ei wneud i helpu byddwch yn lliniaru'r throttling eich bod eu profi. Ond yr ateb gorau i hyn yw gadewch i ni gymryd a edrych ar yr hyn rydych yn ei wneud, gan fod mae 'na gwrth-patrwm yn chwarae yma. Mae'r pethau hyn, pethau fel dim gwisg ysgol llwythi gwaith, allweddi poeth, rhaniadau poeth. Im 'yn taro gofod allweddol penodol galed iawn am ryw reswm penodol. Pam ydw i'n gwneud hyn? Gadewch i chyfrif i hynny allan. Rydw i'n cymysgu fy data poeth gyda data oer. Rydw i'n gadael fy tablau cael enfawr, ond mae 'n sylweddol dim ond rhai is-set o'r data mae hynny'n wir yn ddiddorol i mi. Felly, ar gyfer data log, er enghraifft, mae llawer o cwsmeriaid, eu bod yn cael logio data bob dydd. Maent yn cael llawer iawn o ddata log. Os ydych ond yn dympio holl log sy'n data i mewn i un tabl mawr, dros gyfnod o amser y tabl hwnnw yn mynd i gael enfawr. Ond dw i'n wirioneddol ddiddordeb yn unig yn 24 awr ddiwethaf, y saith diwrnod diwethaf, y 30 diwrnod diwethaf. Beth bynnag y ffenestr o amser bod gen i ddiddordeb mewn edrych ar gyfer y digwyddiad sy'n fy mhoeni i, neu Os bydd yn ddiddorol i mi, dyna'r unig adeg ffenestr y mae angen i mi. Felly pam ydw i'n rhoi 10 mlynedd gwerth o ddata log yn y tabl? Yr hyn sy'n achosi yw y bwrdd y darn. Mae'n mynd yn enfawr. Mae'n dechrau ymledu ar draws miloedd o nodau. Ac ers eich gallu mor isel, rydych yn mewn gwirionedd yn graddio cyfyngu ar bob un o nodau unigol hynny. Felly gadewch i ni ddechrau edrych ar sut ydyn ni'n rholio hynny tabl drosodd. Sut ydym yn rheoli data hwnnw ychydig yn well i osgoi'r problemau hyn. A beth mae hynny'n ei edrych? Dyma beth sy'n edrych fel. Dyma beth NoSQL ddrwg yn edrych fel. Ges i allwedd boeth yma. Os ydych yn edrych ar yr ochr yma, mae'r rhain yn fy holl rhaniadau. Ges 16 rhaniadau i fyny fan hyn ar y gronfa ddata benodol hon. Rydym yn gwneud hyn drwy'r amser. Rwy'n rhedeg hon ar gyfer cwsmeriaid i gyd tro. Mae'n cael ei alw y map gwres. Map gwres yn dweud wrthyf sut yr ydych yn mynediad i'ch gofod allweddol. A beth mae hyn yn ei ddweud wrthyf yn fod yna un hash penodol bod y boi yn hoffi cael llawer iawn, oherwydd ei fod yn taro 'n sylweddol, yn anodd iawn. Felly mae'r glas yn braf. Rydym yn hoffi las. Nid ydym yn hoffi goch. Red lle mae'r pwysau yn cael hyd at 100%. 100%, yn awr ydych yn mynd i gael ei throttled. Felly, pryd bynnag y byddwch yn gweld unrhyw linellau coch fel this-- ac nid dim ond Dynamo DB-- pob cronfa ddata NoSQL Mae gan y broblem hon. Mae gwrth-batrymau y gall yrru mathau hyn o gyflyrau. Yr hyn yr wyf yn ei wneud yw fy mod yn gweithio gyda chwsmeriaid i leddfu'r amodau hyn. A beth mae hynny'n ei edrych? Ac mae hyn yn cael y mwyaf allan o Dynamo DB trwybwn, ond mae'n wir yn mynd y mwyaf allan o NoSQL. Nid yw hyn yn gyfyngedig i Dynamo. Mae hyn yn Rwy'n definitely-- yn arfer gweithio yn Mongo. Rwy'n gyfarwydd â llawer o lwyfannau NoSQL. Mae gan bob un mathau hyn o broblemau allweddol poeth. I gael y gorau allan o unrhyw NoSQL cronfa ddata, yn benodol Dynamo DB, ydych am greu y tablau lle yr elfen allweddol hash wedi nifer fawr o werthoedd gwahanol, lefel uchel o cardinality. Oherwydd bod hynny'n golygu fy mod i'n ysgrifennu i lawer o wahanol bwcedi. Po fwyaf o bwcedi rwy'n ysgrifennu at, y mwyaf tebygol Yr wyf i ledaenu'r llwyth ysgrifennu neu Darllenwch llwytho ar draws nodau lluosog, y mwyaf tebygol yr wyf o gael trwybwn uchel ar y bwrdd. Ac yna yr wyf am i'r gwerthoedd fod yn Gofynnodd weddol gyfartal dros amser ac yn unffurf mor hap ag y bo modd. Wel, dyna fath o ddiddorol, oherwydd nid wyf yn gallu 'n sylweddol rheolaeth pan fydd y defnyddwyr yn dod. Felly, digon yw dweud, os ydym yn lledaenu pethau allan ar draws y gofod allweddol, Mae'n debyg byddwn mewn gwell siâp. Mae 'na rai faint o ddarparu amser nad ydych yn mynd i fod yn rheolaeth galluog. Ond y rhai yn wir yn y dau ddimensiwn sydd gennym, gofod, mynediad cyfartal lledaenu, amser, ceisiadau iddynt gyrraedd o gwasgaru'n gyfartal mewn pryd. Ac os oes dau rheiny amodau yn cael eu bodloni, Yna, dyna beth 'i' mynd i edrych fel. Mae hyn yn llawer brafiach. Rydym yn hapus iawn yma. Mae gennym batrwm mynediad hyd yn oed yn iawn. Yeah, efallai eich bod yn cael ychydig o bwysau bob hyn a hyn, ond dim byd mewn gwirionedd yn rhy helaeth. Felly mae'n anhygoel faint o weithiau, pan fyddaf yn gweithio gyda chwsmeriaid, hynny graff cyntaf gyda'r coch mawr bar a hynny i gyd hyll melyn 'i' dros y lle, rydym yn cael ei wneud ag ymarfer ar ôl ychydig o fisoedd o ail-pensaernïaeth, maent yn rhedeg yr union un fath llwyth gwaith ar yr un llwyth union. A dyma beth mae'n edrych fel yn awr. Felly, yr hyn yr ydych ei gael gyda NoSQL yn sgema data sy'n gwbl ynghlwm wrth y patrwm mynediad. A gallwch wneud y mwyaf y sgema data i gefnogi hynny patrwm mynediad. Os nad ydych, yna rydych chi'n mynd i weld mathau hynny o broblemau gydag allweddi poeth hynny. GYNULLEIDFA: Wel, yn anochel rhai mannau yn mynd i fod yn boethach nag eraill. RICK Houlihan: Bob amser. Dylech bob amser. Yeah, yr wyf yn golygu mae bob amser a-- ac eto, mae rhai patrymau dylunio byddwn yn mynd drwy'r a fydd yn siarad am sut yr ydych yn delio gyda'r cydgrynoadau super mawr. Yr wyf yn golygu, Cawn eu cael, sut rydym yn delio â nhw? Ges i achos defnydd eithaf da y byddwn yn siarad am y am hynny. Mae pob hawl, felly gadewch i ni siarad am rai cwsmeriaid yn awr. Mae'r rhain guys yn AdRoll. Nid wyf yn gwybod os ydych yn gyfarwydd â AdRoll. Mae'n debyg y byddwch yn eu gweld llawer ar y porwr. Maent yn ad ail-targedu, maen nhw'n y busnes mwyaf ad ail-targedu i maes 'na. Fel arfer, maent yn rhedeg dros rheolaidd 60000000000 o drafodion bob dydd. Maen nhw'n ei wneud dros filiwn drafodion yr eiliad. Maen nhw wedi cael tabl eithaf syml strwythur, mae'r tabl prysuraf. Mae'n bôn yn unig yn allwedd hash yw'r cwci, mae'r ystod yn y demograffig categori, ac yna y trydydd priodoledd yw'r sgôr. Felly, mae gennym i gyd cwcis yn ein porwr rhag guys hyn. A phan fyddwch yn mynd i masnachwr sy'n cymryd rhan, maent yn y bôn yn sgorio i chi ar draws categorïau amrywiol demograffig. Pan fyddwch yn mynd i wefan a rydych yn ei ddweud Rwyf am weld ad-- hwn neu yn y bôn nid ydych yn dweud that-- ond pan fyddwch yn mynd i'r wefan maent yn dweud eich bod am weld ad hwn. Ac maent yn mynd yn cael bod ad o AdRoll. AdRoll yn edrych chi i fyny ar eu bwrdd. Maent yn dod o hyd i'ch cwci. Mae'r hysbysebwyr dweud nhw, yr wyf am rywun pwy sy'n canol oed, 40-mlwydd-oed dyn, i mewn i chwaraeon. Ac maent yn eich sgôr yn y ddemograffeg y rheini ac maent yn penderfynu ai peidio mae hynny'n ad da i chi. Nawr mae ganddynt Gytundeb Lefel Gwasanaeth gyda eu darparwyr hysbysebu i ddarparu is-10 millisecond Ymateb ar bob un cais. Felly maent yn eu defnyddio Dynamo DB ar gyfer hyn. Maent yn taro ni miliwn o geisiadau yr eiliad. Maent yn gallu gwneud eu holl Daw wybodaeth, brysbennu holl ddata hynny, ac yn cael y cyswllt ychwanegu yn ôl at hynny hysbysebwyr yn llai na 10 milieiliadau. Mae'n wirioneddol eithaf rhyfeddol gweithredu sydd ganddynt. Mae'r rhain yn guys actually-- yw'r rhain guys. Dwi ddim yn siŵr os yw'n guys hyn. A allai fod yn guys hyn. Dywedodd us-- y bôn dim, yr wyf yn peidiwch â meddwl ei fod yn hwy. Rwy'n credu ei fod yn rhywun arall. Roeddwn yn gweithio gyda cwsmeriaid sy'n dweud wrthyf sydd bellach eu bod wedi mynd i'r Dynamo DB, maen nhw'n gwario mwy o arian ar byrbrydau ar gyfer eu tîm datblygu bob mis nag y maent yn ei wario ar eu cronfa ddata. Felly, bydd yn rhoi i chi gael syniad o arbedion cost y gallwch ei gael yn Dynamo DB yn enfawr. Mae pob hawl, dropcam dyna cwmni arall. Mae'r rhain yn guy fath o- os ydych yn meddwl o y rhyngrwyd o bethau, dropcam yn y bôn y rhyngrwyd fideo diogelwch. Rydych yn rhoi eich camera i maes 'na. Camera Mae synhwyrydd cynnig. Rhywun yn dod ar hyd, sbarduno pwynt ciw. Camera yn dechrau cofnodi am gyfnod til nid yw'n canfod unrhyw gynnig anymore. Rhoi y fideo i fyny ar y rhyngrwyd. Dropcam yn gwmni sydd yn bôn newid i Dynamo DB am eu bod yn dioddef poenau tyfu enfawr. A'r hyn y maent yn dweud wrthym, yn sydyn petabytes data. Nid oedd ganddynt ddim syniad eu gwasanaeth Byddai mor llwyddiannus. Mwy o fideo inbound na YouTube yw'r hyn rhain guys yn ei gael. Maent yn defnyddio DynamoDB i olrhain yr holl metadata ar eu holl bwyntiau allweddol fideo. Felly, maent yn cael bwcedi S3 maent yn gwthio yr holl arteffactau binary i mewn. Ac yna mae ganddynt Cofnodion dynamo DB sy'n gyfeirio pobl at y rhai S3 dri gwrthrych. Pan fydd angen iddynt edrych ar fideo, maent yn edrych i fyny y cofnod yn Dynamo DB. Maent yn cliciwch ar y ddolen. Maent yn tynnu i lawr y fideo gan S3. Felly dyna fath o beth mae hyn yn edrych fel. Ac mae hyn yn syth o'u tîm. Dynamo DB yn lleihau eu amser darparu ar gyfer digwyddiadau fideo o bump i 10 eiliad. Yn eu hen siop perthynol, maent yn eu defnyddio i gael i fynd a gweithredu ymholiadau cymhleth lluosog i ffigur pa fideos i dynnu i lawr, i lai na 50 o milieiliadau. Felly mae'n anhygoel, anhygoel faint o berfformiad y gallwch ei gael pan fyddwch yn gwneud y gorau a ydych dôn y gronfa ddata sylfaenol i gefnogi'r patrwm mynediad. Halfbrick, guys hyn, beth ydyw, Ffrwythau Ninja Amcana beth yw eu. Bod yr holl rhedeg ar Dynamo DB. Ac guys hyn, maent yn wych tîm datblygu, datblygiad mawr siop. Nid yw tîm ops da. Nid oedd ganddynt lawer o adnoddau llawdriniaeth. Roeddent yn cael trafferth ceisio cadw eu seilwaith cais i fyny a rhedeg. Daethant i ni. Buont yn edrych ar hynny Dynamo DB. Maent yn dweud, mae hynny'n i ni. Maent yn adeiladu eu cyfan Fframwaith cais arno. Rhai sylwadau neis iawn yma gan y tîm ar eu gallu i ganolbwyntio nawr ar adeiladu y gêm ac nid gorfod cynnal y seilwaith, a oedd yn yn dod yn llawer iawn o gostau cyffredinol ar gyfer eu tîm. Felly, mae hyn yn rhywbeth that-- mae'r o fudd i chi fod yn ei gael gan Dynamo DB. Mae pob hawl, mynd i mewn modelu data yma. A buom yn siarad ychydig am mae hyn yn un i un, un i lawer, ac mae llawer i lawer o berthnasau math. A sut ydych chi'n cynnal rhai yn Dynamo. Yn Dynamo DB rydym yn defnyddio mynegeion, yn gyffredinol, i gylchdroi'r data o un blas i'r llall. Allweddi Hash, allweddi amrywiaeth, a mynegeion. Yn yr arbennig enghraifft, fel y rhan fwyaf o wladwriaethau Mae gofyniad trwyddedu sy'n Dim ond un drwydded gyrrwr y person. Ni allwch fynd i gael dau gyrrwr trwyddedau yn nhalaith Boston. Nid wyf yn gallu ei wneud yn Texas. Dyna fath o fel y mae. Ac felly yn y DMV, mae gennym lookups, rydym yn am edrych i fyny trwydded y gyrrwr gan y nifer nawdd cymdeithasol. Yr wyf am edrych ar y manylion defnyddiwr yn ôl rhif y drwydded y gyrrwr. Felly efallai y byddwn yn cael y tabl defnyddiwr sy'n Mae allwedd hash ar y rhif cyfresol, neu'r rhif nawdd cymdeithasol, ac nodweddion amrywiol a ddiffinnir ar yr eitem. Nawr ar y bwrdd i mi Gallai ddiffinio GSI sy'n flips bod oddeutu sy'n dweud yr wyf am allwedd hash ar y drwydded ac yna yr holl eitemau eraill. Nawr, os wyf am holi a dod o hyd i'r rhif y drwydded ar gyfer unrhyw Cymdeithasol a roddir Rhif Diogelwch, gallaf holi prif fwrdd. Os ydw i eisiau i holi ac rwyf am i gael y nawdd cymdeithasol rhif neu nodweddion eraill gan Rhif trwydded, gallaf holi y GSI. Y model hwnnw yw bod un i un berthynas. Dim ond GSI syml iawn, troi pethau hynny o gwmpas. Yn awr, yn siarad am un i lawer. Un i lawer yn y bôn eich allwedd ystod hash. Pan rydym yn cael llawer â hyn defnydd achos yn monitro data. Daw Monitro data yn rheolaidd egwyl, fel y rhyngrwyd o bethau. Rydym bob amser yn cael y rhain i gyd cofnodion yn dod i mewn drwy'r amser. Ac yr wyf am ddod o hyd yr holl ddarlleniadau rhwng cyfnod amser penodol. Mae'n ymholiad gyffredin iawn mewn seilwaith monitro. Mae'r ffordd yn mynd am hynny yw dod o hyd i Strwythur tabl syml, un tabl. Mae gen i dabl mesuriadau dyfais gydag allwedd hash ar y ID ddyfais. Ac yr wyf yn cael allwedd amrywiaeth ar y stamp amser, neu yn yr achos hwn, mae'r epig. Ac mae hynny'n caniatáu i mi gyflawni gymhleth ymholiadau yn erbyn y allwedd amrediad a dychwelyd y cofnodion hynny sydd yn gymharu â'r canlyniad pennu bod dwi'n chwilio am. Ac mae'n adeiladu bod un i lawer o berthynas i mewn i'r tabl cynradd gan ddefnyddio'r allwedd hash, strwythur allweddol amrywiaeth. Felly dyna fath o adeiladu i mewn i'r tabl yn Dynamo DB. Pan fyddaf yn diffinio hash a thabl ystod t, rwy'n diffinio un i lawer o berthynas. Mae'n berthynas rhiant a phlentyn. Gadewch i ni siarad am lawer i lawer o berthnasau. Ac ar gyfer yr enghraifft benodol, eto, yr ydym yn mynd i ddefnyddio GSI yn. A gadewch i ni siarad am gemau senario lle gen i ddefnyddiwr penodol. Rwyf am gael gwybod yr holl gemau sy'n mae wedi cofrestru ar gyfer neu chwarae mewn. Ac ar gyfer gêm a roddwyd, yr wyf yn am ddod o hyd holl ddefnyddwyr. Felly sut mae gwneud hynny? Fy mwrdd gemau defnyddiwr, dw i'n mynd i gael allwedd hash o enw defnyddiwr ac allwedd ystod y gêm. Felly, gall defnyddiwr wedi gemau lluosog. Mae'n un i lawer o berthynas rhwng y defnyddiwr a'r gemau mae'n chwarae. Ac yna ar y GSI, 'N annhymerus' troi hynny o gwmpas. 'N annhymerus' hash ar y gêm a 'N annhymerus' yn amrywio ar y defnyddiwr. Felly, os ydw i am gael yr holl gêm y defnyddiwr chwarae yn, 'N annhymerus' holi prif fwrdd. Os ydw i eisiau i gael yr holl ddefnyddwyr bod yn chwarae gêm arbennig, Yr wyf yn cwestiynu'r GSI. Felly, byddwch yn gweld sut yr ydym yn gwneud hyn? Byddwch yn adeiladu y rhain GSI i gefnogi achos defnyddio, y cais, mae'r mynediad patrwm, y cais. Os oes angen i holi am dimensiwn hwn, gadewch mi greu mynegai ar y dimensiwn. Os nad wyf yn ei wneud, nid wyf yn poeni. Ac yn dibynnu ar yr achos defnyddio, yr wyf yn Efallai y bydd angen y mynegai neu beidio wyf yn gallai. Os yw'n un syml i lawer, mae'r tabl cynradd yn iawn. Os oes angen i wneud hyn lawer i llawer o, neu'n angen i mi wneud un i rai, yna efallai y mae angen i mi i ail mynegai. Felly, mae'n dibynnu ar beth rwy'n ceisio ei wneud a'r hyn yr wyf i'n ceisio cael medrus. Yn ôl pob tebyg Dydw i ddim yn mynd i wario gormod llawer o amser yn siarad am ddogfennau. Mae hyn yn cael ychydig bach, yn ôl pob tebyg, dyfnach nag sydd ei angen i fynd i mewn. Gadewch i ni siarad ychydig bach mynegiant ymholiad am gyfoethog. Felly, yn Dynamo DB gennym y gallu i greu yr hyn a alwn ymadroddion amcanestyniad. Ymadroddion Tafluniad yn syml pigo y caeau neu'r gwerthoedd eich bod am i arddangos. OK, felly yr wyf yn gwneud dewis. Byddaf yn gwneud ymholiad yn erbyn Dynamo DB. Ac yr wyf yn ei ddweud, eich bod yn gwybod beth, yn dangos Dim ond yr adolygiadau seren mi bump ar gyfer y cynnyrch penodol. Felly dyna i gyd wyf am ei weld. Dydw i ddim eisiau i weld yr holl nodweddion eraill o'r rhes, Fi jyst eisiau gweld hyn. Mae'n union fel mewn SQL pan fyddwch yn dweud dewiswch seren neu o dabl, byddwch yn cael popeth. Pan fyddaf yn dweud dewiswch enw o bwrdd, dim ond cael un nodwedd. Mae yr un math o beth yn Dynamo DB neu gronfeydd data NoSQL arall. Ymadroddion Hidlo mi yn caniatáu i bôn torrwch y canlyniad a osodwyd i lawr. Felly, yr wyf yn gwneud ymholiad. Gall Ymholiad ddod yn ôl gyda 500 o eitemau. Ond yr wyf yn unig am i'r eitemau sy'n cael nodwedd sy'n dweud hyn. Iawn, felly gadewch i hidlo allan yr eitemau hynny nad ydynt yn cydweddu hynny ymholiad penodol. Felly, rydym wedi ymadroddion hidlo. Ymadroddion Hidlo yn gallu yn cael ei rhedeg ar unrhyw nodwedd. Dydyn nhw ddim yn hoffi ymholiadau ystod. Codi ymholiadau yn fwy detholus. Ymholiadau Hidlo gwneud yn ofynnol i mi fynd cael canlyniadau cyfan yn gosod ac yna naddu allan y data Dydw i ddim eisiau. Pam yw bod yn bwysig? Gan fy mod yn darllen y cyfan. Mewn ymholiad, rwy'n mynd i ddarllen a mae'n mynd i fod yn gawr am ddata. Ac yna dwi'n mynd i naddu allan beth Fi angen. Ac os wyf yn unig yn cerfio allan cwpl o resi, yna mae hynny'n iawn. Nid yw mor aneffeithlon. Ond os ydw i'n darllen pentwr cyfan o data, dim ond i naddu allan un eitem, Yna, dwi'n mynd i fod yn well off ddefnyddio ymholiad ystod, oherwydd ei fod yn llawer mwy detholus. Mae'n mynd i arbed llawer o fi arian, oherwydd fy mod yn talu am y darllen. Lle mae'r canlyniadau sy'n dod yn ôl croeswch y wifren gallai fod yn llai, ond rwy'n talu am y darllen. Felly yn deall sut eich bod yn cael y data. Mae hynny'n bwysig iawn yn Dynamo DB. Ymadroddion amodol, mae hyn yn beth efallai y byddwch yn ffonio cloi optimistaidd. Diweddariad OS YN BODOLI, neu os yw gwerth hwn yn cyfateb i'r hyn yr wyf bennu. Ac os oes gennyf stamp amser ar cofnod, efallai y byddwn yn darllen y data. Efallai y byddwn yn newid y data hwnnw. Efallai yr af ysgrifennu sy'n data yn ôl at y gronfa ddata. Os yw rhywun wedi newid y cofnod, Efallai y stamp amser wedi newid. A bod modd fy amodol Gallai diweddariad ddweud diweddariad os bydd y stamp amser hafal hyn. Neu a fydd y diweddariad yn methu oherwydd bod rhywun Diweddarwyd y cofnod yn y cyfamser. Dyna beth rydym yn galw cloi optimistaidd. Mae'n golygu bod rhywun Gall dod i mewn ac yn ei newid, ac rwy'n mynd i ganfod ei pan fyddaf yn mynd yn ôl i ysgrifennu. Ac yna gallaf mewn gwirionedd yn darllen y data a dweud, oh, newidiodd hyn. Mae angen i mi gyfrif am hynny. A gallaf newid y data yn fy cofnodi a gwneud cais diweddariad arall. Felly, gallwch ddal y rhai cynyddol diweddariadau sy'n digwydd rhwng yr amser eich bod yn darllen y data a'r amser efallai y byddwch yn ysgrifennu'r data. GYNULLEIDFA: A'r hidlo mynegiant mewn gwirionedd nid yn golygu yn nifer neu not-- [LLEISIAU gosod eu hunain yn] RICK Houlihan: Nid wyf fydd gael gormod i mewn i hyn. This Is allweddair neilltuedig. Y farn bunt yw Cedwir allweddair yn Dynamo DB. Mae pob cronfa ddata wedi ei hun Cedwir enwau ar gyfer casgliadau nad ydych yn gallu eu defnyddio. Dynamo DB, os eich bod yn nodi pwys o flaen hyn, gallwch ddiffinio enwau hynny i fyny uchod. Mae hwn yn werth y cyfeiriwyd. Mae'n debyg Dyw hi ddim yn y gystrawen gorau i gael hyd yno am y drafodaeth hon, oherwydd mae'n mynd i mewn i rai real-- Byddwn wedi bod yn siarad mwy am hynny ar lefel ddyfnach. Ond digon yw dweud, gallai hyn fod ymholiad yn sganio lle maent views-- nac punt golygfeydd yn fwy na 10. Mae'n werth rhifiadol, ie. Os ydych chi eisiau, gallwn ni siarad am bod ar ôl y drafodaeth. Mae pob hawl, felly rydym yn mynd i rhai senarios mewn arferion gorau ble rydym yn mynd i siarad am rai apps yma. Beth yw'r defnydd achosion ar gyfer Dynamo DB. Beth yw'r cynllun patrymau mewn Dynamo DB. Ac mae'r un cyntaf rydyn ni'n mynd i siarad am yw'r rhyngrwyd o bethau. Felly rydym yn cael llawer o- Amcana, beth yw iddo-- fwy na 50% y traffig ar y rhyngrwyd y dyddiau hyn yn cael ei gynhyrchu mewn gwirionedd gan beiriannau, prosesau awtomataidd, nid gan bobl. Yr wyf yn golygu peth hyn y peth hyn sy'n byddwch yn cario o gwmpas yn eich poced, sut mae data gymaint bod peth yn mewn gwirionedd yn anfon o gwmpas heb i chi gan wybod ei fod yn hollol anhygoel. Eich lleoliad, gwybodaeth am ba mor gyflym rydych chi'n mynd. Sut ydych chi'n meddwl y gwaith Google Maps pan fyddant yn dweud wrthych beth mae'r traffig yn. Mae'n oherwydd mae miliynau a miliynau o bobl yn gyrru o gwmpas gyda ffonau bod yn anfon data a lled le drwy'r amser. Felly, un o'r pethau am y math hwn o ddata sy'n dod i mewn, monitro data, mewngofnodwch data, data cyfres amser, yw ei fod yn Fel arfer, dim ond diddorol am ychydig o amser. Ar ôl y cyfnod hwnnw, 'i' Nid yw mor ddiddorol. Felly buom yn siarad am, peidiwch â gadael tablau hynny tyfu heb ffiniau. Y syniad yma yw bod efallai gen i 24 Oriau gwerth o ddigwyddiadau yn fy tabl poeth. A bod tabl poeth yn mynd i fod provisioned ar gyfradd uchel iawn, oherwydd ei fod yn cymryd llawer o ddata. Mae'n cymryd llawer o ddata i mewn ac Rydw i'n ei ddarllen llawer. Rwyf wedi cael llawer o weithredu ymholiadau yn rhedeg yn erbyn data hwnnw. Ar ôl 24 awr, hey, chi gwybod beth, nid wyf yn poeni. Felly efallai bob hanner nos yr wyf yn y gofrestr fy mwrdd drosodd i dabl newydd ac yr wyf yn deprovision y tabl hwn. A byddaf yn cymryd y RCU a Lawr WCU oherwydd 24 awr yn ddiweddarach Dydw i ddim yn rhedeg cynifer ymholiadau yn erbyn data hynny. Felly dw i'n mynd i arbed arian. Ac efallai 30 diwrnod yn ddiweddarach nid wyf yn ei wneud hyd yn oed angen i ofalu am y peth i gyd. Gallwn gymryd y WCU yn yr holl ffordd i lawr i un, oherwydd eich bod yn gwybod beth, 'i' byth yn mynd i gael eu hysgrifennu i. Mae'r data yn 30 diwrnod oed. Nid yw byth yn newid. Ac mae'n bron byth yn mynd i gael ei ddarllen, felly gadewch i ni dim ond yn cymryd bod RCU i lawr i 10. A dwi'n arbed tunnell o arian ar hyn data, a dim ond talu am fy data poeth. Felly dyna'r peth pwysig i edrych ar pan fyddwch yn edrych ar gyfres amser data yn dod i mewn yn y gyfrol. Mae'r rhain yn strategaethau. Yn awr, gallwn i jyst gadael iddo i gyd yn mynd at yr un bwrdd a dim ond gadael i hynny tabl tyfu. Yn y pen draw, yr wyf i'n mynd i gweld materion perfformiad. Rydw i'n mynd i gael i ddechrau archif rhywfaint o'r data hwnnw oddi ar y bwrdd, beth i beidio. Gadewch i ni llawer gwell dylunio eich cais fel y gallwch weithredu fel hyn yn iawn. Felly dim ond awtomatig yn y cod cais. Am hanner nos bob nos ei fod yn rholiau y bwrdd. Efallai yr hyn sydd angen i mi yw llithro ffenestr o 24 awr o ddata. Yna, ar sail reolaidd rwy'n alw data oddi ar y bwrdd. Im 'yn tocio' i ag a Swydd cron a dwi'n ei roi ar y tablau eraill, beth bynnag mae angen i chi. Felly, os yw treigl yn gweithio, mae hynny'n wych. Os nad yw, trim iddo. Ond gadewch i ni gadw y data poeth i ffwrdd o'ch data oer. Bydd yn arbed llawer o arian i chi a gwneud eich tablau yn fwy perfformio. Felly, y peth nesaf byddwn yn siarad amdano yw catalog cynnyrch. Catalog cynnyrch yw achos defnydd eithaf cyffredin. Mae hyn mewn gwirionedd yn batrwm cyffredin iawn y byddwn yn gweld mewn amrywiaeth o bethau. Rydych yn gwybod, Twitter am enghraifft, tweet poeth. Mae pawb sy'n dod nesaf a crafangio y tweet. Catalog cynnyrch, yr wyf yn got a gwerthu. Ges i gwerthu poeth. Cefais 70,000 o geisiadau am bob ail ddyfodiad gyfer cynnyrch disgrifiad allan o fy catalog cynnyrch. Rydym yn gweld hyn ar y manwerthu gweithredu gryn dipyn. Felly sut rydym yn ymdrin â hynny? Does dim ffordd i ddelio â hynny. Fy holl ddefnyddwyr am weld yr un darn o ddata. Maen nhw'n yn dod i mewn, yr un pryd. Ac maen nhw i gyd yn gwneud cais ar gyfer yr un darn o ddata. Mae hyn yn rhoi i mi bod allwedd poeth, y coch mawr streipen ar fy siart nad ydym yn ei hoffi. A dyna beth sy'n edrych fel. Felly, ar draws fy gofod allweddol Im 'yn cael morthwylio yn yr eitemau gwerthu. Rwy'n cael dim byd yn unrhyw le arall. Sut mae leddfu'r broblem hon? Wel, rydym yn lliniaru hyn gyda cache. Cache, byddwch yn rhoi bôn yn-cof rhaniad o flaen y gronfa ddata. Rydym wedi llwyddo [Anghlywadwy] cache, sut yr ydych yn Gall sefydlu eich cache eich hun, [Anghlywadwy] cache [? d,?] beth bynnag y dymunwch. Rhowch bod hyd o flaen y gronfa ddata. A bod ffordd gallwch ei storio data hwnnw o allweddi poeth rhai hyd yn y cache gofod a darllen drwy'r cache. Ac yna y rhan fwyaf o'ch darllen ddechrau chwilio fel hyn. Cefais fy hyn i gyd cache hits fyny yma ac yr wyf yn got dim byd yn digwydd i lawr yma gan fod y gronfa ddata yn eistedd y tu ôl i'r cache a'r byth yn darllen dod drwodd. Os byddaf yn newid y data yn y cronfa ddata, rhaid i mi ddiweddaru'r cache. Gallwn ddefnyddio rhywbeth fel ffrydiau i wneud hynny. A byddaf yn esbonio sut mae hynny'n gweithio. Mae pob hawl, negeseuon. E-bost, yr ydym i gyd yn defnyddio e-bost. Mae hon yn enghraifft eithaf da. Mae gennym rhyw fath o dabl negeseuon. Ac rydym yn cael mewnflwch a blwch allan. Dyma beth fyddai'r SQL edrych yn hoffi i adeiladu y mewnflwch. Rydym yn fath o yn defnyddio'r un math strategaeth i ddefnyddio GSI yn, GSI yn ar gyfer fy mewnflwch ac mae fy blwch allan. Felly, yr wyf got negeseuon amrwd ddod i mewn i fy bwrdd negeseuon. Ac mae'r dull cyntaf i hyn a allai fod, yn dweud, iawn, dim problem. Mae gen i negeseuon amrwd. Negeseuon yn dod [Anghlywadwy], Neges ID, mae hynny'n wych. Dyna fy hash unigryw. Rydw i'n mynd i greu dau GSI, yn un ar gyfer fy mewnflwch, un ar gyfer fy blwch allan. A'r peth cyntaf byddaf yn ei wneud yn byddaf yn dweud fy allwedd hash yn mynd i fod y derbynnydd ac Rydw i'n mynd i drefnu ar y dyddiad hwnnw. Mae hyn yn wych. Cefais fy golygfa braf yma. Ond mae ychydig o broblem yma. A ydych yn rhedeg i mewn i hyn yn cronfeydd data perthynol yn ogystal. Maent yn galw rhannu yn fertigol. Ydych am gadw eich data mawr i ffwrdd o'ch data bach. A'r rheswm pam yw oherwydd fy mod gotta mynd yn darllen yr eitemau i gael y priodoleddau. Ac os yw fy cyrff i gyd ar yma, Yna, yn darllen dim ond ychydig o eitemau os hyd fy nghorff yn gyda chyfartaledd o 256 Kilobytes yr un, y math yn cael 'n bert hyll. Felly dweud fy mod eisiau darllen mewnflwch Dewi. Mae 50 o eitemau mewnflwch Dewi. Y cyfartaledd a maint yw 256 cilobeit. Dyma fy cymhareb trosi am RCU yn bedair cilobeit. OK, gadewch i ni fynd â yn y pen draw yn gyson yn darllen. Rwy'n dal i fwyta 1600 RCU yn dim ond i ddarllen mewnflwch Dewi. Ouch. OK, yn awr gadewch i ni feddwl am y ffordd y app yn gweithio. Os wyf mewn e-bost app a Rwy'n edrych ar fy mewnflwch, ac yr wyf yn edrych ar y corff pob neges, dim, rwy'n edrych ar y crynodebau. Rwy'n edrych ar dim ond y penawdau. Felly gadewch i ni adeiladu strwythur y tabl sy'n edrych yn fwy fel 'na. Felly dyma y wybodaeth bod angen fy llif gwaith. Mae yn fy mewnflwch GSI. Mae'n y dyddiad, yr anfonwr, y pwnc, ac yna mae'r ID neges, sy'n cyfeirio yn ôl at y bwrdd negeseuon ble alla i gael y corff. Wel, byddai'r rhain yn cofnodi IDs. Byddent yn tynnu sylw yn ôl at y eitem rhifau adnabod ar y bwrdd Dynamo DB. Mae pob mynegai bob amser creates-- bob amser yn yr eitem ID fel rhan o- hynny dod gyda'r mynegai. Iawn. GYNULLEIDFA: Mae'n dweud ei fod lle mae'n cael ei storio? RICK Houlihan: Ydy, mae'n dweud exactly-- dyna'n union yr hyn y mae'n ei wneud. Mae'n dweud dyma fy ail gofnod. A bydd yn pwyntio yn ôl at fy ail gofnod. Yn union. Iawn, felly nawr mae fy inbox yn mewn gwirionedd yn llawer llai. Ac mae hyn mewn gwirionedd yn cefnogi y llif gwaith o e-bost app. Felly fy mewnflwch, yr wyf yn clicio. Rwy'n mynd draw i yr wyf yn clicio ar y neges, dyna pryd mae angen i mi fynd yn cael y corff, oherwydd fy mod i'n mynd i ewch i farn wahanol. Felly, os ydych yn meddwl am MVC math o fframwaith, model golwg rheolwr. Mae'r model yn cynnwys y ddata y mae'r olygfa anghenion ac mae'r rheolwr yn rhyngweithio â. Pan fyddaf yn newid y ffrâm, pan Byddaf yn newid safbwynt, mae'n iawn i fynd yn ôl i'r gweinydd ac repopulate y model, oherwydd dyna beth y defnyddiwr yn disgwyl. Pan fyddant yn newid safbwyntiau, dyna pryd gallwn fynd yn ôl at y gronfa ddata. Felly e-bost, cliciwch. Rwy'n chwilio am y corff. Taith gron. Ewch yn cael y corff. Rwyf yn darllen llawer llai data. Im 'yn unig yn darllen y cyrff sy'n Mae angen David pan eu hangen. Ac nid wyf yn llosgi yn 1600 RCU yn unig i ddangos ei mewnflwch. Felly nawr that-- dyma'r ffordd bod LSI neu GSI-- Mae'n ddrwg gen i, GSI, fyddai'n gweithio allan. Rydym wedi cael ein hash ar y derbynnydd. Mae gennym yr allwedd amrediad ar y dyddiad hwnnw. Ac rydym wedi cael y priodoleddau a ragwelir bod angen dim ond i ni i gefnogi'r farn. Rydym yn cylchdroi hynny ar gyfer y blwch anfon. Hash ar anfonwr. Ac yn ei hanfod, yr ydym wedi y farn neis iawn, yn lân. Ac mae'n ein bod basically-- gael y negeseuon 'n glws tabl sy'n cael ei ledaenu 'n glws oherwydd 'i' hash yn unig, hashed ID neges. Ac mae gennym ddau mynegeion sy'n yn cylchdroi oddi ar y bwrdd. Mae pob hawl, felly syniad yma yw peidiwch â cadw'r data mawr ac mae hyn yn ddata bach gyda'i gilydd. Dosrannu yn fertigol, rhaniad tablau hynny. Peidiwch â darllen data nid oes rhaid i chi. Mae pob hawl, hapchwarae. Rydym i gyd yn hoffi gemau. O leiaf Rwy'n hoffi gemau hynny. Felly, mae rhai o'r pethau yr ydym yn delio â nhw wrth rydym yn meddwl am gemau, dde? Hapchwarae y dyddiau hyn, yn enwedig symudol hapchwarae, yn ymwneud feddwl. Ac yr wyf i'n mynd i gylchdroi yma ychydig bach i ffwrdd o DynamoDB. Rydw i'n mynd i ddod â rhywfaint o'r drafodaeth o amgylch rhai o'r technolegau Strategaeth Cymru Gyfan eraill. Ond mae'r syniad ynghylch hapchwarae yw meddwl am o ran APIs, APIs sydd, yn gyffredinol, HTTP a JSON. Mae'n sut mae gemau symudol fath o rhyngweithio â'u pennau yn ôl. Maent yn gwneud JSON postio. Maent yn cael data, ac mae'r cyfan, yn gyffredinol, mewn APIs JSON 'n glws. Pethau fel cael ffrindiau, cael mae'r data leaderboard, cyfnewid, cynnwys a gynhyrchir, gwthio yn ôl i fyny i'r system, mae'r rhain yn fathau o bethau ein bod yn mynd i'w wneud. Data asedau deuaidd, data hwn Efallai na eistedd yn y gronfa ddata. Gallai hyn eistedd mewn storio gwrthrych, dde? Ond mae'r gronfa ddata yn mynd i yn y pen draw yn dweud wrth y system, dweud wrth y cais ble i fynd yn ei gael. Ac yn anochel, multiplayer gweinyddwyr, seilwaith pen ôl, a gynlluniwyd ar gyfer uchel argaeledd a scalability. Felly mae'r rhain yn bethau yr ydym i gyd am yn y seilwaith hapchwarae heddiw. Felly, gadewch i ni edrych ar beth sy'n edrych fel. Oes gennych chi pen craidd cefn, syml iawn. Mae gennym system yma gyda parthau sydd ar gael lluosog. Rydym yn siarad am AZS fel being-- meddwl ohonynt fel canolfannau data ar wahân. Mwy nag un ganolfan ddata fesul AY, ond mae hynny'n iawn, dim ond meddwl amdanynt fel data ar wahân canolfannau sy'n ddaearyddol a fai ynysig. Rydym yn mynd i gael achosion cwpl EC2. Rydym yn mynd i gael rhywfaint gweinydd pen ôl. Efallai os ydych yn etifeddiaeth pensaernïaeth, rydym yn gan ddefnyddio yr hyn yr ydym yn galw RDS, gwasanaethau cronfa ddata berthynol. Gallai fod MSSQL, MySQL, neu rywbeth fel 'na. Mae hon yn ffordd y mae ceisiadau lot yn cael eu cynllunio heddiw. Wel efallai y byddwn eisiau mynd â dyma pryd yr ydym yn raddfa allan. Byddwn yn mynd yn ei flaen ac yn rhoi y bwced S3 fyny yno. A bod bwced S3, yn hytrach na gwasanaethu gwrthrychau rhai o'n servers-- gallem wneud hynny. Rydych yn rhoi eich holl deuaidd gwrthrychau ar eich gweinyddwyr a gallwch ddefnyddio'r rhai sy'n gweinydd achosion i wasanaethu'r bod data hyd. Ond dyna 'n bert yn ddrud. Ffordd well o wneud yw mynd yn ei flaen a rhoi amcanion hynny mewn bwced S3. S3 yn storfeydd gwrthrych. Mae'n adeiladu yn benodol ar gyfer gwasanaethu hyd y mathau hyn o bethau. A gadewch cleientiaid hynny yn gofyn am yn uniongyrchol o bwcedi gwrthrych hynny, ddadlwytho gweinyddion. Felly, rydym yn dechrau i raddfa yma. Nawr rydym yn cael y defnyddwyr i gyd dros y byd. Cawn ddefnyddwyr. Angen i mi gael y cynnwys yn lleol lleoli yn agos at y defnyddwyr hyn, dde? Rydw i wedi creu bwced S3 fel fy storfa ffynhonnell. Ac byddaf flaen sydd â dosbarthiad CloudFront. CloudFront yn CD a cynnwys rhwydwaith darparu. Yn y bôn mae'n cymryd data eich bod yn nodi ac caches y cyfan dros y rhyngrwyd fel defnyddwyr ym mhob man gael ymateb cyflym iawn wrth maent yn gofyn am amcanion hynny. Felly, byddwch yn cael syniad. Rydych yn fath o ddylanwad busnes holl agweddau ar AWS yma i gael hyn wneud. Ac yn y pen draw, rydym yn taflu mewn grŵp auto raddio. Felly mae ein achosion AC2 o ein gweinyddion gêm, gan eu bod yn dechrau cael brysurach ac yn brysurach ac yn brysurach, dim ond byddant yn troelli arall enghraifft, sbin achos arall, sbin achos arall. Felly mae'r dechnoleg AWS wedi, mae'n yn caniatáu i chi nodi y paramedrau bydd tua mae eich gweinyddwyr dyfu. Felly, gallwch gael n nifer o weinyddion allan yno ar unrhyw adeg benodol. Ac os yw eich llwyth yn mynd i ffwrdd, maent yn chi helpu crebachu, bydd y nifer crebachu. Ac os bydd y llwyth yn dod yn ôl, bydd yn tyfu yn ôl allan, elastically. Felly, mae hyn yn edrych yn wych. Rydym wedi cael llawer o achosion EC2. Gallwn roi cache mewn blaen y cronfeydd data, ceisio cyflymu'r cronfeydd data. Y pwynt pwysau nesaf Fel arfer mae pobl yn gweld yw eu bod yn raddfa gêm gan ddefnyddio system cronfa ddata berthynol. Jeez, y gronfa ddata perfformiad yn ofnadwy. Sut rydym yn gwella hynny? Gadewch i ni geisio rhoi cache o flaen hynny. Wel, nid cache yn gweithio mor fawr mewn gemau, dde? Ar gyfer gemau, ysgrifennu yn boenus. Gemau yn cael eu ysgrifennu'n iawn drwm. Nid yw Cache yn gweithio pan fyddwch chi ysgrifennu drwm oherwydd eich bod wedi bob amser rhaid i ddiweddaru'r cache. Rydych yn diweddaru'r cache, 'i' amherthnasol i fod caching. Mae'n mewn gwirionedd dim ond gwaith ychwanegol. Felly, lle rydym yn mynd yma? Rydych chi wedi got a tagfeydd mawr i lawr yno yn y gronfa ddata. Ac mae'r lle i fynd yn amlwg yn rhannu'ch. Nid yw Partitioning hawdd i'w wneud pan fyddwch chi'n delio â cronfeydd data perthynol. Gyda gronfeydd data perthynol, rydych yn gyfrifol am reoli, yn effeithiol, y gofod allweddol. Rydych yn ei ddweud defnyddwyr rhwng A a M mynd fan hyn, rhwng N a Z yn mynd yno. Ac rydych yn newid ar draws y cais. Felly rydych yn delio â ffynhonnell ddata hon rhaniad. Mae gennych gyfyngiadau trafodaethol nad ydynt yn rhychwantu parwydydd. Mae gennych bob math o messiness eich bod yn delio â lawr yno yn ceisio i ymdrin â scaling allan ac adeiladu seilwaith mwy o faint. 'I' jyst ddim yn hwyl. GYNULLEIDFA: Felly a ydych yn dweud bod cynyddu pwyntiau ffynhonnell cyflymu y broses? RICK Houlihan: Cynyddu? Pwyntiau Ffynhonnell: GYNULLEIDFA. RICK Houlihan: pwyntiau Ffynhonnell? GYNULLEIDFA: O'r wybodaeth, lle mae'r wybodaeth yn dod? RICK Houlihan: Na Yr hyn rwy'n ei ddweud yw cynyddu'r nifer y rhaniadau yn y storfa ddata yn gwella trwygyrch. Felly, beth sy'n digwydd yma yw defnyddwyr dod i mewn y lle EC2 i fyny yma, yn dda, os bydd angen defnyddiwr dyna A i M, byddaf yn mynd yma. O N i p, byddaf yn mynd yma. O P i Y, byddaf yn mynd yma. GYNULLEIDFA: OK, y rhai hynny y rhai yn cael eu i gyd storio mewn gwahanol nodau? RICK Houlihan: Oes. Meddyliwch am y rhain fel gwahanol seilos o ddata. Felly, rydych chi'n cael i wneud hyn. Os ydych yn ceisio ei wneud hyn, os ydych yn ceisio i raddfa ar lwyfan perthynol, mae hyn yn beth ydych yn ei wneud. Eich bod yn cymryd data a eich bod yn torri i lawr. Ac rydych yn rhannu'ch ei draws achosion lluosog o'r gronfa ddata. Ac rydych yn rheoli popeth a yn yr haen cais. Nid yw'n hwyl. Felly beth ydym eisiau mynd? Rydym eisiau mynd DynamoDB, a reolir yn llawn, Storfa ddata NoSQL, darpariaeth trwybwn. Rydym yn defnyddio mynegeion eilaidd. Mae'n bôn HTTP API a cynnwys cymorth ddogfen. Felly nid oes rhaid i chi boeni am unrhyw un y parwydydd. Rydym yn gwneud hyn i gyd ar eich rhan. Felly nawr, yn lle hynny, byddwch yn ysgrifennwch at y bwrdd. Os oes angen i'r bwrdd gael ei rannu, sy'n digwydd tu ôl i'r llenni. Rydych yn hinswleiddio'n yn gyfan gwbl o hynny fel datblygwr. Felly, gadewch i ni siarad am rhai o'r achosion defnydd ein bod yn rhedeg i mewn yn hapchwarae, gyffredin senarios hapchwarae, leaderboard. Felly, mae gennych defnyddwyr yn dod i mewn, y BoardNames eu bod yn ymlaen, mae'r sgoriau ar gyfer y defnyddiwr yma. Efallai y byddwn yn stwnsio ar y ID defnyddiwr, ac yna mae gennym amrywiaeth ar y gêm. Felly bob defnyddiwr am weld i gyd y gêm ei fod yn chwarae a'i holl sgôr uchaf ar draws yr holl y gêm. Felly dyna ei leaderboard personol. Nawr rwyf am i fynd i mewn ac yr wyf am get-- felly yr wyf yn cael leaderboards personol hyn. Yr hyn yr wyf am ei wneud yw cynnig cael y sgôr uchaf ar draws holl ddefnyddwyr. Felly sut mae gwneud hynny? Pan fydd fy cofnod ei hashed ar y userid, yn amrywio ar y gêm, yn dda Rydw i'n mynd i fynd yn ei flaen ac ailstrwythuro, creu GSI, ac yr wyf i'n mynd i ailstrwythuro data hwnnw. Nawr rydw i'n mynd i hash ar y BoardName, sef y gêm. Ac yr wyf i'n mynd i amrywio ar y sgôr uchaf. Ac yn awr yr wyf wedi ei greu gwahanol bwcedi. Im 'yn arfer yr un bwrdd, yr un data eitem. Ond dw i'n creu bwced sy'n rhoi mi agregu o sgôr uchaf gan gêm. A gallaf ymholi y tabl hwnnw i gael y wybodaeth honno. Felly, yr wyf wedi gosod y patrwm ymholiad hyd at cael ei gefnogi gan mynegai eilaidd. Nawr gellir eu trefnu yn ôl BoardName a trefnu yn ôl TopScore, yn dibynnu ar. Fel y gallwch weld, mae'r rhain yn fathau o defnyddio achosion a gewch mewn hapchwarae. Achos defnydd da arall yr ydym yn ei gael mewn hapchwarae yn wobrau ac sydd wedi ennill gwobrau. Ac mae hyn yn wir ddefnydd mawr lle rydym yn galw mynegeion gwasgarog. Mynegeion Tenau yw'r gallu i gynhyrchu mynegai nad yw'n reidrwydd cynnwys pob eitem unigol ar y bwrdd. A beth am? Oherwydd bod y priodoledd sy'n cael ei Nid yw mynegeio yn bodoli ar bob eitem. Felly, yn yr arbennig defnyddio achos, i ddim yn dweud, eich bod yn gwybod beth, dwi'n mynd i creu priodoledd o'r enw Wobr. Ac yr wyf i'n mynd i roi pob defnyddiwr sydd â gwobr sy'n priodoli. Defnyddwyr nad oes ganddynt gwobrau'n Nid yw mynd i gael y nodwedd. Felly, pan fyddaf yn creu'r mynegai, yr unig defnyddwyr sydd yn mynd i ddangos i fyny yn y mynegai yn cael eu y rhai sydd mewn gwirionedd wedi ennill gwobrau. Felly dyna ffordd wych i allu i greu mynegeion hidlo sy'n yn iawn, yn ddewisol iawn nad ydynt rhaid i mynegai tabl cyfan. Felly rydym yn mynd yn isel ar amser yma. Rydw i'n mynd i fynd yn ei flaen a sgipio allan a sgipio y senario hwn. Siarad ychydig about-- GYNULLEIDFA: A gaf i ofyn cwestiwn cyflym? Mae un yn ysgrifennu drwm? RICK Houlihan: Beth yw? GYNULLEIDFA: Ysgrifennu drwm. RICK Houlihan: Ysgrifennu drwm. Gadewch i mi weld. GYNULLEIDFA: Neu yw nad yw rhywbeth y gallwch yn unig llais i mewn mater o eiliadau? RICK Houlihan: Yr ydym yn mynd drwy'r senario pleidleisio. Dyw hi ddim yn bod yn ddrwg. Oes gennych guys gennych ychydig o funudau? IAWN. Felly, byddwn yn siarad am bleidleisio. Felly pleidleisio amser real, mae gennym gofynion ar gyfer pleidleisio. Gofynion yw ein bod yn caniatáu bob person i bleidleisio unwaith yn unig. Rydym am i neb allu i newid eu pleidlais. Rydym am agregu amser real a analytics gyfer demograffeg ein bod yn mynd i fod gan ddangos i ddefnyddwyr ar y safle. Meddyliwch am y sefyllfa hon. Rydym yn gweithio llawer o realiti Dengys y teledu lle maen nhw'n gwneud hyn yn union y math o bethau. Felly, gallwch chi feddwl am y senario, mae gennym filiynau a filiynau merched yn eu harddegau o yno gyda eu ffonau cell a phleidleisio, a phleidleisio, a pleidleisio dros pwy bynnag ydyn nhw dod o hyd i fod y mwyaf poblogaidd. Felly dyma rai o'r Gofynion rydym yn rhedeg allan. Ac felly y cyntaf yn cymryd i ddatrys y broblem hon fyddai i adeiladu gais syml iawn. Felly mae gen i app hwn. Mae gennyf rai pleidleiswyr i maes 'na. Maent yn dod i mewn, maent yn cyrraedd y app pleidleisio. Gen i dabl pleidleisiau amrwd 'N annhymerus' jyst daflu i lawr pleidleisiau hynny yn. 'N annhymerus' yn cael rhywfaint o agregau tabl o bleidleisiau sy'n Bydd yn gwneud fy analytics a demograffeg, a byddwn yn rhoi hyn i gyd i mewn 'na. Ac mae hyn yn wych. Mae bywyd yn dda. Bywyd yn dda nes i ni gael gwybod bod mae bob amser dim ond un neu ddau pobl sy'n boblogaidd mewn etholiad. Dim ond un neu ddau o bethau bod pobl yn wir yn poeni am. Ac os ydych yn pleidleisio ar graddfa, yn sydyn rwy'n mynd i fod yn morthwylio y uffern allan o dau ymgeisydd, un neu ddau ymgeisydd. Mae nifer cyfyngedig iawn o eitemau pobl yn ei chael i fod yn boblogaidd. Nid yw hyn yn batrwm dylunio da. Mae hyn mewn gwirionedd yn patrwm dylunio gwael iawn am ei fod yn creu union beth yr ydym siarad am a oedd yn allweddi poeth. Allweddi poeth yn rhywbeth nad ydym yn ei hoffi. Felly sut rydym yn atgyweiria hynny? Ac mewn gwirionedd, y ffordd at atgyweiria hon yw drwy gymryd bwcedi ymgeisydd rhai ac ar gyfer pob ymgeisydd sydd gennym, rydym yn mynd i atodi gwerth ar hap, rhywbeth yr ydym yn gwybod, ar hap gwerth rhwng un a 100, rhwng 100 a 1,000, neu rhwng un a 1,000, Fodd bynnag, mae llawer o werthoedd ar hap rydych am ei atodi ar ddiwedd yr ymgeisydd hwnnw. A beth Fi 'n sylweddol wedi ei wneud wedyn? Os ydw i'n defnyddio'r ID ymgeisydd fel y bwced i pleidleisiau agregau, os ydw i wedi ychwanegu ar hap rhif hyd at ddiwedd hynny, Rwyf wedi creu yn awr 10 o bwcedi, a cant bwcedi, fil o bwcedi fy mod agregu pleidleisiau ar draws. Felly, yr wyf wedi miliynau, a miliynau, a miliynau o gofnodion yn dod i mewn ar gyfer yr ymgeiswyr hyn, yr wyf yn awr yn lledaenu pleidleisiau hynny ar draws A_1 Ymgeisydd drwy A_100 Ymgeisydd, oherwydd bob tro y daw pleidlais i mewn, Im 'yn cynhyrchu ar hap gwerth rhwng un a 100. Im 'yn mynd i'r afael ei ar ddiwedd y ymgeisydd y person hwnnw pleidleisio drosto. Rydw i'n dympio i mewn y bwced. Nawr ar y mhen ôl, yr wyf yn gwybod yr oeddwn yn cael cant o fwcedi. Felly, pan fyddaf eisiau mynd yn ei flaen ac agregu pleidleisiau, Rwyf yn darllen o bob bwcedi hynny. Felly yr wyf yn mynd yn ei flaen ac yn ychwanegu. Ac yna i ddim yn y gwasgariad casglu lle yr wyf yn mynd allan ac yn dweud hey, eich bod yn gwybod beth, allwedd ymgeisydd hwn yn lleoedd dros gant o fwcedi. Rydw i'n mynd i gasglu'r holl pleidleisiau oddi wrth y rhai gant o bwcedi. Rydw i'n mynd i agregu nhw a dw i'n mynd i ddweud, Ymgeisydd A Erbyn hyn mae gan cyfanswm bleidlais cyfrif o x. Nawr bod y ysgrifennu ymholiad ac yr ymholiad darllen yn cael eu dosbarthu 'n glws oherwydd fy mod i'n ysgrifennu ar draws ac rwy'n darllen ar draws cannoedd o allweddi. Dydw i ddim yn ysgrifennu a darllen ar draws un allwedd yn awr. Felly dyna batrwm gwych. Mae hyn mewn gwirionedd yn ôl pob tebyg yn un o'r dylunio mwyaf pwysig patrymau ar gyfer graddfa mewn NoSQL. Byddwch yn gweld y math hwn o patrwm dylunio ym mhob blas. MongoDB, DynamoDB, nid yw'n gwneud mater, rhaid i ni i gyd i wneud hyn. Oherwydd pan fyddwch yn ymdrin gyda cydgasgliadau anferth hynny, mae'n rhaid i chi chyfrif i maes ffordd i lledaenu nhw allan ar draws bwcedi. Felly, mae hyn yn y ffordd yr ydych yn gwneud hynny. Mae pob hawl, felly beth rydych yn ei wneud ar hyn o bryd yn eich bod yn masnachu oddi darllen gost ar gyfer scalability ysgrifennu. Mae cost fy darllen yn ychydig yn fwy cymhleth ac yr wyf yn rhaid i ni fynd ddarllen o cant bwcedi yn hytrach nag un. Ond dw i'n gallu ysgrifennu. A fy trwybwn, fy ysgrifennu trwybwn yn anhygoel. Felly mae fel arfer fod yn werthfawr techneg ar gyfer graddio DynamoDB, neu unrhyw gronfa ddata NoSQL o ran hynny. Felly, rydym yn cyfrifedig gwybod sut i raddfa iddo. Ac rydym yn cyfrifedig sut i dileu ein allweddi poeth. Ac mae hyn yn wych. Ac rydym yn cael y system 'n glws. Ac mae wedi rhoi pleidleisio gywir iawn ni gan fod gennym record pleidleisio dad-twyllo. Mae wedi ei adeiladu i mewn i DynamoDB. Buom yn siarad am hawliau amodol. Pan ddaw pleidleisiwr mewn, yn rhoi yn mewnosod ar y bwrdd, maent yn mewnosod gyda'u ID pleidleisiwr, os ydynt yn ceisio mewnosod pleidlais arall, Rwy'n gwneud ysgrifennu amodol. Dweud dim ond ysgrifennu hyn os nad yw hyn yn bodoli. Felly, cyn gynted ag yr wyf yn gweld bod y bleidlais yn taro'r bwrdd, oes neb arall yn mynd i fod gallu rhoi eu pleidlais yn. Ac mae hynny'n wych. Ac rydym yn incrementing ein cownteri ymgeisydd. Ac rydym yn gwneud ein demograffeg a hynny i gyd. Ond beth sy'n digwydd os yw fy cais yn dod drosodd? Erbyn hyn i gyd o bleidleisiau sydyn yn dod i mewn, ac yr wyf yn nid ydynt yn gwybod os ydynt yn cael eu prosesu i mewn i fy analytics a demograffeg anymore. A phan y cais dod yn ôl i fyny, sut y uffern ydw i'n gwybod pa pleidleisiau gael eu prosesu a ble mae dechrau? Felly, mae hyn yn broblem wirioneddol pan fyddwch yn dechrau edrych ar y math hwn o sefyllfa. A sut rydym yn datrys hynny? Rydym yn datrys â'r hyn yr ydym ffoniwch Ffrydiau DynamoDB. Nentydd yn amser archebu a rannu log newid pob mynediad at y bwrdd, bob ysgrifennu mynediad at y bwrdd. Bydd unrhyw ddata sy'n ysgrifenedig i'r tabl yn dangos i fyny ar y nant. Mae'n bôn ciw 24 awr. Eitemau daro y nant, maent yn byw am 24 awr. Gellir eu darllen sawl gwaith. Gwarantedig i gael eu darparu Dim ond unwaith at y nant, gellid eu darllen n nifer o weithiau. Felly, faint bynnag o brosesau rydych am ei defnyddio data hwnnw, gallwch ei yfed. Bydd yn ymddangos pob diweddariad. Bydd pob ysgrifennu yn unig yn ymddangos unwaith ar y nant. Felly nid oes rhaid i chi boeni am brosesu ddwywaith o'r un broses. Mae wedi archebu yn llym am bob eitem. Pan fyddwn yn dweud amser harchebu a'u rannu, byddwch yn gweld y rhaniad ar y nant. Byddwch yn gweld eitemau, diweddariadau mewn trefn. Nid ydym yn gwarantu ar y nant eich bod yn mynd i gael pob trafodiad yn y drefn ar draws eitemau. Felly nentydd yn idempotent. A ydym i gyd yn gwybod beth idempotent ei olygu? Idempotent yn golygu y gallwch ei wneud drosodd, a throsodd, a throsodd. Mae'r canlyniad yn mynd i fod yr un fath. Nentydd yn idempotent, ond rhaid iddynt fod yn Chwaraeodd o'r man cychwyn, lle bynnag y byddwch yn dewis, hyd y diwedd, neu ni fyddant yn arwain yn yr un gwerthoedd. Yr un peth â'r MongoDB. MongoDB Mae lluniad maent yn galw y oplog. Yr un lluniad union. Mae llawer o gronfeydd data NoSQL cael lluniad hwn. Maent yn ei ddefnyddio i wneud pethau fel replication, a oedd yn yn union yr hyn rydym yn ei wneud gyda ffrydiau. GYNULLEIDFA: Efallai Cwestiwn heretical, ond rydych yn siarad am apps gwneud i lawr yn y blaen. A yw nentydd sicr o byth o bosib yn mynd i lawr? RICK Houlihan: Yeah, nentydd yn sicr o byth yn mynd i lawr. Rydym yn rheoli'r seilwaith y tu ôl. nentydd yn awtomatig defnyddio yn eu grŵp auto raddio. Byddwn yn mynd drwy ychydig ychydig am yr hyn sy'n digwydd. Ni ddylwn i ddweud nad ydynt yn sicr o byth yn mynd i lawr. Yr elfennau yn cael eu gwarantu i ymddangos yn y nant. A bydd y ffrwd yn hygyrch. Felly beth sy'n mynd i lawr neu yn dod yn ôl i fyny, mae hynny'n digwydd oddi tano. Mae'n covers-- mae'n iawn. Mae pob hawl, felly eich bod yn cael gwahanol barn y mathau oddi ar y sgrin. Y farn mathau sy'n bwysig i rhaglennydd fel arfer, beth oedd hi? Rwy'n cael yr hen olygfa. Pan fydd diweddariad yn taro'r bwrdd, mae'n chi helpu gwthio yr hen golwg ar y nant fel y gall data archif, neu newid rheolaeth, adnabod newid, newid rheoli. Mae'r ddelwedd newydd, yr hyn y mae yn awr ar ôl y diweddariad, dyna math arall o farn y gallwch ei gael. Gallwch gael yr hen a newydd delweddau. Efallai Rwyf am ddau. Yr wyf am weld beth ydoedd. Yr wyf am weld beth mae'n ei newid i. Mae gen i fath gydymffurfio o'r broses honno yn rhedeg. Mae angen i wirio bod pan fydd y pethau hyn yn newid, eu bod o fewn terfynau penodol neu o fewn rhai paramedrau. Ac yna efallai mai dim ond angen gwybod beth yn newid. Nid wyf yn poeni beth eitem newid. Nid oes angen i mi ei angen gwybod pa briodoleddau newid. Fi jyst angen iddynt wybod y yr eitemau yn cael eu cyffwrdd. Felly dyma'r mathau o safbwyntiau eich bod yn cael oddi ar y nant a gallwch ryngweithio â nhw. Roedd y cais yn yn defnyddio y nant, mae hyn yn fath o ffordd hyn yn gweithio. DynamoDB cleient yn gofyn i gwthio data i'r tablau. Nentydd defnyddio ar yr hyn rydym yn galw darnau. Darnau yn cael eu graddio yn annibynnol ar y bwrdd. Nid ydynt yn llinell i fyny yn gyfan gwbl i rhaniadau eich tabl. A'r rheswm pam mae oherwydd eu bod yn llinell i fyny i gapasiti, y cerrynt cynhwysedd y tabl. Maent yn defnyddio yn eu grŵp digennu auto hun, ac maent yn dechrau i droelli allan yn dibynnu ar faint o ysgrifennu yn yn dod i mewn, faint o reads-- 'n sylweddol' i 'yn ysgrifennu. Does dim reads-- ond sut mae llawer o ysgrifennu yn yn dod i mewn. Ac yna ar y cefn diwedd, mae gennym yr hyn yr ydym alw KCL, neu Kinesis Llyfrgell Cleient. Kinesis yn ddata nant technoleg brosesu o Amazon. A nentydd ei adeiladu ar hynny. Felly, byddwch yn defnyddio galluogi KCL Cais i ddarllen y nant. Mae'r Kinesis Llyfrgell Cleient mewn gwirionedd yn rheoli'r gweithwyr i chi. Ac mae hefyd yn gwneud rhywfaint o bethau diddorol. Bydd yn creu rhai tablau i fyny yn eich tablespace DynamoDB i olrhain pa eitemau wedi cael eu prosesu. Felly y modd hwn os yw'n dod yn ôl, os ei fod yn disgyn drosodd ac yn dod ac yn cael yn sefyll yn ôl i fyny, gall benderfynu lle oedd hi wrth brosesu y nant. Mae hynny'n bwysig iawn wrth ydych yn sôn amdano ddyblygu. Angen i mi wybod beth data eu prosesu a pha ddata eto i'w prosesu. Felly llyfrgell KCL ar gyfer ffrydiau fydd yn rhoi llawer o hynny functionality i chi. Mae'n cymryd gofalu am yr holl cadw tŷ. Mae'n sefyll i fyny gweithiwr ar gyfer pob ddarn. Mae'n creu tabl gweinyddol ar gyfer pob ddarn, ar gyfer pob gweithiwr. Ac fel gweithwyr hynny tân, maent yn cynnal tablau hynny felly eich bod yn gwybod y cofnod hwn Darllenwyd a phrosesu. Ac yna y ffordd honno os yw'r broses yn marw ac yn dod yn ôl ar-lein, gall ailddechrau yn iawn lle mae'n cymryd i ffwrdd. Felly, rydym yn defnyddio hwn am traws-ranbarth ddyblygu. Mae llawer o gwsmeriaid yn cael yr angen i symud data neu rannau o'u tablau data o gwmpas i wahanol ranbarthau. Mae naw rhanbarth i gyd o amgylch y byd. Felly gallai fod wyf need-- gallai fod defnyddwyr yn Asia, defnyddwyr yn y Arfordir Dwyrain yr Unol Daleithiau. Mae ganddynt wahanol ddata sy'n Mae angen i gael eu dosbarthu yn lleol. Ac efallai defnyddiwr yn hedfan o Asia draw i'r Unol Daleithiau, ac yr wyf am ailadrodd ei data gydag ef. Felly, pan fydd yn cael oddi ar yr awyren, mae wedi yn brofiad da gan ddefnyddio ei app symudol. Gallwch ddefnyddio'r traws-ranbarth llyfrgell dyblygu i wneud hyn. Yn y bôn rydym wedi Darperir dau dechnolegau. Mae un yn gais consol y gallwch sefyll i fyny ar eich achos EC2 hun. Mae'n rhedeg dyblygu pur. Ac yna rydym yn rhoddodd y llyfrgell i chi. Mae'r llyfrgell gallwch ei ddefnyddio i adeiladu eich cais eich hun os ydych yn am wneud pethau crazy â hynny data-- hidlo, ailadrodd dim ond rhan ohono, cylchdroi y data, yn symud i mewn i yn wahanol bwrdd, yn y blaen ac yn y blaen. Felly dyna fath o beth sy'n edrych fel. Gall nentydd DynamoDB fod prosesu gan yr hyn a alwn Lambda. Rydym yn crybwyll ychydig am ddigwyddiad saernïaeth cais ei yrru. Lambda yn elfen allweddol o hynny. Lambda yw cod sy'n tanio ar y galw mewn ymateb i ddigwyddiad penodol. Gallai un o'r digwyddiadau hynny fod yn cofnod ymddangos ar y nant. Os cofnod yn ymddangos ar y nant, byddwn yn galw hyn yn swyddogaeth Java. Wel, mae hyn yn JavaScript, a Lambda cefnogi Node.js, Java, Python, a bydd yn cefnogi fuan ieithoedd eraill hefyd. A digon yw dweud, mae'n cod pur. ysgrifennu Yn Java, yr ydych yn diffinio dosbarth. Rydych yn gwthio'r JAR i fyny i mewn Lambda. Ac yna eich bod yn nodi pa ddosbarth i alw mewn ymateb i mae digwyddiad. Ac yna y seilwaith Lambda tu ôl i hynny bydd yn rhedeg y cod. Gall hynny Cod brosesu cofnodion oddi ar y nant. Gall wneud unrhyw beth y mae am ag ef. Yn yr enghraifft benodol, pob rydym yn 'n sylweddol ei wneud yw cofnodi nodweddion. Ond dim ond y cod hwn yw. Gall Cod gwneud unrhyw beth, dde? Felly, gallwch cylchdroi data hwnnw. Gallwch greu darlun deilliadol. Os yw'n strwythur dogfen, gallwch fflatio y strwythur. Gallwch greu mynegeion yn ail. Mae pob math o bethau y gallwch wneud â'r Ffrydiau DynamoDB. Ac yn wir, dyna beth sy'n edrych fel. Felly, byddwch yn cael diweddariadau rhai sy'n dod i mewn. Maent yn dod oddi ar y llinyn. Maent yn darllen gan y swyddogaeth Lambda. Maent yn cylchdroi y data a gwthio i fyny mewn tablau deilliadol, hysbysu systemau allanol o newid, a gwthio data i mewn i ElastiCache. Rydym yn siarad am sut i roi'r cache o flaen y gronfa ddata ar gyfer y gwerthiant senario. Wel beth sy'n digwydd os byddaf diweddaru'r eitem disgrifiad? Wel, os wyf wedi cael Lambda swyddogaeth yn rhedeg ar y bwrdd, os byddaf yn diweddaru'r eitem disgrifiad, mae'n chi helpu codwch y cofnod oddi ar y nant, a bydd yn diweddaru'r ElastiCache enghraifft gyda'r data newydd. Felly dyna llawer o yr hyn rydym yn ei wneud gyda Lambda. Mae'n, cod glud cysylltwyr. Ac mae'n mewn gwirionedd yn rhoi y gallu i lansio ac i redeg ceisiadau cymhleth iawn heb cyflwynedig gweinyddwr seilwaith, sydd yn 'n sylweddol oera. Felly gadewch i ni fynd yn ôl at ein real-amser pensaernïaeth pleidleisio. Mae hyn yn newydd a gwell gyda'n nentydd a KCL galluogi cais. Yr un fel o'r blaen, y gallwn trin unrhyw raddfa o etholiad. Rydym yn hoffi hyn. Rydym yn gwneud allan yn casglu gwasgariad ar draws bwcedi lluosog. Mae gennym gloi optimistaidd digwydd. Gallwn gadw ein pleidleiswyr rhag newid eu pleidleisiau. Dim ond unwaith yn unig y gallant bleidleisio. Mae hyn yn wych. Goddefgarwch fai Real-amser, agregu scalable nawr. Os bydd y peth yn disgyn drosodd, mae'n yn gwybod ble i ailgychwyn ei hun pan ddaw yn ôl i fyny, oherwydd rydym yn defnyddio'r app KCL. Ac yna gallwn hefyd ddefnyddio'r Cais KCL i wthio data allan i Redshift am eraill analytics app, neu ddefnyddio y MapReduce elastig i redeg ffrydio cydgrynoadau amser real i ffwrdd y data hwnnw. Felly mae'r rhain yn bethau yr ydym yn Nid wedi sôn am lawer. Ond maen nhw'n ychwanegol technolegau sy'n dod i ddwyn pan fyddwch yn chwilio yn y mathau hyn o sefyllfaoedd. Mae pob hawl, felly dyna am analytics gyda Ffrydiau DynamoDB. Gallwch gasglu de-twyllo data, yn gwneud pob math o bethau 'n glws, data cyfanredol yn cof, creu tablau deilliadol hynny. Dyna achos defnydd enfawr bod llawer o gwsmeriaid yn ymwneud â, gan gymryd yr nythu priodweddau dogfennau JSON rhai a chreu mynegeion ychwanegol. Rydym yn ar y diwedd. Diolch i chi am fod yn amyneddgar gyda mi. Felly, gadewch i ni siarad am Cyfeirnod pensaernïaeth. DynamoDB yn eistedd yng nghanol felly llawer o'r seilwaith Strategaeth Cymru Gyfan. Yn y bôn, gallwch bachyn i hyd at unrhyw beth yr hoffech. Ceisiadau a adeiladwyd gan ddefnyddio Dynamo cynnwys Lambda, ElastiCache, CloudSearch, gwthio y data allan i'r elastig MapReduce, allforio mewnforio o DynamoDB i mewn i S3, pob math o lif gwaith. Ond mae'n debyg y gorau beth i siarad am, ac mae hyn yn beth mewn gwirionedd diddorol yw pan fyddwn yn siarad am geisiadau a yrrir gan ddigwyddiad. Mae hwn yn enghraifft o prosiect mewnol bod gennym lle rydym yn mewn gwirionedd cyhoeddi i gasglu canlyniadau'r arolwg. Felly, mewn cyswllt e-bost sy'n rydym yn anfon allan, yna chi helpu fod ychydig yn cliciwch dolen dweud yma i ymateb i'r arolwg. A phan person chleciau sy'n cysylltu, beth sy'n digwydd yw eu tynnu i lawr yn ddiogel Ffurflen arolwg HTML o S3. Does dim gweinydd. Mae hyn yn unig gwrthrych S3 yw. Bod ffurflen yn dod i fyny, llwythi i fyny yn y porwr. Mae'n cael asgwrn cefn. Mae'n cael JavaScript cymhleth ei fod yn rhedeg. Felly mae'n cais gyfoethog iawn yn rhedeg yn borwr y cleient. Nid ydynt yn gwybod nad ydynt yn rhyngweithio â gweinydd pen ôl. Ar y pwynt hwn, mae'r cyfan porwr. Maent yn cyhoeddi'r canlyniadau i'r hyn rydym yn galw yr Amazon API Gateway. API Gateway yn unig yw API gwe eich bod yn gallu diffinio a bachyn i fyny i beth bynnag y dymunwch. Yn yr achos arbennig hwn, rydym yn fachog i fyny at swyddogaeth Lambda. Felly fy llawdriniaeth SWYDD yw digwydd heb unrhyw gweinydd. Yn y bôn fod API Gateway yn eistedd yno. Nid yw'n costio dim hyd nes y bobl i mi dechrau Postio iddo, dde? Mae'r swyddogaeth Lambda jyst eistedd yno. Ac mae'n costio i mi dim nes pobl yn dechrau taro arno. Fel y gallwch weld, gan fod y gyfrol yn cynyddu, dyna pryd y taliadau yn dod. Dydw i ddim yn rhedeg gweinydd 24/07. Felly, yr wyf yn tynnu y ffurflen i lawr allan o'r bwced, ac yr wyf yn postio drwy'r API Porth i mewn i'r swyddogaeth Lambda. Ac yna y Lambda swyddogaeth yn dweud, eich bod yn gwybod beth, mae gen i rai PIIs, mae rhai gwybodaeth bersonol adnabyddadwy yn yr ymatebion hyn. Ges sylwadau yn dod gan ddefnyddwyr. Mae gen i gyfeiriadau e-bost. Mae gen i enwau defnyddwyr. Gadewch i mi rannu hwn i ffwrdd. Rydw i'n mynd i gynhyrchu rhai metadata oddi ar y cofnod hwn. Ac yr wyf i'n mynd i wthio'r metadata i mewn i DynamoDB. A gallwn i amgryptio holl ddata ac yn gwthio i mewn DynamoDB os ydw i eisiau. Ond mae'n haws i mi, yn hyn Defnyddiwch yr achos, i fynd yn ei flaen yn dweud, Rydw i'n mynd i wthio y data crai i mewn i fwced S3 hamgryptio. Felly, yr wyf yn defnyddio adeiladwyd yn ochr y gweinydd S3 amgryptio a Rheoli Allweddol Amazon Gwasanaeth fel bod gennyf allwedd sy'n Gall cylchdroi ar gyfwng rheolaidd, a gallaf amddiffyn y data PII fel rhan o'r llif gwaith cyfan. Felly, beth a wneuthum? Rwyf newydd eu defnyddio yn ei gyfanrwydd cais, ac nid oes gennyf gweinydd. Felly, beth ddigwyddiad yrru cais pensaernïaeth yn ei wneud ar eich cyfer chi. Nawr, os ydych yn meddwl am yr achos ddefnydd ar gyfer this-- mae gennym gwsmeriaid eraill rwy'n siarad i tua union bensaernïaeth hwn sydd yn cynnal ymgyrchoedd hynod fawr, sydd yn edrych ar hyn ac yn mynd, oh fy. Oherwydd hyn, gallant bôn wthio allan yno, gadewch yr ymgyrch honno dim ond eistedd yno nes ei lansio, ac nid rhaid i chi boeni am ffig am pa fath o seilwaith yn mynd i fod yno i gefnogi. Ac yna cyn gynted ag y ymgyrch sy'n cael ei wneud, mae fel y seilwaith dim ond unwaith yn mynd i ffwrdd oherwydd bod 'n sylweddol oes unrhyw seilwaith. Mae'n cod unig sy'n eistedd ar Lambda. Mae'n data dim ond bod yn eistedd yn DynamoDB. Mae'n ffordd anhygoel i adeiladu ceisiadau. GYNULLEIDFA: Felly a yw'n fwy byrhoedlog nag y byddai'n os cafodd ei storio ar weinydd go iawn? RICK Houlihan: Yn hollol. Gan fod yr achos hwnnw gweinydd Byddai'n rhaid i fod yn 24/07. Mae'n rhaid iddo fod ar gael ar gyfer rhywun i ymateb i. Wel dyfalu beth? S3 ar gael 24/7. S3 bob amser yn ymateb. Ac S3 yn iawn, yn dda iawn yn gwasanaethu hyd gwrthrychau. Gall gwrthrychau hynny fod yn ffeiliau HTML, neu Ffeiliau JavaScript, neu beth bynnag y dymunwch. Gallwch chi redeg ceisiadau ar y we cyfoethog iawn allan o bwcedi S3, a pobl yn ei wneud. Ac felly dyna y syniad yma yw cael i ffwrdd oddi wrth y ffordd rydym yn arfer meddwl am y peth. Rydym i gyd yn arfer meddwl mewn telerau gweinyddwyr a lluoedd. Nid yw'n am hynny anymore. Mae'n ymwneud â seilwaith fel cod. Defnyddio y cod ar y cwmwl a gadael i'r cwmwl ei redeg ar eich rhan. A dyna beth Strategaeth Cymru Gyfan yn ceisio ei wneud. GYNULLEIDFA: Felly eich blwch aur yn y canol o'r API Nid yw Porth gweinydd-fel, ond yn hytrach yn just-- RICK Houlihan: Gallwch chi feddwl am y peth fel ffasâd gweinydd. Mae'r holl mae'n ei bydd yn cymryd HTTP gofyn a map i broses arall. Dyna i gyd mae'n ei wneud. Ac yn yr achos hwn, rydym yn mapio i swyddogaeth Lambda. Mae pob hawl, felly dyna i gyd ges. Diolch yn fawr iawn. Yr wyf yn gwerthfawrogi hynny. Rwy'n gwybod ein bod am ychydig dros gyfnod o amser. A gobeithio eich bod guys got ychydig o wybodaeth y gallwch eu cymryd i ffwrdd heddiw. Ac yr wyf yn ymddiheuro os wyf yn mynd dros rai o'ch pennau, ond mae llawer da o Gwybodaeth foundational sylfaenol fy mod yn meddwl yn werthfawr iawn i chi. Felly diolch i chi am fy nghael. [Cymeradwyaeth] GYNULLEIDFA: [Anghlywadwy] yw pan fyddwch yn ei ddweud bu'n rhaid i chi fynd drwy y peth o'r dechrau i'r diwedd i gael y gwerthoedd cywir neu un gwerthoedd, sut y byddai'r gwerthoedd newid os [Anghlywadwy]. RICK Houlihan: O, idempotent? Sut fyddai'r gwerthoedd newid? Wel, oherwydd os doeddwn i ddim yn rhedeg yr holl ffordd i'r diwedd, yna nid wyf yn gwybod pa newidiadau eu gwneud yn y filltir olaf. Nid yw'n mynd i fod y un data fel yr hyn a welais. GYNULLEIDFA: O, er mwyn i chi yn unig Nid wedi gotten y cyfraniad cyfan. RICK Houlihan: Iawn. Rhaid i chi fynd o'r dechrau i'r diwedd, ac yna mae'n mynd i fod yn gyflwr gyson. Cool. GYNULLEIDFA: Felly yr ydych yn dangos i ni DynamoDB Gall wneud y ddogfen neu werth allweddol. Ac rydym yn treulio llawer o amser ar y Gwerth allweddol gyda hash a'r ffyrdd i troi o gwmpas. Pan edrychodd chi wrth fyrddau hynny, yw bod gan adael y tu ôl i'r dull ddogfen? RICK Houlihan: Nid wyf fyddai yn dweud ei adael ar ôl. GYNULLEIDFA: Cawsant eu gwahanu oddi wrth the-- RICK Houlihan: Gyda'r ddogfen dull, mae'r math o ddogfen yn DynamoDB yn unig yw meddwl am fel priodoledd arall. Mae'n nodwedd sy'n cynnwys strwythur data hierarchaidd. Ac yna yn y cwestiynau, gallwch ddefnyddio'r eiddo o wrthrychau rhai sy'n defnyddio Nodiant Gwrthrych. Felly gallaf hidlo ar nythu eiddo i'r ddogfen JSON. GYNULLEIDFA: Felly unrhyw bryd yr wyf yn gwneud ymagwedd dogfen, Gallaf fath o gyrraedd y tabular-- GYNULLEIDFA: Yn hollol. GYNULLEIDFA: --indexes a pethau yr ydych newydd sôn am. RICK Houlihan: Yeah, mae'r mynegeion a hynny i gyd, pan fyddwch am i mynegai y nodweddion y JSON, y ffordd y byddai'n rhaid i ni wneud hynny yw os byddwch yn mewnosod gwrthrych JSON neu ddogfen i mewn i Dynamo, byddech yn eu defnyddio nentydd. Byddai Nentydd yn darllen y mewnbwn. Byddech yn cael y JSON gwrthwynebu a byddech yn dweud OK, beth yw'r eiddo Rwyf am mynegai? Byddwch yn creu tabl deilliadol. Nawr bod y ffordd y mae'n gweithio ar hyn o bryd. Nid ydym yn eich galluogi i mynegai yn uniongyrchol yr eiddo hynny. GYNULLEIDFA: Tabularizing eich dogfennau. RICK Houlihan: Yn union, ddymchwel iddo, tabularizing iddo, yn union. Dyna beth yr ydych yn ei wneud ag ef. GYNULLEIDFA: Diolch yn fawr. RICK Houlihan: Yep, gwbl, diolch i chi. GYNULLEIDFA: Felly mae'n fath o Mongo yn cyfarfod classifers Redis. RICK Houlihan: Yeah, mae'n llawer fel 'na. Dyna ddisgrifiad da ar ei gyfer. Cool.