>> [Music kucheza]
RICK Houlihan: zote haki.
Hi, kila mtu.
Jina langu ni Rick Houlihan.
Nina mkuu mwandamizi ufumbuzi mbunifu katika AWS.
Mimi kuzingatia NoSQL na DynamoDB teknolojia.
Mimi niko hapa leo kuzungumza na wewe kidogo kuhusu hayo.
>> Historia yangu ni hasa katika safu data.
Mimi alitumia maendeleo yangu nusu kazi ya kuandika Mbegu,
upatikanaji data, ufumbuzi ajili ya matumizi mbalimbali.
Nimekuwa katika wingu virtualization kwa miaka 20 hivi.
Hivyo kabla ya wingu ilikuwa wingu, tulikuwa kuiita shirika kompyuta.
Na wazo hilo, ni kama PG & E, wewe kulipa kwa nini wewe kutumia.
Leo sisi kuiita wingu.
>> Lakini zaidi ya miaka, Nimepata kazi kwa wanandoa wa makampuni
umefanya pengine sijawahi kusikia.
Lakini nimepata kukusanya orodha ya ufundi mafanikio, mimi nadhani wewe d kusema.
Nina ruhusu nane katika mifumo wingu virtualization, microprocessor kubuni,
tata tukio usindikaji, na maeneo mengine pia.
>> Hivyo siku hizi, mimi kuzingatia zaidi juu ya NoSQL teknolojia na kizazi kijacho
database.
Na hiyo ndiyo ujumla nini mimi kwenda kuwa hapa kuzungumza na wewe leo kuhusu.
Hivyo nini unaweza kutarajia kutoka kikao hiki,
tutaweza kwenda kupitia kwa kifupi historia ya usindikaji data.
Ni siku zote na manufaa kwa kuelewa tulikotoka
na kwa nini tuko hapa tulipo.
Na tutaweza kuongea kidogo kidogo kuhusu NoSQL teknolojia
kutoka kwa upande wa kimsingi.
>> Sisi kupata katika baadhi ya DynamoDB internals.
DynamoDB ni AWS hakuna ladha.
Ni kusimamiwa kikamilifu na mwenyeji NoSQL ufumbuzi.
Na tutaweza kuzungumza kidogo kuhusu meza muundo, APIs, aina ya data, bahati,
na baadhi ya internals ya kwamba teknolojia DynamoDB.
Tutaweza kupata katika baadhi ya kubuni mwelekeo na mbinu bora.
Tutaweza majadiliano juu ya jinsi kutumia teknolojia hii kwa baadhi
ya maombi ya leo.
Na kisha tutaweza kuzungumza kidogo kuhusu mageuzi au kuibuka
ya dhana mpya katika programu aitwaye maombi tukio inayotokana
na jinsi DynamoDB anacheza katika kuwa vilevile.
Na tutaweza kuondoka kidogo kidogo ya kumbukumbu usanifu majadiliano
ili tuweze kuzungumza kuhusu baadhi ya njia unaweza kutumia DynamoDB.
>> Hivyo kwanza off-- hili ni swali Mimi kusikia mengi ni, nini database.
Mengi ya watu wanadhani wao kujua nini orodha ni.
Kama Google, utaona huu.
Ni kuweka muundo wa data uliofanyika katika kompyuta, hasa moja ambayo
ni kupatikana kwa njia mbalimbali.
Nadhani hiyo ni nzuri ufafanuzi wa database kisasa.
Lakini mimi si kama hayo, kwa sababu ina maana michache ya mambo.
Ni ina maana muundo.
Na inaonyesha kuwa ni juu ya kompyuta.
Na database hakuwa daima zipo kwenye kompyuta.
Databaser kweli ulikuwepo kwa njia nyingi.
>> Hivyo ufafanuzi mzuri wa Mbegu ni kitu kama hiki.
Mbegu ni kupangwa utaratibu kwa ajili ya kuhifadhi, kusimamia,
na kurejesha habari.
Hii ni kutokana na About.com.
Hivyo mimi kama hii kwa sababu ni kweli mazungumzo kuhusu orodha akiwa there,
uwepo wa Maelezo, si lazima
kitu kwamba yapo kwenye kompyuta.
Na katika historia, sisi si daima alikuwa kompyuta.
>> Sasa, kama mimi kuuliza wastani developer leo nini
Mbegu, hiyo ni jibu mimi kupata.
Mahali fulani siwezi fimbo mambo ya ajabu.
Sawa?
Na ni kweli.
Lakini ni bahati mbaya.
Kwa sababu database ni kweli msingi wa programu ya kisasa.
Ni msingi ya kila maombi.
Na jinsi wewe kujenga kwamba Mbegu, jinsi muundo
takwimu ambazo ni kwenda kulazimisha jinsi kwamba maombi hufanya kama wewe kuongeza.
>> Hivyo mengi ya kazi yangu leo ni kushughulika na kile
hutokea wakati watengenezaji kuchukua mbinu hii
na kushughulika na Aftermath ya maombi ambayo
sasa kuongeza zaidi ya awali dhamira na mateso kutoka kwa kubuni mbaya.
Hivyo hopefully wakati kutembea mbali leo, utasikia
kuwa wanandoa wa zana katika ukanda yako kwamba itabidi kuweka wewe
kutokana na kufanya makosa hizo hizo.
Sawa.
Basi hebu majadiliano juu kidogo ya ratiba ya teknolojia database.
Nadhani kusoma Makala si kwamba zamani
na ni alisema kitu juu ya lines-- ni kauli mashairi sana.
Ilisema historia ya data usindikaji ni
kamili ya watermarks juu wa takwimu wingi.
SAWA.
Sasa, mimi nadhani hiyo ni aina ya kweli.
Lakini mimi kwa kweli kuangalia kama ipo historia ni kweli kujazwa
na watermark juu cha data shinikizo.
Kwa sababu kiwango cha data ya kumeza kamwe inakwenda chini.
Ni tu huenda juu.
>> Na uvumbuzi hutokea wakati tunaona data shinikizo, ambayo
ni kiasi cha data kwamba ni sasa katika kuja katika mfumo.
Na haiwezi kusindika ufanisi ama katika wakati au katika gharama.
Na kwamba wakati sisi kuanza kuangalia data shinikizo.
>> Hivyo wakati sisi kuangalia Mbegu kwanza, hii
ni moja kwamba alikuwa kati ya masikio yetu.
Tuko wote waliozaliwa na hayo.
Ni orodha nzuri.
Ina upatikanaji juu.
Ni siku zote juu ya.
Daima unaweza kupata hiyo.
>> Lakini ni mtumiaji moja.
Siwezi kubadilishana mawazo yangu na wewe.
Huwezi kupata mawazo yangu wakati unataka yao.
Na abilitiy zao si nzuri.
Sisi kusahau mambo.
Kila sasa na kisha, mmoja wetu majani na hatua juu ya kuwepo kwa mwingine
na sisi kupoteza kila kitu aliyokuwa nayo kwamba database.
Hivyo si kwamba wote kuwa nzuri.
>> Na hii kazi vizuri baada ya muda tulipokuwa nyuma katika siku
wakati wote sisi kweli zinahitajika ili kujua ni ambapo ni sisi kwenda juu ya kesho
au ambapo sisi kukusanya chakula bora.
Lakini kama sisi tulianza kukua kama ustaarabu na serikali kuanza
kuja katika kuwa, na wafanyabiashara kuanza kuenea,
sisi kuanza kutambua sisi haja kidogo zaidi kuliko yale
tunaweza kuweka katika kichwa chetu.
Sawa?
>> Sisi zinahitajika mifumo ya kumbukumbu.
Sisi zinahitajika maeneo kuwa na uwezo data kuhifadhi.
Hivyo sisi kuanza kuandika nyaraka, kujenga maktaba na nyaraka.
Tulianza kuendeleza mfumo kitabu uhasibu.
Na kwamba mfumo wa kitabu kuhesabu mbio kote kwa karne nyingi,
na labda hata milenia kama sisi aina ya ilikua kwa uhakika
ambapo kwamba mzigo data kuzidi uwezo wa mifumo ya wale
kuweza kuudhibiti.
>> Na hii hasa kilichotokea katika miaka ya 1880.
Sawa?
Mwaka 1880 Sensa ya Marekani.
Hii ni kweli ambapo kugeuka uhakika data ya kisasa ya usindikaji.
Hii ni hatua ambayo kiasi cha data
kwamba mara kuwa zilizokusanywa na Serikali ya Marekani got kwa uhakika
ambako ilichukua miaka minane mchakato.
>> Sasa, years-- nane kama unajua, Sensa
anaendesha kila years-- 10 hivyo ni pretty wazi kwamba kwa muda sisi
got sensa 1890, kiasi cha data kwamba
alikuwa anaenda kuwa kusindika na serikali ilikuwa ni
kwenda kisichozidi miaka 10 kuwa ni itachukua ilizindua sensa mpya.
Hii ilikuwa ni tatizo.
>> Hivyo guy aitwaye Herman Hollerith alikuja pamoja
na yeye zuliwa kitengo rekodi ngumi kadi, Punch kadi msomaji, Punch kadi
tabulator, na kulinganishwa ya mifumo ya teknolojia hii.
Na kwamba kampuni hiyo yeye sumu katika muda, pamoja na michache ya watu wengine,
kweli akawa moja ya nguzo za kampuni ndogo tunajua leo inaitwa IBM.
>> Hivyo IBM awali ilikuwa katika biashara database.
Na kwamba ni kweli walichofanya.
Walivyofanya usindikaji data.
>> Kama hivyo kuenea kwa ngumi kadi, utaratibu wa ingenious
wa kuwa na uwezo wa kujiinua kwamba teknolojia ya uchaguzi yamepangwa matokeo seti.
Unaweza kuona katika picha hii kuna tuna little--
ni kidogo small-- lakini unaweza kuona ingenious sana mitambo utaratibu
ambapo tuna Punch kadi ya staha.
Na kuchukua mtu wa bisibisi kidogo
na kujikita kupitia inafaa na kuondoa it up
kupata kwamba mechi, kwamba matokeo yamepangwa kuweka.
>> Hii ni kuwakusanya.
Sisi kufanya hivyo wakati wote leo katika kompyuta,
ambapo kufanya hivyo katika orodha.
Tulikuwa kufanya hivyo manually, sawa?
Watu kuweka mambo haya kwa pamoja.
Na ilikuwa kuenea wa kadi hizo ngumi
katika kile sisi kuitwa ngoma data na data reels, karatasi mkanda.
>> Sekta ya usindikaji wa data alichukua somo kutoka pianos mchezaji.
Mchezaji pianos nyuma katika upande wa karne
kutumika kwa kutumia reels karatasi na inafaa juu ya kupeleka habari ambayo funguo kucheza.
Hivyo teknolojia ambayo ilichukuliwa hatimaye kuhifadhi data digital,
kwa sababu wangeweza kuweka takwimu ambazo kwenye wale reels karatasi mkanda.
>> Sasa, matokeo yake, data ilikuwa actually-- jinsi
wewe kupata data huyu alikuwa moja kwa moja tegemezi kwa jinsi gani kuhifadhiwa yake.
Hivyo kama mimi kuweka data juu ya mkanda, Mimi nilikuwa kupata data kwa mstari.
Mimi nilikuwa unaendelea nzima mkanda kupata data zote.
Kama mimi kuweka data katika ngumi kadi, sikuweza kupata huduma hiyo
katika kidogo zaidi random mtindo, labda si kwa haraka.
>> Lakini kulikuwa na mapungufu katika jinsi sisi upatikanaji wa data kulingana na jinsi ilikuwa kuhifadhiwa.
Na hivyo hii ilikuwa ni tatizo kwenda katika '50s.
Tena, tunaweza kuanza kuona kwamba kama sisi kuendeleza teknolojia mpya na mchakato
data, kulia, ni kufungua mlango kwa ufumbuzi mpya,
kwa ajili ya programu mpya, mpya maombi kwa ajili ya data hizo.
Na kwa kweli, utawala bora inaweza kuwa ni sababu
kwa nini sisi maendeleo ya baadhi ya mifumo hii.
Lakini biashara kwa haraka akawa dereva nyuma ya mageuzi
ya Mbegu ya kisasa na kisasa mfumo wa faili.
>> Hivyo jambo la pili kwamba walifika mara katika '50s
Ilikuwa mfumo wa faili na maendeleo ya random upatikanaji wa kuhifadhi.
Hii ilikuwa nzuri.
Sasa, kwa ghafla, tunaweza kuweka yetu faili popote kwenye anatoa ngumu hizi
na tuweze kupata taarifa hii nasibu.
Tunaweza Hazrat kwamba Maelezo nje ya mafaili.
Na sisi kutatuliwa zote duniani matatizo na usindikaji data.
>> Na ambayo ilidumu kuhusu 20 au Miaka 30 hadi mageuzi
ya database kimahusiano, ambayo ni wakati dunia aliamua sisi sasa
haja ya kuwa na there kwamba kushindwa oplanerad ya data katika faili
mifumo ya kwamba tumekuwa kujengwa. Sawa?
Data sana kusambazwa katika mengi mno maeneo, de-kurudia ya data,
na gharama za kuhifadhi ilikuwa kubwa sana.
>> Katika '70s, rasilimali ghali zaidi kwamba kompyuta alikuwa alikuwa hifadhi.
Processor alikuwa kutazamwa kama gharama za kudumu.
Wakati mimi kununua sanduku, CPU anafanya baadhi ya kazi.
Ni kwenda kuwa inazunguka kama ni kweli kazi au la.
Hiyo ni kweli gharama kuzamishwa.
>> Lakini nini gharama mimi kama biashara ni hifadhi.
Kama mimi na kununua disks zaidi ijayo mwezi, hiyo ni gharama halisi kwamba mimi kulipa.
Na kuhifadhi kwamba ni ghali.
>> Sasa sisi kufunga mbele ya miaka 40 na tuna tatizo tofauti.
Compute ni sasa ghali zaidi rasilimali.
Kuhifadhi ni nafuu.
I mean, tunaweza kwenda mahali popote kwenye wingu na tunaweza kupata kuhifadhi nafuu.
Lakini nini siwezi kupata nafuu compute.
>> Hivyo mageuzi ya leo teknolojia, teknolojia ya Mbegu,
ni kweli ililenga kuzunguka databaser kusambazwa
kwamba hawana wanakabiliwa na aina moja ya wadogo
mapungufu ya database kimahusiano.
Tutaweza kuzungumza kidogo kuhusu nini kwamba kweli ina maana.
>> Lakini moja ya sababu na dereva nyuma ya Haya sisi
kuongelea shinikizo data.
Takwimu shinikizo ni jambo ambalo kwamba anatoa ubunifu.
Na kama ukiangalia juu miaka mitano iliyopita,
hii ni chati ya nini data mzigo katika biashara kwa ujumla
Inaonekana kama katika miaka mitano iliyopita.
>> Na utawala mkuu wa thumb days-- hizi ukienda Google--
ni 90% ya takwimu ambazo sisi kuhifadhi leo, na ilikuwa
yanayotokana ndani ya miaka miwili iliyopita.
SAWA.
Sasa, hii si mwenendo hiyo ni mpya.
Hii ni hali ambayo imekuwa ni kwenda nje kwa muda wa miaka 100.
Tangu Herman Hollerith maendeleo kadi Punch,
tumekuwa kujenga hifadhi za seli data na kukusanya data kwa viwango phenomenal.
>> Hivyo katika kipindi cha miaka 100 iliyopita, tumeona hali hii.
Hiyo si kwenda na mabadiliko.
Kwenda mbele, sisi ni kwenda kuona hivyo, kama si kuharakisha mwenendo.
Na unaweza kuona nini kwamba inaonekana kama.
>> Kama biashara mwaka 2010 alikuwa mmoja terabyte ya data chini ya usimamizi,
leo kwamba maana wao uko kusimamia 6.5 petabytes ya data.
Hiyo ni 6,500 data zaidi ya mara.
Na najua hii.
Mimi kazi na wafanyabiashara hawa kila siku.
Miaka mitano iliyopita, mimi bila kuzungumza na makampuni
ambao kuzungumza na mimi kuhusu kile maumivu ni kusimamia terabytes wa data.
Na wangeweza kuzungumza na mimi kuhusu jinsi tunaona
kwamba hii pengine ni kwenda kuwa petabyte moja au mbili
ndani ya miaka michache.
>> Makampuni haya huo leo mimi nina mkutano na,
na wao ni kuzungumza na mimi kuhusu Tatizo ni pale baada ya kusimamia
mamia, 20 petabytes ya data.
Hivyo mlipuko wa data katika sekta ya
ni kuendesha gari kubwa haja kwa ajili ya ufumbuzi bora.
Na database kimahusiano ni sio tu kuishi hadi mahitaji.
>> Na hivyo kuna linear uwiano kati ya data shinikizo
na ubunifu wa kiufundi.
Historia imeonyesha sisi hii, kwamba baada ya muda,
wakati wowote kiasi cha data kwamba mahitaji ya kuwa kusindika
unazidi uwezo wa mfumo kwa mchakato yake katika muda muafaka
au kwa gharama nafuu, teknolojia mpya kisha
ni zuliwa ili kutatua matatizo hayo.
Wale teknolojia mpya, kwa upande wake, kufungua mlango
hadi nyingine seti ya matatizo, ambayo linakutana data hata zaidi.
>> Sasa, sisi siyo kwenda kukomesha hali hii.
Sawa?
Sisi siyo kwenda kukomesha hali hii.
Kwa nini?
Kwa sababu huwezi kujua kila kitu hapo ni kujua katika ulimwengu.
Na kwa muda mrefu kama tumekuwa hai, kipindi chote cha historia ya mwanadamu,
sisi daima inaendeshwa kujua zaidi.
>> Hivyo inaonekana kama kila inchi sisi hoja chini njia ya ugunduzi wa kisayansi,
sisi ni kuzidisha kiasi cha data kuwa tunahitaji mchakato exponentially
kama sisi kubaini zaidi na zaidi na zaidi kuhusu utendaji kazi ndani ya maisha,
kuhusu jinsi ulimwengu kazi, kuhusu kuendesha gari ugunduzi wa kisayansi,
na uvumbuzi kwamba sisi ni kufanya leo.
Kiasi cha data tu daima huongezeka.
Hivyo kuwa na uwezo wa kukabiliana na tatizo hili ni kubwa sana.
>> Hivyo moja ya mambo sisi kuangalia kama nini NoSQL?
Ni kwa jinsi gani NoSQL kutatua tatizo hili?
Naam, databaser kimahusiano, Uliza muundo lugha,
SQL-- hiyo kwa kweli kujenga ya kimahusiano database-- mambo haya ni
optimized kwa ajili ya kuhifadhi.
>> Nyuma katika '70s, tena, disk ni ghali.
Utoaji zoezi la kuhifadhi katika biashara ni kamwe-kuishia.
Najua.
Mimi aliishi yake.
Niliandika madereva kuhifadhi kwa Enterprised superserver kampuni
nyuma katika miaka ya 90.
Na line ya chini ni racking nyingine kuhifadhi safu mara tu kitu ambacho
kilichotokea kila siku katika biashara.
Na kamwe kusimamishwa.
Juu wiani kuhifadhi, mahitaji kwa msongamano kuhifadhi,
na kwa ajili ya kuhifadhi ufanisi zaidi devices-- ni kamwe kusimamishwa.
>> Na NoSQL ni teknolojia kubwa kwa sababu normalizes data.
Ni de-marudio data.
Ni unaweka data katika muundo kwamba ni agnostic kwa kila mfano upatikanaji.
Maombi mbalimbali wanaweza kugonga kwamba Database SQL, kukimbia dharula maswali,
na kupata data katika sura kwamba wao haja ya mchakato kwa mzigo wao.
Kwamba inaonekana ajabu.
Lakini line ya chini ni kwa yoyote mfumo, ikiwa ni agnostic kwa kila kitu,
ni optimized kwa ajili ya kitu chochote.
SAWA?
>> Na kwamba ni nini tunapata kwa kimahusiano database.
Ni optimized kwa ajili ya kuhifadhi.
Ni kawaida.
Ni kimahusiano.
Ni inasaidia dharula maswali.
Na yake na mizani wima.
>> Kama mimi haja ya kupata kubwa SQL database au nguvu zaidi SQL database,
Mimi kwenda kununua kipande kubwa ya chuma.
SAWA?
Nimepata kazi na mengi ya wateja kwamba wamekuwa kupitia upgrades kuu
katika SQL miundombinu yao tu ili kujua miezi sita baadaye,
wao ni kupiga ukuta tena.
Na jibu kutoka Oracle au MSSQL au mtu yeyote mwingine ni kupata sanduku kubwa.
Vizuri mapema au baadaye, huwezi kununua kubwa sanduku, na kwamba tatizo halisi.
Tunahitaji kweli kubadilisha mambo.
Hivyo ambapo gani kazi hii?
Ni kazi vizuri kwa nje ya mkondo analytics, mzigo OLAP-aina.
Na kwamba ni kweli ambapo SQL ni mwanachama.
Sasa, ni kutumika leo katika wengi online Mapatano usindikaji aina
matumizi.
Na ni kazi nzuri tu katika baadhi ya kiwango cha matumizi,
lakini ni tu haina wadogo njia hiyo NoSQL gani.
Na tutaweza kuongea kidogo kidogo kuhusu nini kuwa ni.
>> Sasa, NoSQL, kwa upande mwingine, ni zaidi optimized kwa compute.
SAWA?
Sio agnostic kwa upatikanaji mfano.
Ni nini sisi kuwaita de-normalized muundo au muundo wa kihierarkia.
Data katika database kimahusiano ni alijiunga pamoja na meza nyingi
kuzalisha mtazamo kwamba unahitaji.
Data database NoSQL katika ni kuhifadhiwa katika hati kwamba
ina muundo wa kihierarkia.
Wote wa takwimu ambazo kwa kawaida kuwa alijiunga pamoja na kuzalisha mtazamo kwamba
ni kuhifadhiwa katika hati moja.
Na tutaweza kuzungumza kidogo kuhusu jinsi kazi katika michache ya chati.
>> Lakini Wazo hapa ni kwamba kuhifadhi data yako kama maoni haya instantiated.
SAWA?
Wewe kuongeza usawa.
Sawa?
Kama mimi haja ya kuongeza ukubwa wa wangu NoSQL nguzo,
Sina haja ya kupata sanduku kubwa.
Mimi kupata sanduku mwingine.
Na mimi nguzo wale pamoja, na siwezi Shard data hizo.
Tutaweza kuzungumza kidogo kuhusu nini sharding ni, kuwa
uwezo wa kuongeza kwamba orodha katika vifaa vingi kimwili
na kuondoa kikwazo kwamba inahitaji kwangu wadogo wima.
>> Hivyo ni kweli kujengwa kwa online usindikaji shughuli na wadogo.
Kuna tofauti kubwa hapa kati ya kuripoti, sawa?
Kuripoti, sijui maswali mimi nina kwenda kuuliza.
Sawa?
Reporting-- kama mtu kutoka idara ya masoko yangu
anataka just-- wangapi wa wateja wangu kuwa na tabia hii hasa ambao
kununua juu ya day-- hii sijui nini swala wao wanaenda kuomba.
Hivyo mimi haja ya kuwa agnostic.
>> Sasa, katika online Mapatano maombi,
Najua ni maswali gani mimi nina kuuliza.
Mimi kujengwa maombi kwa workflow maalum sana.
SAWA?
Hivyo kama mimi kuongeza data kuhifadhi kusaidia kwamba workflow,
ni kwenda kuwa kasi zaidi.
Na hii ndiyo maana NoSQL Unaweza kweli kuharakisha utoaji
ya wale aina ya huduma.
Sawa.
>> Hivyo sisi ni kwenda kupata katika kidogo ya nadharia hapa.
Na baadhi yenu, macho yenu Huenda unaendelea nyuma kidogo.
Lakini mimi itabidi kujaribu kuweka kiwango cha juu sana kama naweza.
Hivyo kama wewe ni katika mradi usimamizi, kuna
kujenga aitwaye pembe tatu ya vikwazo.
SAWA.
Pembe tatu ya constrains dictates huwezi kuwa na kila kitu wakati wote.
Huwezi kuwa na pie yako na kula sana.
Hivyo katika usimamizi wa mradi, kwamba pembe tatu vikwazo ni unaweza kuwa ni nafuu,
unaweza kuwa ni haraka, au unaweza kuwa ni mzuri.
Pick mbili.
Kwa sababu huwezi kuwa wote watatu.
Sawa?
SAWA.
>> Hivyo wewe kusikia kuhusu hili sana.
Ni kikwazo tatu, pembe tatu ya mara tatu kulazimika,
au chuma pembe tatu ni oftentimes-- wakati majadiliano kwa mradi mameneja,
wao itabidi kuzungumza kuhusu suala hili.
Sasa, databaser na chuma yao wenyewe pembe tatu.
Na chuma pembe tatu ya data ni nini sisi kuwaita CAP theorem.
SAWA?
>> CAP theorem dictates jinsi database kazi
chini ya hali maalum sana.
Na tutaweza majadiliano juu ya nini hali hiyo ni.
Lakini pointi tatu ya pembe tatu, hivyo kusema, ni C, msimamo.
SAWA?
Hivyo katika CAP, na msimamo ina maana kwamba wote wateja ambao wanaweza kupata orodha
siku zote kuwa sana Mtazamo thabiti ya data.
Hakuna mtu wa gonna kuona mambo mawili tofauti.
SAWA?
Kama mimi kuona Mbegu, Mimi nina kuona mtazamo huo
kama mpenzi wangu ambaye anaona Mbegu huo.
Hiyo ni msimamo.
>> Upatikanaji ina maana kwamba kama Mbegu online, kama inaweza kufikiwa,
kwamba wateja wote daima kuwa na uwezo wa kusoma na kuandika.
SAWA?
Hivyo kila mteja kwamba Unaweza kusoma orodha
daima kuwa na uwezo wa kusoma data na kuandika data.
Na kama hiyo kesi, ni mfumo inapatikana.
>> Na hatua ya tatu ni nini tunatoa wito kuhesabu uvumilivu.
SAWA?
Kuhesabu uvumilivu njia kuwa mfumo wa kazi vizuri
licha ya mtandao kimwili partitions kati ya nodes.
SAWA?
Hivyo nodes katika nguzo hawawezi kuzungumza na kila mmoja, nini kitatokea?
Sawa.
>> Databaser hivyo kimahusiano choose-- unaweza kuchukua wawili hawa.
SAWA.
Databaser hivyo kimahusiano kuchagua kuwa thabiti na za kutosha.
Kama kuhesabu hutokea kati ya DataNodes katika kuhifadhi data,
Mbegu shambulio.
Sawa?
Ni tu inakwenda chini.
SAWA.
>> Na hii ni kwa nini wana kukua na masanduku kubwa.
Sawa?
Kwa sababu kuna no-- kawaida, nguzo Mbegu, kuna si mengi sana miongoni mwao
ambayo yanafanya kazi kwa njia hiyo.
Lakini databaser zaidi wadogo wima ndani ya sanduku moja.
Kwa sababu wanahitaji kuwa thabiti na za kutosha.
Kama kuhesabu zilipaswa sindano, basi ingekuwa kufanya uchaguzi.
Una kufanya uchaguzi kati kuwa thabiti na za kutosha.
>> Na kwamba ni nini NoSQL databaser kufanya.
Sawa.
Hivyo orodha NoSQL, ni huja katika ladha mbili.
Sisi have-- vizuri, huja katika ladha nyingi,
lakini inakuja na mawili ya msingi characteristics-- nini
tunataka kuwaita CP Mbegu, au a thabiti na kuhesabu uvumilivu
mfumo.
Haya guys kufanya uchaguzi kwamba wakati nodes kupoteza kuwasiliana na kila mmoja,
sisi siyo kwenda kuruhusu watu kuandika tena.
SAWA?
>> Mpaka kwamba kuhesabu ni kuondolewa, upatikanaji kuandika ni imefungwa.
Hiyo ina maana wao ni haipatikani.
Wao ni thabiti.
Wakati tunaona kwamba kuhesabu kuingiza yenyewe,
sasa tuko thabiti, kwa sababu sisi siyo kwenda
kuruhusu mabadiliko data kwenye miwili pande mbili za kuhesabu kujitegemea
ya kila mmoja.
Tutakuwa na upya mawasiliano
kabla ya update yoyote kwa data ni kuruhusiwa.
SAWA?
>> Ladha ya pili itakuwa mfumo AP, au inapatikana na partitioned
kuvumiliana mfumo.
Haya guys hawajali.
Sawa?
Node yoyote ambayo anapata kuandika, tutaweza kuchukua hiyo.
Hivyo mimi nina kujinakilisha data zangu hela nodes nyingi.
Nodi hiyo kupata mteja, mteja anakuja katika, anasema, mimi nina kwenda kuandika baadhi ya data.
Node anasema, hakuna tatizo.
Nodi karibu naye anapata kuandika kwenye rekodi sawa,
yeye kwenda kusema hakuna tatizo.
Mahali fulani nyuma mgongoni mwisho, data ambayo inaenda kuiga.
Na kisha mtu kwenda kutambua, uh-oh, mfumo watakubali, uh-oh,
kumekuwa na update kwa pande hizo mbili.
Tufanye nini?
Na wanachokifanya basi ni wanafanya kitu ambacho
inaruhusu yao ya kutatua kwamba hali data.
Na tutaweza majadiliano juu ya kwamba katika chati ijayo.
>> Jambo kwa kumweka nje hapa.
Na mimi si kwenda kupata pia mengi katika hili, kwa sababu hii
anapata katika nadharia kina data.
Lakini kuna Mapatano mfumo kuwa
anaendesha katika mfumo kimahusiano kwamba inaruhusu mimi kwa usalama kufanya updates
kwa nyingi vyombo katika database.
Na updates wale kutokea wote kwa mara moja au si wakati wote.
Na hii inaitwa shughuli ACID.
SAWA?
>> ACID inatupa atomicity, msimamo, kutengwa, na kudumu.
SAWA?
Hiyo ina maana atomic, shughuli, kila updates yangu ama kutokea au wao hawana.
Msimamo maana yake ni kwamba Mbegu daima
kuletwa thabiti hali baada ya update.
Sitakuacha kamwe orodha katika hali mbaya baada ya kutumia update.
SAWA?
>> Hivyo ni tofauti kidogo kuliko CAP msimamo.
CAP msimamo ina maana wote yangu wateja wanaweza daima kuona data.
ACID msimamo ina maana kwamba wakati shughuli kosa, takwimu nzuri.
Mahusiano yangu wote ni nzuri.
Sitakuja kufuta mstari mzazi na kuondoka rundo la watoto yatima
katika baadhi meza mengine.
Ni haiwezi kutokea kama mimi nina thabiti katika shughuli asidi.
>> Kutengwa ina maana kwamba shughuli daima kutokea mmoja baada ya mwingine.
Matokeo ya mwisho ya data itakuwa hali hiyo
kana kwamba shughuli hizo kwamba zilitolewa Sanjari
waliuawa serially.
Hivyo ni concurrency udhibiti katika database.
Hivyo kimsingi, siwezi increment thamani huo mara mbili kwa shughuli mbili.
>> Lakini kama mimi kusema kuongeza 1 kwa thamani hii, na shughuli mbili kuja katika
na kujaribu kufanya hivyo, moja ni kwenda kupata huko kwanza
na wengine mtu kwenda kupata huko baada.
Hivyo katika mwisho, mimi aliongeza mbili.
Unaweza kuona nini namaanisha?
SAWA.
>> Uimara ni pretty moja kwa moja.
Wakati shughuli ni alikubali, ni
kwenda kuwa kuna hata kama mfumo shambulio.
Wakati mfumo kuwa recovers, kwamba shughuli ambayo ilikuwa nia
ni kweli kwenda huko.
Hivyo hiyo ni dhamana ya mashirikiano ACID.
Hayo ni dhamana pretty nzuri kuwa juu ya orodha,
lakini wao kuja kwa gharama hiyo.
Sawa?
>> Kwa sababu tatizo kwa mfumo huu ni
kama kuna kuhesabu katika data kuweka, I have kufanya uamuzi.
Mimi naenda kuwa kuruhusu taarifa juu ya upande mmoja au mwingine.
Na kama hiyo itatokea, basi mimi nina hakuna kwenda tena
kuwa na uwezo wa kudumisha wale sifa.
Hawawezi kuwa thabiti.
Wao si kutengwa.
Hii ni pale ambapo umekwisha kwa database kimahusiano.
Hii ni sababu kimahusiano databaser wadogo wima.
>> Kwa upande mwingine, tuna kile kinachoitwa BASE teknolojia.
Na haya ndiyo NoSQL Databases yako.
Sawa.
Hivyo tuna CP yetu, AP database.
Na haya ndiyo nini wito kimsingi inapatikana, hali laini, hatimaye
thabiti.
SAWA?
>> Kimsingi inapatikana, kwa sababu wao uko kuhesabu kuhimili.
Wao siku zote kuwa pale, hata kama kuna
kuhesabu mtandao kati ya nodes.
Kama naweza kuzungumza na node, mimi nina kwenda kuwa na uwezo wa kusoma data.
SAWA?
Nipate si mara zote na uwezo wa kuandika data kama mimi nina jukwaa thabiti.
Lakini mimi utakuwa na uwezo wa kusoma data.
>> Hali laini inaonyesha kwamba wakati mimi kusoma data kwamba,
wanaweza kuwa sawa na nodes nyingine.
Kama haki ilitolewa juu ya nodi mahali pengine katika nguzo
na hivyo siyo kuigwa katika nguzo lakini wakati mimi kusoma kwamba data,
hali ambayo inaweza kuwa thabiti.
Hata hivyo, itakuwa ni Hatimaye thabiti,
kwa maana ya kuwa wakati kuandika ni kufanywa na mfumo,
itakuwa kuiga hela nodes.
Na hatimaye, kwamba hali atapelekwa katika utaratibu,
na itakuwa hali thabiti.
>> Sasa, CAP theorem kweli ina tu katika hali moja.
Masharti kwamba ni wakati hii hutokea.
Kwa sababu wakati wowote ni kufanya kazi katika hali ya kawaida, hakuna kuhesabu,
kila kitu ni thabiti na za kutosha.
Wewe tu na wasiwasi juu ya CAP wakati tuna kuwa kuhesabu.
Hivyo wale ni nadra.
Lakini jinsi mfumo humenyuka wakati wale kutokea kulazimisha aina gani ya mfumo
sisi ni kushughulika na.
>> Basi hebu tuangalie nini kwamba inaonekana kama kwa mifumo AP.
SAWA?
Mifumo AP kuja katika ladha mbili.
Wao kuja katika ladha kwamba ni bwana bwana, 100%, daima inapatikana.
Na wao kuja katika ladha nyingine, ambayo inasema,
unajua nini, mimi nina kwenda kuwa na wasiwasi kuhusu hili jambo partitioning
wakati kuhesabu halisi hutokea.
Vinginevyo, kuna kwenda kuwa msingi nodes ambao kwenda kuchukua haki.
SAWA?
>> Hivyo kama sisi kitu kama Cassandra.
Cassandra itakuwa bwana bwana, basi ni mimi kuandika kwa node yoyote.
Hivyo kile kinachotokea?
Hivyo nina kitu katika Mbegu ambayo ipo juu ya nodes mbili.
Hebu simu kwamba kitu S. Hivyo tuna hali ya S.
Tuna baadhi ya shughuli juu ya S kwamba zinaendelea.
Cassandra inaruhusu mimi kuandika kwa nodes nyingi.
Basi hebu kusema mimi kupata kuandika kwa s kwa nodes mbili.
Naam, ni nini kuishia kinachotokea ni tunatoa wito kwamba tukio partitioning.
Kuna inaweza kuwa kimwili kuhesabu mtandao.
Lakini kwa sababu ya muundo mfumo, ni
kweli partitioning haraka kama mimi kupata kuandika juu ya nodes mbili.
Siyo kulazimisha kwangu kuandika wote kwa njia ya nodi moja.
Mimi nina kuandika juu ya nodes mbili.
SAWA?
>> Hivyo sasa nina majimbo mawili.
SAWA?
Nini kitatokea ni mapema au baadaye,
kuna kwenda kuwa tukio replication.
Kuna kwenda kuwa nini sisi aitwaye kuhesabu ahueni, ambayo
Hapa ndipo hizi mbili mataifa kurudi pamoja
na kuna kwenda kuwa algorithm kwamba anaendesha ndani ya Mbegu,
anaamua nini cha kufanya.
SAWA?
By default, mwisho update mafanikio katika maeneo mengi ya mifumo AP.
Hivyo kuna kawaida chaguo-msingi algorithm, nini
watataka callback kazi, jambo ambalo
wataitwa wakati hali hii ni wanaona kutekeleza baadhi ya mantiki
kutatua mgogoro huo.
SAWA?
Callback chaguo-msingi na chaguo-msingi resolver katika zaidi databaser AP
ni, nadhani nini, timestamp mafanikio.
Hii ilikuwa ni update ya mwisho.
Mimi nina kwenda kuweka kwamba update huko.
Nipate dampo rekodi hii kwamba mimi kutupwa mbali katika gogo ahueni
hivyo kwamba mtumiaji anaweza kurudi baadaye na kusema, hey, kulikuwa na mgongano.
Ni nini kilichotokea?
Na unaweza kweli dampo rekodi ya zote migongano na rollbacks
na kuona nini kinatokea.
>> Sasa, kama user, unaweza pia pamoja na mantiki katika kwamba callback.
Hivyo unaweza mabadiliko hayo callback operesheni.
Unaweza kusema, hey, nataka kwa remediate taarifa hii.
Na mimi nataka kujaribu na kuunganisha kumbukumbu hizo mbili.
Lakini hiyo ni juu yako.
Mbegu hajui jinsi ya kufanya hivyo kwa chaguo-msingi. Wengi wakati,
Kitu pekee orodha anajua jinsi ya kufanya ni kusema,
hii moja ilikuwa ni rekodi iliyopita.
Hiyo ni moja ambayo inaenda kushinda, na kwamba thamani mimi nina kwenda kuweka.
Mara baada ya kuwa kuhesabu ahueni na replication hutokea,
tuna hali yetu, ambayo sasa S mkuu, ambayo ni
kuunganisha hali ya wale vitu vyote.
Hivyo mifumo AP na hii.
Mifumo CP hawana haja na wasiwasi juu ya hili.
Kwa sababu kwa haraka kama kuhesabu linatokana katika kucheza, wao tu kuacha kutumia
anaandika.
SAWA?
Hivyo hiyo ni rahisi sana kukabiliana na kuwa thabiti
wakati huna kukubali updates yoyote.
Hiyo ni pamoja na mifumo CP kufanya.
Sawa.
>> Hivyo hebu majadiliano kidogo kidogo kuhusu upatikanaji mwelekeo.
Tunapozungumzia kuhusu NoSQL, ni wote kuhusu upatikanaji mfano.
Sasa, SQL ni dharula, maswali.
Ni kimahusiano kuhifadhi.
Hatuna wasiwasi kuhusu upatikanaji mfano.
Mimi kuandika swala ngumu sana.
Ni inakwenda na anapata data.
Hiyo ni nini inaonekana huu kama, kuhalalisha.
>> Hivyo katika muundo fulani, sisi ni kuangalia bidhaa catalog.
Nina aina mbalimbali za bidhaa.
Nina vitabu.
Nina albamu.
Nina video.
Uhusiano kati ya bidhaa na yeyote mmoja wa haya vitabu, albamu,
na video meza ni 1: 1.
Sawa?
Mimi nimepata bidhaa kitambulisho, na kwamba ID sambamba
kwa kitabu, albamu, au video.
SAWA?
Hiyo ni 1: 1 mahusiano hela meza hizo.
>> Sasa, books-- wote kuwa ni mzizi mali.
Hakuna shida.
Hiyo ni kubwa.
Uhusiano wa moja kwa moja, mimi kupata yote data nahitaji kuelezea kitabu hicho.
Albamu Albums-- na nyimbo.
Hii ni nini sisi kuwaita moja kwa watu wengi.
Kila albamu ya nyimbo inaweza kuwa mingi.
Hivyo kwa kila wimbo kwenye albamu, mimi naweza kuwa
rekodi nyingine katika hii meza mtoto.
Hivyo mimi kujenga rekodi moja katika albamu yangu ya meza.
Mimi kujenga rekodi nyingi katika nyimbo meza.
Uhusiano wa moja kwa wengi.
>> Uhusiano huu ni nini tunatoa wito wengi kwa wengi.
SAWA?
Unaweza kuona kwamba watendaji inaweza kuwa katika sinema nyingi, video wengi.
Hivyo kile sisi kufanya ni sisi kuweka ramani hii meza kati ya hizo, ambayo ni tu
ramani muigizaji ID kwa video ID.
Sasa naweza kujenga swala the anaungana video kupitia muigizaji video kwa watendaji,
na inanipa nzuri orodha ya sinema zote na watendaji wote
waliokuwa katika kwamba movie.
>> SAWA.
Hivyo hapa sisi kwenda.
Moja kwa moja ni wa ngazi za juu Uhusiano; moja kwa watu wengi,
albamu na nyimbo; wengi kwa wengi.
Hayo ni tatu wa ngazi za juu mahusiano katika orodha yoyote.
Kama unajua jinsi wale mahusiano kazi pamoja,
basi, unajua mengi kuhusu orodha tayari.
Hivyo NoSQL kazi tofauti kidogo.
Hebu fikiria kuhusu kwa nini pili inaonekana kama kwenda kupata bidhaa yangu yote.
>> Katika kuhifadhi kimahusiano, mimi wanataka kupata bidhaa yangu yote
juu ya orodha ya bidhaa wangu wote.
Kwamba mengi ya maswali.
I got swala kwa vitabu yangu yote.
I got swala kutoka albamu yangu.
Na mimi got swala kwa ajili ya video yangu yote.
Na mimi got kuiweka wote kwa pamoja katika orodha
na kutumika nyuma hadi maombi hiyo kuomba hiyo.
>> Kupata vitabu yangu, mimi kujiunga Bidhaa na Vitabu.
Kupata albamu yangu, I got kujiunga Bidhaa, Albamu, na Tracks.
Na kupata video yangu, nina kujiunga Bidhaa kwa Video,
kujiunga kupitia Muigizaji Video, na kuleta katika Watendaji.
Hivyo hiyo ni maswali matatu.
Maswali magumu sana kwa kukusanyika moja matokeo ya kuweka.
>> Hiyo ni chini zaidi kuliko kawaida.
Hii ni kwa nini wakati sisi majadiliano kuhusu muundo data kwamba
kujengwa kwa kuwa agnostic kwa upatikanaji pattern-- vizuri kwamba ni kubwa.
Na unaweza kuona hii ni kweli nzuri jinsi tumekuwa kupangwa data.
Na unajua nini?
Mimi tu kuwa na rekodi moja kwa muigizaji.
>> Hiyo ni poa.
Nimekuwa deduplicated watendaji wangu wote, na mimi iimarishwe vyama yangu
katika hii meza ramani.
Hata hivyo, kupata data nje inakuwa ghali.
Mimi kutuma CPU duniani mfumo kujiunga na miundo haya data pamoja
kuwa na uwezo wa kuvuta data kwamba nyuma.
>> Hivyo ni jinsi gani mimi kupata kote kwamba?
Katika NoSQL ni kuhusu kuwakusanya, si kuhalalisha.
Hivyo tunataka kusema tunataka kusaidia upatikanaji mfano.
Kama upatikanaji mfano kwa maombi,
Mimi haja ya kupata bidhaa yangu yote.
Hebu kuweka bidhaa zote katika meza moja.
Kama mimi kuweka bidhaa zote katika meza moja, Siwezi kuchagua tu mazao yote
kutoka meza hiyo na mimi kupata yote.
Vizuri jinsi gani mimi kufanya hivyo?
Vizuri katika NoSQL hakuna muundo wa meza.
Tutaweza kuzungumza kidogo kuhusu jinsi hii matendo katika Dynamo DB.
Lakini huna huo sifa na tabia ile ile
katika kila safu moja, katika kila moja bidhaa, kama wewe kufanya katika meza SQL.
Na nini hii inaruhusu mimi kufanya ni mambo mengi
na kunipa mengi ya kubadilika.
Katika kesi hii, mimi kuwa na bidhaa nyaraka zangu.
Na katika hili hasa mfano, kila kitu
ni hati katika Bidhaa meza.
Na bidhaa kwa ajili ya kitabu nguvu kuwa na aina ID kwamba unasema kitabu.
Na maombi ingekuwa kubadili juu kwamba ID.
>> Wakati maombi tier, mimi nina kwenda kusema oh, nini rekodi ya aina hii?
Oh, ni rekodi ya kitabu.
Rekodi kitabu na mali hizi.
Napenda kuunda kitabu kitu.
Hivyo nina kwenda kujaza kitabu kitu kwa bidhaa hii.
Bidhaa ijayo anakuja na anasema, nini bidhaa hii?
Naam bidhaa hii ni albamu.
Oh, I got mbalimbali nzima usindikaji wa mara kwa mara kwa kuwa,
kwa sababu ni albamu.
Unaweza kuona nini namaanisha?
>> Hivyo maombi tier-- mimi tu kuchagua rekodi zote hizi.
Wote kuanza kuja katika.
Wao wanaweza kuwa aina zote mbalimbali.
Na ni mantiki ya maombi ya kwamba swichi katika wale aina
na anaamua jinsi mchakato yao.
>> Tena, hivyo sisi ni optimizing schema kwa ajili ya kupata mfano.
Sisi ni kufanya hivyo kwa kuanguka meza hizo.
Sisi ni kimsingi kuchukua miundo haya kurejesha,
na sisi ni kujenga kihierarkia miundo.
Ndani ya kila mmoja kumbukumbu hizi Mimi nina kwenda kuona mali safu.
>> Ndani ya waraka huu kwa Albamu, Mimi nina kuona arrays ya nyimbo.
Nyimbo hizo sasa become-- ni kimsingi hii meza mtoto kwamba
lipo hapa hapa katika muundo huu.
Hivyo unaweza kufanya hivyo katika DynamoDB.
Unaweza kufanya hivyo katika MongoDB.
Unaweza kufanya hivyo katika database yoyote NoSQL.
Kujenga aina hii ya kihierarkia miundo data
kwamba kuruhusu retrieve data haraka sana kwa sababu sasa mimi
Si lazima kuendana.
Wakati mimi kuingiza mstari katika Tracks meza, au mstari katika Albamu meza,
Nina kuendana na kwamba schema.
Mimi kuwa na sifa au mali ambayo inaelezwa kwenye meza hiyo.
Kila mmoja wao, wakati mimi kuingiza mstari huo.
Si kwamba kesi katika NoSQL.
>> Siwezi kuwa tofauti kabisa mali katika kila hati
kwamba mimi kuingiza ndani ya ukusanyaji.
Hivyo sana nguvu utaratibu.
Na kwa kweli ni jinsi gani kuongeza mfumo.
Kwa sababu sasa kwamba swala, badala ya kujiunga na mbao hizo zote
na utekelezaji maswali kadhaa nusu kuvuta nyuma data nahitaji,
Mimi utekelezaji swala moja.
Na mimi nina iterating hela matokeo kuweka.
inakupa wazo nguvu za NoSQL.
Mimi nina kwenda aina ya kwenda sideways hapa na kuzungumza kidogo kuhusu hili.
Hii ni aina zaidi ya masoko au technology--
masoko ya teknolojia aina ya majadiliano.
Lakini ni muhimu kuelewa kwa sababu kama sisi kuangalia juu
hapa katika chati hii, nini sisi ni kuangalia
ni kile tunachokiita teknolojia Hype Curve.
Na nini maana ya hii ni mambo mapya linachukua nafasi.
Watu wanadhani ni kubwa.
Nimekuwa kutatuliwa matatizo yangu yote.
>> Hii inaweza kuwa mwisho wote, kuwa wote kwa kila kitu.
Nao kuanza kutumia.
Na wanasema, mambo haya haifanyi kazi.
Hii si haki.
Mambo ya zamani ilikuwa bora zaidi.
Nao kurudi nyuma na kufanya mambo kwa njia hao.
Na kisha hatimaye wao kwenda, unajua nini?
Mambo haya si mbaya.
Oh, hiyo ni jinsi kazi.
Na mara moja wao kufikiri ni jinsi gani matendo, wao kuanza kupata bora.
>> Na jambo funny kuhusu hilo ni, aina ya yanaendana na kile
tunatoa wito Teknolojia Adoption Curve.
Hivyo kile kinachotokea ni tuna aina fulani ya teknolojia trigger.
Katika kesi ya database, ni data shinikizo.
Kuongelea pointi juu ya maji wa takwimu shinikizo katika wakati.
Wakati kwamba shinikizo data hits fulani hatua, hiyo ni teknolojia trigger.
>> Ni kupata gharama kubwa mno.
Inachukua muda mrefu sana kwa mchakato wa data.
Tunahitaji kitu kizuri zaidi.
Kupata wabunifu huko nje mbio kuzunguka,
kujaribu kujua nini ufumbuzi.
Nini wazo jipya?
>> Nini ijayo bora njia ya kufanya jambo hili?
Nao kuja na kitu.
Na watu wenye maumivu ya kweli, guys katika makali kutokwa na damu,
wao itabidi kuruka yote juu yake, kwa sababu wanahitaji jibu.
Sasa nini inevitably happens-- na ni kinatokea sasa hivi katika NoSQL.
Mimi naona ni wakati wote.
>> Nini kinatokea ni inevitably watu kuanza kutumia zana mpya
njia ile ile waliyo na umri wa chombo.
Nao kujua ni haifanyi kazi vizuri.
Siwezi kukumbuka mimi ni nani kuzungumza na mapema leo.
Lakini ni kama, wakati jackhammer ilizuliwa,
watu hawakuwa kuuzungusha juu ya vichwa vyao Smash halisi.
>> Lakini hiyo ni nini kinachotokea na NoSQL leo.
Kama kutembea katika maduka zaidi, wao ni kujaribu kuwa maduka NoSQL.
Nini re kufanya ni wao ni kutumia NoSQL,
na wao ni wa kupakia ni kamili ya kimahusiano schema.
Kwa sababu hiyo ni jinsi wao kubuni database.
Na wao ni wanashangaa, kwa nini ni kuwa si kufanya vizuri sana?
Boy, jambo hili stinks.
Mimi nilikuwa na kudumisha wote yangu anaungana in-- ni kama, hapana, hapana.
Kudumisha anaungana?
Mbona kujiunga na data?
Huwezi kujiunga data katika NoSQL.
Wewe jumla ya mabao hayo.
>> Hivyo kama unataka kuepuka hili, kujifunza jinsi chombo kazi kabla ya kweli
kuanza kutumia.
Je, si kujaribu na matumizi ya zana mpya njia hiyo hiyo kutumika zana za zamani.
Wewe ni kwenda kuwa na uzoefu mbaya.
Na kila wakati kwamba ni nini hii ni kuhusu.
Wakati sisi kuanza kuja juu hapa, ni kwa sababu watu figured nje
jinsi ya kutumia zana.
>> Wao kitu kimoja lini databaser kimahusiano walikuwa zuliwa,
na walikuwa kuchukua nafasi ya mifumo ya faili.
Walijaribu kujenga mifumo ya faili na database kimahusiano
kwa sababu hiyo ndiyo watu kueleweka.
Haikuwa kazi.
Hivyo kuelewa mbinu bora ya teknolojia wewe ni kufanya kazi kwa
ni kubwa.
Muhimu sana.
>> Hivyo sisi ni kwenda kupata katika DynamoDB.
DynamoDB ni AWS ya kikamilifu kusimamiwa NoSQL jukwaa.
Je kikamilifu kusimamiwa maana gani?
Ina maana wewe huna haja ya kweli wasiwasi kuhusu lolote.
>> Wewe kuja katika, kumweleza sisi, mimi haja ya meza.
Inahitaji uwezo kiasi hiki.
Kugonga kifungo, na sisi utoaji miundombinu yote nyuma ya eneo.
Sasa kwa kuwa ni kubwa sana.
>> Kwa sababu wakati majadiliano kuhusu kuongeza database,
NoSQL data nguzo katika wadogo, uendeshaji petabytes,
mbio mamilioni ya shughuli kwa pili,
mambo haya si makundi madogo.
Tunazungumzia maelfu ya matukio.
Kusimamia maelfu ya matukio, hata matukio virtual,
ni maumivu ya kweli katika kitako.
I mean, kufikiri juu ya kila an wakati mfumo wa uendeshaji kiraka hutoka nje
au toleo jipya la orodha.
Hiyo ina maana gani na wewe operationally?
Hiyo ina maana wewe got 1,200 watumishi ambayo yanahitaji updated.
Sasa hata kwa automatisering, ambayo inaweza kuchukua muda mrefu.
Hiyo inaweza kusababisha mengi ya uendeshaji kuumwa kichwa,
kwa sababu nipate kuwa huduma chini.
>> Kama mimi update database haya, mimi anaweza kufanya bluu deployments kijani
ambapo mimi kupeleka na kuboresha nusu yangu nodes, na kisha kuboresha nusu nyingine.
Kuchukua wale chini.
Hivyo kusimamia miundombinu wadogo ni mkubwa sana chungu.
Na AWS kuchukua kwamba maumivu nje ya hiyo.
Na NoSQL databaser Unaweza kuwa extraordinarily chungu
kwa sababu ya njia ya wao wadogo.
>> Kuongeza usawa.
Kama unataka kupata NoSQL kubwa Mbegu, kununua nodes zaidi.
Kila nodi kununua ni mwingine uendeshaji maumivu ya kichwa.
Hivyo basi mtu mwingine kufanya hivyo kwa ajili yenu.
AWS anaweza kufanya hivyo.
>> Tunaunga mkono maadili hati muhimu.
Sasa sisi hakwenda sana ndani ya juu ya chati wengine.
Kuna mengi ya tofauti ladha ya NoSQL.
Wao ni kila aina ya kupata munged pamoja katika hatua hii.
Unaweza kuangalia DynamoDB na kusema ndiyo, tuko wote wawili hati na ufunguo thamani
kuhifadhi hatua hii.
Na unaweza kusema makala ya moja juu ya nyingine.
Kwangu mimi, mengi ya hii ni kweli sita ya moja nusu kadhaa ya wengine.
Kila moja ya teknolojia hizi ni teknolojia faini na ufumbuzi faini.
Napenda kusema MongoDB ni bora au mbaya zaidi kuliko kitanda, kisha Cassandra,
kisha Dynamo, au kinyume chake.
I mean, hizi ni chaguzi tu.
>> Ni kwa haraka na ni thabiti wakati wowote wadogo.
Hivyo hii ni moja ya kubwa mafao kupata na AWS.
Kwa DynamoDB ni uwezo kupata moja chini tarakimu
millisecond utulivu wakati wowote wadogo.
Hiyo ilikuwa ni mpango lengo la mfumo.
Na sisi wateja kwamba wanafanya mamilioni ya mashirikiano kwa pili.
>> Sasa nitakwenda kupitia baadhi ya wale kutumia kesi katika dakika chache hapa.
Integrated upatikanaji control-- tuna kile tunachokiita
Utambulisho Kupata Management, au IAM.
Ni inaruhushu kila mfumo, kila huduma ambayo inatoa AWS.
DynamoDB ni hakuna ubaguzi.
Unaweza kudhibiti upatikanaji meza DynamoDB.
Hela zote AWS yako akaunti na kufafanua upatikanaji majukumu na ruhusa
katika miundombinu IAM.
>> Na ni muhimu na muhimu sehemu katika kile tunachokiita Tukio Inaendeshwa Programu.
Sasa hii ni dhana mpya.
>> Watazamaji: Je, ni kiwango yako ya kweli chanya dhidi negatives uongo
juu ya upatikanaji mfumo wa kudhibiti yako?
RICK Houlihan: chanya Kweli dhidi ya negatives uongo?
Watazamaji: Kurudi nini unapaswa kuwa kurudi?
Kinyume na mara moja kwa wakati ni haina kurudi wakati ni lazima kuhalalisha?
>> RICK Houlihan: sikuweza kukuambia kwamba.
Kama kuna mapungufu yoyote yo juu ya kwamba,
Sina mtu kuuliza kwamba swali fulani.
Lakini hiyo ni swali zuri.
Napenda kuwa na hamu ya kujua kwamba mimi mwenyewe, kwa kweli.
>> Na hivyo basi tena, dhana mpya ni tukio inaendeshwa programu.
Hili ni wazo kwamba unaweza kupeleka maombi tata kwamba
wanaweza kufanya kazi sana, juu sana wadogo bila miundombinu yoyote ile.
Bila fasta miundombinu wowote.
Na tutaweza kuzungumza kidogo kuhusu nini maana sisi kama
kupata kwenye michache ijayo chati.
>> Jambo la kwanza tutaweza kufanya ni tutaweza majadiliano juu ya meza.
Aina ya Dynamo API data.
Na jambo la kwanza utasikia taarifa wakati ukiangalia hiyo,
kama wewe ni ukoo na database yoyote, databaser na kweli mbili aina ya APIs
Ningependa simu yake.
Au makundi mawili ya API.
Mmoja wa wale itakuwa utawala API.
>> Mambo ya utunzaji wa Kazi za database.
Configuring injini kuhifadhi, kuanzisha na kuongeza meza.
kujenga database catalogs na matukio.
Hizi things-- katika DynamoDB, wewe kuwa mfupi sana, orodha fupi.
>> Hivyo katika database nyingine, unaweza kuona kadhaa
ya amri, ya utawala amri, kwa ajili ya Configuring
chaguzi hizo za ziada.
Katika DynamoDB huna haja wale kwa sababu huna configure mfumo, sisi kufanya.
Hivyo kitu pekee unahitaji kufanya ni kuniambia nini ukubwa meza nahitaji.
Ili kupata sana seti mdogo wa amri.
>> Kupata Kujenga meza Mwisho, Meza, Kufuta Meza, na Elezea Meza.
Hayo ni mambo tu unahitaji kwa DynamoDB.
Huna haja ya kuhifadhi injini Configuration.
Sina haja ya kuwa na wasiwasi kuhusu replication.
Sina haja ya kuwa na wasiwasi kuhusu sharding.
>> Sina haja ya kuwa na wasiwasi kuhusu yoyote ya mambo haya.
Sisi kufanya yote kwa ajili yenu.
Hivyo hiyo ni kiasi kikubwa cha uendeshaji kwamba tu lile mbali sahani yako.
Basi tuna waendeshaji CRUD.
CRUD ni kitu gani sisi piga katika orodha hiyo ni
Kujenga, Mwisho, Futa waendeshaji.
Hizi ni kawaida yako shughuli database.
Mambo kama kuweka bidhaa, kupata bidhaa, update vitu, kufuta vitu, kundi swala, Scan.
Kama unataka Scan meza nzima.
Kuvuta kila kitu mbali ya meza.
Moja ya mambo mazuri kuhusu DynamoDB ni inaruhusu sambamba skanning.
Hivyo unaweza kweli napenda kujua ni wangapi nyuzi unataka kukimbia juu ya kwamba Scan.
Na tunaweza kukimbia wale nyuzi.
Tunaweza spin kwamba Scan up hela nyuzi nyingi
hivyo unaweza Scan meza nzima nafasi sana, haraka sana katika DynamoDB.
>> API mengine tuliyonayo ni kile tunachokiita yetu mito API.
Sisi siyo kwenda kuzungumza pia mengi kuhusu hii hivi sasa.
Mimi nimepata baadhi ya maudhui baadaye juu ya staha katika jambo hili.
Lakini mito ni kweli running-- kufikiria kama muda kuamuru
na mabadiliko kuhesabu gogo.
Kila kitu ambacho kinatokea kwenye meza inaonyesha juu ya mkondo.
>> Kila kuwaandikia meza inaonyesha juu ya mkondo.
Unaweza kusoma mkondo huo, na unaweza kufanya mambo kwa hayo.
Tutaweza majadiliano juu ya kile aina ya mambo
kufanya na mambo kama replication, kujenga bahati sekondari.
Kila aina ya kweli ya baridi mambo unaweza kufanya na kwamba.
>> Takwimu aina.
Katika DynamoDB, sisi msaada wote muhimu thamani na hati data aina.
Upande wa kushoto wa screen hapa, sisi tumepewa aina yetu ya msingi.
Ufunguo thamani aina.
Hizi ni masharti, idadi, na binaries.
>> Hivyo aina ya msingi tatu tu.
Na kisha unaweza kuwa na seti ya wale.
Moja ya mambo mazuri kuhusu NoSQL ni unaweza vyenye arrays kama mali.
Na kwa DynamoDB unaweza vyenye arrays ya aina ya msingi kama mali mizizi.
>> Na kisha kuna aina hati.
Jinsi watu wengi ni ukoo na JSON?
Nyie ukoo na JSON sana?
Ni kimsingi JavaScript, Kitu, nukuu.
Ni utapata kimsingi kufafanua muundo wa kihierarkia.
>> Unaweza kuhifadhi JSON hati juu ya DynamoDB kutumia vipengele kawaida
au ujenzi wa vitalu ambayo inapatikana katika lugha zaidi ya programu.
Hivyo kama una Java, uko kuangalia ramani na orodha.
Siwezi kujenga vitu kwamba eneo ramani.
Ramani kama maadili muhimu kuhifadhiwa kama mali.
Na inaweza kuwa na orodha ya maadili ndani ya mali hizo.
Unaweza kuhifadhi tata hii muundo wa kihierarkia
kama sifa moja ya DynamoDB bidhaa.
>> Hivyo meza katika DynamoDB, kama wengi NoSQL databaser, meza na vitu.
Katika MongoDB wewe ungekuwa piga nyaraka hizi.
Na itakuwa kitanda msingi.
Pia hati database.
Wewe piga nyaraka hizi.
Nyaraka au vitu na sifa.
Sifa unaweza kuwepo au haipo juu ya bidhaa.
Katika DynamoDB, kuna moja lazima sifa.
Tu kama katika orodha kimahusiano, una muhimu ya msingi juu ya meza.
>> DynamoDB ina nini sisi kuwaita muhimu hash.
Hash muhimu lazima kipekee.
Hivyo wakati mimi kufafanua meza hash, kimsingi nini mimi kusema
ni kila kitu itakuwa na ufunguo hash.
Na kila ufunguo hash lazima kipekee.
>> Kila kitu inaelezwa na kwamba kipekee hash muhimu.
Na kuna inaweza tu kuwa moja.
Hii ni sawa, lakini mara nyingi nini watu haja
ni wanachotaka ni hash hii ufunguo wa kufanya kidogo zaidi
kuliko tu kuwa kitambulisho kipekee.
Mara nyingi tunataka kutumia ufunguo hash kama ngazi ya juu kuwakusanya ndoo.
Na njia ya sisi kufanya hivyo ni kwa kuongeza kile tunachokiita ufunguo mbalimbali.
>> Hivyo kama ni hash tu meza, hii ni lazima kipekee.
Kama ni hash na mbalimbali meza, mchanganyiko wa hash na mbalimbali
lazima kipekee.
Hivyo kufikiri juu yake kwa njia hii.
Kama mimi na jukwaa.
Na aina ina mada, ina posts, na ina majibu.
>> Hivyo nipate kuwa hash muhimu, ambayo ni mada ID.
Na nipate kuwa muhimu mbalimbali, ambayo ni mwitikio ID.
Kwa njia hiyo kama nataka kupata yote majibu kwa mada fulani,
Naweza tu swala hash.
Siwezi kusema tu nipe zote vitu kwamba kuwa hash hii.
Na mimi nina kwenda kupata kila swali au baada ya mada fulani.
Hizi aggregations ngazi ya juu ni muhimu sana.
Wao kusaidia upatikanaji msingi mfano wa maombi.
Kwa ujumla, hii ni nini tunataka kufanya.
Tunataka kuwa table-- kama wewe mzigo meza,
tunataka kuunda data ndani ya meza kwa namna
kuwa maombi Unaweza sana haraka kupata matokeo hayo.
Na mara nyingi njia ya kufanya hivyo ni kudumisha aggregations hizi kama sisi
kuingiza data.
Kimsingi, sisi ni kueneza data ndani ya ndoo mkali kama anakuja katika.
>> Funguo mbalimbali kuruhusu ME hash funguo kuwa usawa.
Wakati mimi swala hash, mimi kusema nipe hash kwamba ni sawa na hii.
Wakati mimi swala mbalimbali, mimi anaweza kusema nipe mbalimbali
kwamba ni kwa kutumia aina yoyote ya tajiri operator kwamba tunaunga mkono.
Nipe vitu vyote kwa hash.
Je, ni sawa, kubwa kuliko, chini ya, je, ni kuanzia,
je, ni kuwepo kati ya maadili haya mawili?
Hivyo aina hii ya maswali mbalimbali kwamba sisi ni daima nia ya.
Sasa jambo moja kuhusu data, wakati ukiangalia kupata data, wakati
wewe kupata data, ni Daima kuhusu kuwakusanya.
Ni siku zote kuhusu rekodi kuwa ni kuhusiana na hii.
Nipe kila kitu hapa that's-- zote shughuli katika kadi hii mikopo
kwa mwezi uliopita.
Hiyo ni kuwakusanya.
>> Karibu kila kitu wewe kufanya katika Mbegu ni aina fulani ya kuwakusanya.
Hivyo kuwa na uwezo wa kuwa na uwezo wa kufafanua hizi ndoo na kukupa hizi mbalimbali
sifa ya kuwa na uwezo wa swala juu, wale maswali tajiri kusaidia wengi,
wengi, wengi maombi upatikanaji mwelekeo.
>> Kwa hiyo, jambo muhimu hash mengine Je, ni inatupa utaratibu
kuwa na uwezo wa kuenea data kote.
NoSQL databaser kazi bora wakati data ni sawasawa
kusambazwa katika nguzo.
Ni watu wangapi ni ukoo na algorithms hashing?
Wakati mimi kusema hash na hashing-- kwa sababu hashing algorithm
ni njia ya kuwa na uwezo wa kuzalisha thamani random kutoka thamani wowote.
Hivyo katika kesi hii, hash algorithm sisi kukimbia ni ND 5 msingi.
>> Na kama nina kitambulisho, na hii ni hash muhimu yangu, nina 1, 2, 3.
Wakati mimi kukimbia hash algorithm, itakuja kurudi na kusema,
vizuri 1 ni sawa na 7B, 2 sawa 48, 3 sawa na CD.
Wao ni kuenea duniani nafasi muhimu.
Na kwa nini kufanya hivyo?
Kwa sababu hiyo inafanya kuhakikisha kwamba naweza kuweka kumbukumbu katika nodes nyingi.
>> Kama mimi nina kufanya hii kuongezwa, 1, 2, 3.
Na mimi kuwa hash mbalimbali kwamba anaendesha katika kesi hii,
nafasi ndogo hash, anaendesha kutoka 00 kwa FF,
kisha rekodi yatakuja katika na wao ni kwenda 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12.
Nini kinatokea?
Kila kuingiza anaenda nodi moja.
Unaweza kuona nini namaanisha?
>> Kwa sababu wakati mimi kupasuliwa nafasi, nikatandika kumbukumbu hizi hela,
na mimi kuhesabu, mimi nina kwenda kusema kuhesabu 1 ina nafasi muhimu 0-54.
Kuhesabu 2 ni 55-89.
Kuhesabu 3 ni AA kwa FF.
Hivyo kama mimi nina kutumia mstari incrementing Vitambulisho vya, unaweza kuona nini kinatokea.
1, 2, 3, 4, 5, 6, njia yote hadi 54.
Hivyo kama mimi nina hammering Kumbukumbu katika mfumo,
kila kitu kuishia kwenda nodi moja.
>> Hiyo si nzuri.
Hiyo ni antipattern.
Katika MongoDB wana tatizo hili kama huna kutumia ufunguo hash.
MongoDB inakupa fursa ya hashing thamani muhimu.
Unapaswa daima kufanya hivyo, ikiwa unatumia hash incrementing
muhimu katika MongoDB, au wewe utakuwa na nailing kila kuandika kwa nodi moja,
na utakuwa kikwazo kuandika throughput yako vibaya.
>> Watazamaji: Je, hivyo A9 169 katika alisema?
>> RICK Houlihan: Yeah, ni mahali fulani karibu huko.
A9, sijui.
Wewe d na kupata mapacha wangu kwa calculator alisema.
Ubongo wangu haifanyi kazi kama hiyo.
Watazamaji: Tu moja ya haraka ya Mongo maoni yako.
Hivyo ni kitu ambacho huja ID natively na Mongo kufanya hivyo?
RICK Houlihan: Je, ni kufanya hivyo?
Kama wewe taja hayo.
Kwa MongoDB, una fursa.
Unaweza specify-- kila hati katika MongoDB ina kuwa na kusisitiza ID.
Hiyo ni thamani ya kipekee.
>> Katika MongoDB unaweza kutaja kama hash au la.
Wao tu kuwapa fursa.
Kama unajua kwamba ni kubahatisha, hakuna tatizo.
Huna haja ya kufanya hivyo.
Kama unajua kwamba siyo kubahatisha, kwamba ni incrementing, basi kufanya hash.
>> Sasa jambo kuhusu hashing, mara moja hash
a value-- na hii ni kwa nini funguo hash ni daima
maswali ya kipekee, kwa sababu nimekuwa iliyopita thamani, sasa siwezi kufanya swala mbalimbali.
Siwezi kusema ni hii kati ya hiki au kile,
kwa sababu thamani hash si kwenda kuwa sawa na thamani halisi.
Hivyo wakati wewe hash kwamba ufunguo, ni usawa tu.
Hii ni kwa nini katika DynamoDB hash muhimu maswali ni daima usawa tu.
>> Hivyo sasa katika mbalimbali key-- wakati mimi kuongeza kwamba ufunguo mbalimbali,
wale rekodi muhimu mbalimbali wote kuja katika na wao kupata kuhifadhiwa kwenye kuhesabu huo.
Hivyo wao ni haraka sana, kwa urahisi Rudishwa sababu hii ni hash,
hii ni mbalimbali.
Na unaona kila kitu na hash sawa
anapata kuhifadhiwa kwenye kuhesabu nafasi hiyo.
Unaweza kutumia kwamba ufunguo mbalimbali ili kusaidia Machapisho data yako karibu na mzazi wake.
Hivyo je, Mimi kweli kufanya hapa?
Hii ni moja ya uhusiano nyingi.
Uhusiano kati ya ufunguo hash na ufunguo mbalimbali ni moja ya wengi.
Siwezi kuwa na funguo nyingi hash.
Naweza tu kuwa na aina mbalimbali funguo ndani ya kila ufunguo hash.
>> Hash amefafanua mzazi, mbalimbali amefafanua watoto.
Hivyo unaweza kuona kuna Analog hapa kati ya kujenga mahusiano
na moja aina ya anajenga katika NoSQL.
Watu majadiliano juu ya NoSQL kama nonrelational.
Siyo nonrelational.
Takwimu daima ina uhusiano.
Mahusiano hayo tu inatokana kwa njia tofauti.
Hebu majadiliano kidogo kidogo kuhusu uimara.
Wakati kuandika kwa DynamoDB, anaandika ni siku zote njia tatu kuigwa.
Kwa maana ya kuwa tuna tatu AZ ya.
AZ ya watu Upatikanaji Kanda.
Unaweza kufikiria Upatikanaji Eneo la kituo cha data kama
au ukusanyaji wa vituo vya data.
Mambo hayo ni kijiografia pekee kutoka kwa kila mmoja
katika maeneo mbalimbali kosa, hela mbalimbali grids nguvu na mafuriko.
Kushindwa katika moja AZ si kwenda kuchukua chini ya mwingine.
Pia ni wanaohusishwa pamoja na nyuzi giza.
Ni inasaidia ndogo moja 1 millisecond utulivu kati ya AZS.
Hivyo muda halisi data replications uwezo katika AZS mbalimbali.
>> Na mara nyingi mbalimbali AZ deployments kukidhi mahitaji ya juu upatikanaji
ya mashirika mengi ya biashara.
Hivyo DynamoDB ni kuenea hela AZS tatu na msingi.
Tunakwenda tu kwa maarifa kuandika wakati mbili ya wale nodes tatu kurudi
na kusema, Yeah, mimi got it.
Kwanini hivyo?
Kwa sababu upande wa kusoma tuko tu kwenda kukupa nyuma wakati data
sisi kupata kutoka nodes mbili.
>> Kama mimi nina kujinakilisha hela tatu, na mimi nina kusoma kutoka mbili,
Mimi daima ni uhakika kuwa na angalau moja
wale wasomaji kuwa nakala hivi karibuni la data.
Hiyo ni nini inafanya DynamoDB thabiti.
Sasa unaweza kuchagua kurejea wale thabiti wasomaji mbali.
Katika kesi ambayo mimi nina kwenda kusema, Mimi itabidi tu kusoma kutoka nodi moja.
Na siwezi kuthibitisha itakuja kuwa data zaidi sasa.
>> Hivyo kama kuandika anakuja katika, hivyo siyo kuigwa bado,
wewe ni kwenda kupata nakala hiyo.
Hiyo ni kusoma hatimaye thabiti.
Na nini kwamba ni gharama nusu.
Hivyo hii ni kitu cha kufikiria.
Wakati wewe ni kusoma nje DynamoDB, na wewe ni kuanzisha kusoma uwezo wako
vitengo, kama wewe kuchagua hatimaye thabiti wasomaji, ni nafuu sana,
ni karibu nusu ya gharama.
>> Na hivyo anaokoa pesa.
Lakini hiyo ni uchaguzi wako.
Kama unataka kusoma thabiti au kusoma hatimaye thabiti.
Hiyo ni kitu ambacho unaweza kuchagua.
>> Hebu majadiliano juu ya bahati.
Hivyo sisi alieleza kuwa ngazi ya juu kuwakusanya.
Sisi tumepewa funguo hash, na sisi tumepewa funguo mbalimbali.
Hiyo ni nzuri.
Na hiyo ndiyo mezani msingi, mimi got muhimu moja hash, I got muhimu mbalimbali moja.
>> Hiyo ina maana gani?
Mimi nimepata sifa moja kwamba mimi unaweza kukimbia maswali matajiri dhidi ya.
Ni muhimu mbalimbali.
Sifa nyingine ya kuwa item-- Siwezi kuchuja juu ya sifa hizo.
Lakini siwezi kufanya mambo kama, ni huanza na, au ni mkuu kuliko mimi.
>> Je, mimi kufanya hivyo?
Mimi kujenga ripoti.
Kuna aina mbili za bahati katika DynamoDB.
Ripoti ni kweli mtazamo mwingine wa meza.
Na serikali za mitaa ripoti ya sekondari.
>> Wa kwanza tutaweza majadiliano juu.
Secondaries hivyo mitaa coexisted juu ya kuhesabu sawa na data.
Na kama vile, wao ni juu ya sawa kimwili nodi.
Wao ni kile tunachokiita thabiti.
Maana, wao kukiri kuandika pamoja na meza.
Wakati kuandika huja katika, tutaweza kuandika kupitia ripoti.
Tutaweza kuandika hadi meza, na kisha sisi kukiri.
Hivyo hiyo ni thabiti.
Mara baada ya kuandika imekuwa alikubali kutoka meza,
ni uhakika kwamba ndani ripoti ya sekondari
itakuwa na maono sawa ya data.
Lakini nini wao kuruhusu kufanya ni kufafanua funguo mbalimbali mbadala.
>> Una kutumia hash sawa ufunguo kama meza ya msingi,
kwa sababu wao ni ushirikiano ziko juu kuhesabu huo, na wao uko thabiti.
Lakini siwezi kujenga ripoti na funguo mbalimbali tofauti.
Hivyo kwa mfano, kama ningekuwa na watengenezaji kwamba alikuwa na mbichi sehemu meza kuja katika.
Na sehemu mbichi kuja, na re kukusanywa na mkutano.
Na labda kuna kukumbuka.
>> Sehemu yoyote ambayo ilitolewa na huu watengenezaji baada ya tarehe hii,
Mimi haja ya kuvuta kutoka mstari wangu.
Siwezi spin ripoti kwamba itakuwa kuangalia,
kujumlisha katika tarehe ya utengenezaji wa sehemu husika.
Hivyo kama kiwango cha juu yangu meza alikuwa Tayari heshi na mtengenezaji,
labda ilikuwa kupangwa kwenye sehemu kitambulisho, mimi Unaweza kuunda ripoti mbali meza kwamba
kama heshi na mtengenezaji na kilicholengwa juu ya tarehe ya utengenezaji.
Na kwa njia hiyo mimi naweza kusema, kitu chochote ambacho mara viwandani kati ya tarehe hizi,
Mimi haja ya kuvuta kutoka mstari.
Hivyo hiyo ni mtaa ripoti ya sekondari.
>> Hawa wana athari za kikwazo hash yako nafasi muhimu.
Kwa sababu wao ushirikiano kuwepo juu ya huo kuhifadhi nodi,
wao kikomo muhimu hash nafasi ya 10 gigabytes.
DynamoDB, chini ya meza, itakuwa kuigawa
meza yako kila gigabytes 10.
Wakati wewe kuweka gigs 10 ya data katika, sisi kwenda [PHH], na sisi kuongeza nodi mwingine.
>> Sisi si kupasuliwa LSI hela partitions nyingi.
Tutaweza umegawanyika meza.
Lakini sisi si kugawa LSI.
Hivyo hiyo ni kitu muhimu kuelewa
ni kama wewe ni kufanya sana, sana, aggregations kubwa sana,
kisha utaenda kuwa mdogo kwa gigabytes 10 katika LSIs yako.
>> Kama hiyo kesi, tunaweza kutumia secondaries kimataifa.
Global secondaries ni kweli meza nyingine.
Zipo kabisa mbali na upande wa meza yako ya msingi.
Nao naomba kupata muundo tofauti kabisa.
Hivyo kufikiria kama data ni kuwa kuingizwa ndani ya mbao mbili tofauti, muundo
katika njia mbili tofauti.
>> Siwezi kufafanua kabisa tofauti hash muhimu.
Siwezi kufafanua kabisa tofauti mbalimbali muhimu.
Na siwezi kukimbia huu kabisa kujitegemea.
Kama jambo la kweli, nimekuwa provisioned kusoma uwezo wangu
na kuandika uwezo wangu kwa bahati kimataifa sekondari
kabisa kujitegemea ya meza yangu ya msingi.
Kama mimi kufafanua kwamba ripoti, nawaambia ni kiasi gani kusoma na kuandika
uwezo ni kwenda kutumia.
>> Na kwamba ni tofauti kutoka meza yangu ya msingi.
Sasa wote wawili wa bahati kuruhusu sisi si tu kufafanua hash na mbalimbali funguo,
lakini wao kuruhusu sisi mradi maadili ziada.
Hivyo kama nataka kusoma mbali index, na nataka kupata baadhi ya seti ya data,
Sina haja ya kwenda nyuma ya kuu meza ya kupata sifa za ziada.
Siwezi mradi wale ziada sifa katika meza
kusaidia upatikanaji mfano.
Najua sisi ni pengine kuingia katika baadhi kweli, really-- kuingia katika Magugu
hapa juu ya baadhi ya mambo haya.
Sasa mimi got Drift nje ya hii.
>> Watazamaji: [inaudible] --table muhimu maana alikuwa hash?
Awali hash?
Mbalimbali slats?
>> RICK Houlihan: Ndiyo.
Ndiyo.
Ufunguo meza kimsingi anasema nyuma kwa bidhaa.
Hivyo ripoti ni pointer nyuma vitu awali juu ya meza.
Sasa unaweza kuchagua kujenga ripoti kwamba tu ana ufunguo meza,
na hakuna mali nyingine.
Na kwa nini huenda mimi kufanya hivyo?
Naam, labda nina vitu kubwa sana.
>> Mimi kwa kweli tu haja ya kujua which-- upatikanaji mfano wangu anaweza kusema,
ambayo vitu vyenye mali hii?
Hawana haja ya kurudi bidhaa.
Mimi tu haja ya kujua ambayo vitu vyenye yake.
Hivyo unaweza kujenga bahati kwamba tu wana ufunguo meza.
>> Lakini hiyo ni kimsingi nini ripoti katika orodha ni kwa.
Ni kwa kuwa na uwezo wa haraka kubaini ambayo rekodi,
ambayo safu, ambayo vitu katika meza na
mali kwamba mimi nina kwa ajili ya kutafuta.
>> GSIs, hivyo ni jinsi gani kazi?
GSIs kimsingi ni Asynchronous.
Update anakuja katika meza, meza ni kisha asynchronously updated
wote wa GSIs yako.
Hii ni kwa nini GSIs ni Hatimaye thabiti.
>> Ni muhimu kutambua kwamba wakati wewe ni kujenga GSIs,
na wewe kuelewa wewe ni kujenga mwingine mwelekeo wa aggregation--
sasa hebu sema mfano mzuri hapa ni watengenezaji.
Nadhani anaweza kuwa kuongelea kifaa cha matibabu watengenezaji.
Wazalishaji kifaa cha matibabu mara nyingi na sehemu serialized.
Sehemu ambayo kwenda katika badala hip zote
kuwa kidogo idadi Serial juu yao.
Na wangeweza na mamilioni na mamilioni na mabilioni ya sehemu
katika vifaa vyote walivyo meli.
Vizuri, wanahitaji jumla ya mabao chini ya vipimo mbalimbali, maeneo yote
katika mkutano, kila sehemu ambayo yalifanywa
kwenye mstari fulani, kila sehemu waliokuja
katika kutoka kwa watengenezaji fulani juu ya tarehe fulani.
Na aggregations hizi wakati mwingine kuamka katika mabilioni.
>> Hivyo mimi kazi na baadhi ya hizi watu ambao ni mateso
kwa sababu wao ni kujenga aggregations haya ginormous
katika bahati zao za sekondari.
Wapate kuwa sehemu mbichi meza kwamba anakuja kama hash tu.
Kila sehemu ina kipekee Serial idadi.
Mimi kutumia idadi Serial kama hash.
Ni nzuri.
Data My mbichi meza ni kuenea wote katika nafasi muhimu.
My [? kuandika?] [? kumeza?] ni wa kushangaza.
Mimi kuchukua mengi ya data.
Kisha wanachokifanya ni wao kujenga GSI.
Na mimi kusema, unajua nini, mimi wanahitaji kuona sehemu zote kwa watengenezaji huu.
Naam, kwa ghafla mimi nina kuchukua bilioni safu,
na mambo yao kwenye nodi moja, kwa sababu wakati
Mimi kama jumla ya mabao watengenezaji ID kama hash,
na sehemu ya simu kama mbalimbali, kisha kwa ghafla mimi nina
kuweka bilioni sehemu katika kile watengenezaji huu ina mikononi kwangu.
>> Ambazo zinaweza kusababisha mengi ya shinikizo juu ya GSI,
tena, kwa sababu mimi nina hammering nodi moja.
Mimi nina kuweka haya yote kuwekeza katika nodi moja.
Na hiyo ndiyo halisi ni tatizo matumizi ya kesi.
Sasa, I got mpango mzuri mfano kwa jinsi gani kuepuka hilo.
Na hiyo ni moja ya matatizo kwamba mimi daima kazi pamoja.
Lakini nini kinatokea, ni GSI inaweza si kuwa na kuandika kutosha uwezo
kuwa na uwezo wa kushinikiza wale wote safu katika nodi moja.
Na kile kinachotokea basi ni msingi, meza ya mteja,
meza ya msingi itakuwa kabwa kwa sababu GSI hawezi kuweka juu.
Hivyo kiwango cha yangu kuingiza mapenzi kuanguka juu ya meza msingi
kama GSI yangu anajaribu kuweka juu.
>> Haki wote, hivyo GSI wa, LSI wa, ambayo mtu anatakiwa mimi kutumia?
LSI ya ni thabiti.
GSI ya watu hatimaye thabiti.
Kama hiyo ni sawa, mimi kupendekeza kutumia GSI, wao uko rahisi zaidi.
LSI inaweza kuwa inatokana kama GSI.
Na kama kawaida data per funguo hash katika ukusanyaji yako kuzidi 10 gigabytes,
basi wewe ni kwenda kutaka kutumia kwamba GSI kwa sababu ni tu kikomo kwa bidii.
>> Haki wote, hivyo kuongeza.
Throughput katika Dynamo DB, wewe can utoaji [inaudible]
throughput kwa meza.
Sisi wateja ambazo zina provisioned 60 billion--
wanafanya maombi bilioni 60, mara kwa mara mbio katika zaidi ya milioni maombi
kwa pili juu ya meza yetu.
Kuna kweli hakuna kikomo kinadharia kwa kiasi gani
na jinsi ya kufunga meza wanaweza kukimbia katika Dynamo DB.
Kuna baadhi ya laini mipaka juu ya akaunti yako
kwamba sisi kuweka katika huko ili kwamba huna kwenda mambo.
Kama unataka zaidi ya kwamba, si tatizo.
Wewe kuja kutuambia.
Tutaweza kurejea kwenye piga.
>> Kila akaunti ni mdogo kwa baadhi ya kiwango katika kila huduma, tu mbali bat
hivyo watu hawana kwenda mambo kupata wenyewe katika matatizo.
Hakuna kikomo kwa ukubwa.
Unaweza kuweka idadi yoyote ya vitu kwenye meza.
Ukubwa wa bidhaa ni mdogo kwa 400 kilobytes kila,
hiyo inaweza kuwa bidhaa si sifa.
Hivyo kiasi cha sifa zote ni mdogo kwa 400 kilobytes.
Na kisha tena, tuna kuwa kidogo LSI suala
na 10 gigabyte kikomo kwa hash.
Watazamaji: idadi ndogo, mimi kukosa nini wewe kuniambia, kwamba is--
Watazamaji: Oh, 400 kilobaiti ni kiwango cha juu kabisa kwa kila kitu.
Hivyo bidhaa ina sifa zote.
Hivyo 400 k ni ukubwa jumla ya bidhaa kwamba, 400 kilobytes.
Hivyo sifa zote za pamoja, takwimu zote
hiyo ni katika wale sifa zote, zitakunjwa katika ukubwa jumla,
sasa leo bidhaa kikomo ni 400 k.
Hivyo kuongeza tena, mafanikio kupitia partitioning.
Throughput ni provisioned katika ngazi ya meza.
Na kuna kweli knobs mbili.
Tumesoma uwezo na kuandika uwezo.
>> Basi hizi ni kubadilishwa kujitegemea ya kila mmoja.
Hatua RCU ya madhubuti sambamba anasoma.
Sawa, hivyo kama wewe ni kusema nataka 1000 RCU ya wale ni madhubuti thabiti,
wale ni wasomaji thabiti.
Kama umesema nataka hatimaye thabiti wasomaji,
unaweza utoaji 1000 RCU wa, wewe ni kwenda
kupata 2,000 hatimaye thabiti anasoma.
Na nusu ya bei kwa wale Hatimaye wajumbe katika anasoma.
>> Tena, kubadilishwa kujitegemea ya kila mmoja.
Na wao wana throughput-- Kama wewe hutumia 100% ya RCU yako,
wewe si kwenda na athari upatikanaji wa haki zako.
Hivyo wao ni kabisa uhuru wa kila mmoja.
Haki wote, hivyo moja ya mambo ambayo Nilivyoeleza kwa kifupi ilikuwa throttling.
Throttling ni mbaya.
Throttling inaonyesha mbaya hakuna SQL.
Kuna mambo tunaweza kufanya ili kusaidia wewe kupunguza throttling kwamba
ni zinaendelea.
Lakini ufumbuzi bora na hili ni hebu kuchukua
a kuangalia nini unafanya, kwa sababu kuna kupambana na mfano katika kucheza hapa.
>> Mambo haya, mambo kama yasiyo ya sare mzigo, funguo moto, partitions moto.
Mimi kupiga fulani nafasi muhimu ngumu sana kwa sababu fulani fulani.
Kwa nini mimi kufanya hili?
Hebu kufikiri kuwa nje.
Mimi kuchanganya data zangu moto na data baridi.
Mimi kuruhusu meza yangu kupata kubwa, lakini kuna kweli
tu baadhi subset ya data hiyo ni kweli kuvutia kwangu.
Hivyo kwa data gogo, kwa mfano, mengi ya wateja, wao kupata kuingia data kila siku.
Wao got kiasi kikubwa cha data gogo.
>> Kama wewe ni utupaji tu gogo kwamba wote data katika moja kubwa meza, baada ya muda
meza ambayo inaenda kupata mkubwa.
Lakini mimi nina kweli nia tu katika masaa 24 iliyopita, mwisho wa siku saba,
siku 30 zilizopita.
Chochote dirisha la muda kwamba mimi nina nia ya kuangalia
kwa tukio hilo kuwa ananisumbua, au tukio hilo kuwa jambo la kushangaza kwangu,
hiyo ni tu dirisha wakati huo nahitaji.
Hivyo kwa nini mimi kuweka miaka 10 thamani ya gogo data katika meza?
Nini kinachosababisha ni meza kipande.
>> Anapata kubwa.
Ni kuanza kueneza hela maelfu ya nodes.
Na kwa kuwa uwezo wako ni hivyo chini, uko
kweli kiwango kikwazo juu ya kila moja ya nodes wale binafsi.
Basi hebu kuanza kuangalia jinsi kufanya sisi unaendelea meza kwamba zaidi.
Je, sisi kusimamia data kwamba kidogo bora kuepuka matatizo haya.
Na nini ili kuangalia kama?
Hii ni nini kwamba inaonekana kama.
Hii ni nini mbaya NoSQL inaonekana kama.
>> I got muhimu moto hapa.
Kama ukiangalia kwa upande hapa, hizi ni partitions yangu yote.
I got partitions 16 hapa kwenye orodha hii tu.
Sisi kufanya hivyo wakati wote.
Mimi kukimbia hii kwa wateja wakati wote.
Ni wito ramani joto.
Joto ramani anasema mimi jinsi uko kupata nafasi yako muhimu.
Na nini hii ni kuwaambia mimi ni kwamba kuna mtu fulani hash
kwamba guy hii anapenda kubwa sana, kwa sababu yeye ni
kupiga ni kweli, ngumu kweli kweli.
>> Hivyo bluu ni nzuri.
Tunapenda bluu.
Sisi si kama nyekundu.
Red ambako shinikizo anapata hadi 100%.
100%, sasa wewe ni kwenda kuwa kabwa.
Hivyo wakati wowote unaweza kuona mistari yoyote nyekundu kama Haya na siyo tu Dynamo DB--
kila database NoSQL ina tatizo hili.
Kuna kupambana na mwelekeo kwamba wanaweza gari aina hii ya hali ya.
Nini mimi ni mimi kazi na wateja kupunguza masharti hayo.
>> Na nini ili kuangalia kama?
Na hii ni kupata zaidi nje ya Dynamo DB throughput,
lakini ni kweli kupata zaidi nje ya NoSQL.
Hii si vikwazo kwa Dynamo.
Hii ni definitely-- mimi nafanya kazi katika Mongo.
Mimi nina mazoea na majukwaa mengi NoSQL.
Kila mmoja ana aina hii matatizo moto muhimu.
Ili kupata zaidi nje ya yoyote NoSQL Mbegu, hasa Dynamo DB,
unataka kujenga meza ambapo hash muhimu kipengele ina
idadi kubwa ya maadili tofauti, shahada ya juu ya cardinality.
Kwa sababu hiyo ina maana mimi nina kuandika kwa kura ya ndoo tofauti.
>> Ndoo zaidi mimi nina kuandika, zaidi ya uwezekano
Mimi ni kueneza kwamba kuandika mzigo au kusoma mzigo nje hela nodes nyingi,
zaidi Mimi ni kuwa na throughput ya juu juu ya meza.
Na kisha nataka maadili kuwa aliomba haki sawasawa baada ya muda
na usawa kama nasibu iwezekanavyo.
Naam, hiyo ni aina ya kuvutia, kwa sababu siwezi kweli
kudhibiti wakati watumiaji kuja.
Hivyo inatosha kusema, kama sisi kuenea mambo ya nje katika nafasi muhimu,
tutaweza pengine kuwa katika umbo bora.
>> Kuna baadhi ya kiasi cha utoaji wa muda
kwamba wewe si kwenda kuweza kudhibiti.
Lakini hayo ni kweli vipimo mbili kwamba tuna,
nafasi, upatikanaji sawasawa kuenea, wakati, maombi
alipofika sawasawa spaced kwa wakati.
Na kama hayo mawili hali ni kuwa alikutana,
basi hiyo ni nini ni kwenda kuangalia kama.
Hii ni nicer.
Sisi ni kweli na furaha hapa.
Sisi tumepewa hata sana upatikanaji mfano.
Naam, labda wewe ni kupata shinikizo kidogo kila sasa na kisha,
lakini hakuna kitu kweli pia kina.
Hivyo ni ajabu mara ngapi, wakati mimi kazi na wateja,
kwamba graph kwanza na nyekundu kubwa bar na vitu vyote mbaya njano ni
kila mahali, sisi kupata kufanyika kwa zoezi
baada ya miezi michache ya re-usanifu,
wao ni mbio exact mzigo wa kazi katika halisi mzigo huo.
Na hii ni nini ni kuangalia kama sasa.
Hivyo nini kupata na NoSQL ni data schema kwamba ni kabisa
amefungwa kwa upatikanaji mfano.
>> Na unaweza kuongeza takwimu ambazo schema kuunga mkono kwamba upatikanaji mfano.
Kama huna, basi wewe ni kwenda kuona wale aina ya matatizo
na funguo wale moto.
>> Watazamaji: Naam, inevitably baadhi ya maeneo ni kwenda kuwa moto zaidi kuliko wengine.
>> RICK Houlihan: Daima.
Daima.
Yeah, I mean kuna siku zote a-- na tena, kuna
baadhi kubuni mifumo tutaweza kupata njia kwamba majadiliano kuhusu jinsi ya kukabiliana
na haya aggregations super kubwa.
I mean, I got kuwa nao, jinsi gani sisi kukabiliana na changamoto hizo?
I got nzuri matumizi ya kesi kwamba tutaweza majadiliano juu ya jambo hilo.
>> Haki wote, hivyo hebu majadiliano kuhusu baadhi ya wateja sasa.
Haya guys ni AdRoll.
Sijui kama wewe ni ukoo na AdRoll.
Pengine kuwaona mengi juu ya browser.
Wao ni tangazo re-kulenga, wao uko tangazo re-kulenga biashara kubwa
huko nje.
Wao kwa kawaida mara kwa mara kukimbia juu Shughuli bilioni 60 kwa siku.
Re kufanya zaidi ya milioni shughuli kwa pili.
Wao nimepata meza pretty rahisi muundo, meza shughuli nyingi zaidi.
Ni kimsingi tu hash muhimu ni cookie,
mbalimbali ni idadi ya watu jamii, na kisha
Sifa ya tatu ni alama.
>> Hivyo sisi sote tuna cookies katika kisakuzi wetu kutoka guys haya.
Na wakati wa kwenda mfanyabiashara kushiriki,
wao kimsingi alama wewe hela idadi ya watu makundi mbalimbali.
Baada ya kwenda kwa tovuti na unasema nataka kuona ad-- hii
au kimsingi huna kusema that-- lakini wakati kwenda kwenye tovuti
wanasema wanataka kuona tangazo hili.
Na wao kwenda kupata kwamba tangazo kutoka AdRoll.
AdRoll inaonekana wewe juu ya meza zao.
Wao kupata cookie yako.
Matangazo kuwaambia yao, nataka mtu
ambaye ni makamo, Mtu 40 umri wa miaka, katika michezo.
Nao alama wewe katika idadi ya watu wale na wao kuamua kama au
hiyo ni tangazo nzuri kwa ajili yenu.
>> Sasa wana SLA kwa watoa matangazo yao
kutoa ndogo 10 millisecond majibu juu ya kila ombi moja.
Hivyo wao ni kutumia Dynamo DB kwa hili.
Wao ni kupiga sisi milioni maombi kwa pili.
Wao ni uwezo wa kufanya yote wao lookups, triage data kwamba wote,
na kupata kwamba kuongeza kiungo nyuma na kwamba watangazaji katika chini ya 10 milliseconds.
Ni kweli pretty phenomenal utekelezaji waliyo nayo.
>> Haya guys actually-- ni haya guys.
Sina hakika kama ni guys haya.
Inaweza kuwa guys haya.
Kimsingi aliiambia us-- hapana, mimi sidhani ilikuwa yao.
Nadhani ilikuwa ni mtu mwingine.
Nilikuwa kazi na mteja kwamba aliniambia
kwamba sasa kwamba wameweza wamekwenda Dynamo DB, wao uko
matumizi ya fedha zaidi juu ya vitafunio kwa maendeleo ya timu yao kila mwezi
kuliko wao kutumia katika orodha yao.
Hivyo nitakupa wazo la gharama za akiba
uweze kupata katika Dynamo DB ni kubwa.
Haki wote, dropcam ni kampuni nyingine.
Hizi guy aina of-- kama unadhani ya biashara ya mambo, dropcam
kimsingi ni usalama wa internet video.
Kuweka kamera yako huko nje.
Kamera ina detector mwendo.
Mtu huja pamoja, kuchochea cue uhakika.
Kamera kuanza kurekodi kwa muda mpaka haina kuchunguza mwendo yoyote tena.
Unaweka kwamba video juu ya biashara ya.
>> Dropcam ilikuwa kampuni hiyo ni kimsingi switched Dynamo DB
kwa sababu wao walikuwa wakikabiliwa kubwa kuongezeka maumivu.
Na nini walituambia, ghafla petabytes ya data.
Hawakuwa na wazo huduma zao itakuwa hivyo mafanikio.
Zaidi inbound video ya YouTube ni nini hawa guys ni kupata.
Wao kutumia DynamoDB kufuatilia yote metadata wote pointi zao video muhimu.
>> Hivyo kuwa na S3 ndoo wao kushinikiza zote mapacha mabaki katika.
Na kisha wana Rekodi Dynamo DB kwamba
kuwaelekeza watu kwa vitu wale S3 tatu.
Wakati wao haja ya kuangalia video, wao kuangalia juu rekodi katika Dynamo DB.
Wao bonyeza kiungo.
Wao kubomoa video kutoka S3.
Hivyo hiyo ni aina ya nini hii inaonekana kama.
Na hii ni moja kwa moja kutoka timu yao.
>> Dynamo DB inapunguza yao wakati wa kujifungua kwa matukio video
kutoka sekunde tano hadi 10.
Katika miaka yao kimahusiano kuhifadhi, walitumia una kwenda na kutekeleza
maswali mbalimbali tata kwa takwimu nje ambayo video kubomoa,
kwa chini ya 50 milliseconds.
Hivyo ni ajabu, ajabu utendaji ni kiasi gani
unaweza kupata wakati kuongeza na tune orodha ya msingi
kusaidia upatikanaji mfano.
Halfbrick, haya guys, ni nini, Matunda Ninja mimi nadhani ni jambo wao.
Hiyo anaendesha yote juu ya Dynamo DB.
Na guys haya, ni kubwa sana timu ya maendeleo, maendeleo makubwa
duka.
>> Si nzuri ops timu.
Hawakuwa na mengi ya rasilimali operesheni.
Walikuwa wanajitahidi kujaribu kuweka maombi miundombinu yao juu
na kukimbia.
Walikuja kwetu.
Wao inaonekana katika kwamba Dynamo DB.
Walisema, hiyo ni kwa ajili yetu.
Wao kujengwa zima zao maombi ya mfumo juu yake.
Baadhi ya maoni kwa kweli ni nzuri hapa kutoka kwa timu juu ya uwezo wao
kwa sasa italenga katika kujenga mchezo na si
kuwa na kudumisha miundombinu, ambayo
ilikuwa kuwa kiasi kikubwa ya uendeshaji kwa timu yao.
Hivyo hii ni kitu that-- kufaidika kwamba kupata kutoka Dynamo DB.
>> Haki wote, kuingia katika data modeling hapa.
Na sisi aliyesema kidogo kuhusu hii moja kwa moja, moja kwa wengi,
na wengi kwa mahusiano ya aina nyingi.
Na jinsi gani unaweza kudumisha wale walio katika Dynamo.
Katika Dynamo DB tunatumia bahati, kwa ujumla kuzungumza,
na mzunguko wa data kutoka ladha mmoja hadi mwingine.
Funguo hash, funguo mbalimbali, na bahati.
>> Katika hii hasa mfano, kama nchi nyingi
una mahitaji ya leseni kwamba tu leseni ya dereva mmoja kwa kila mtu.
Huwezi kwenda kupata mbili ya dereva leseni katika jimbo la Boston.
Siwezi kufanya hivyo katika Texas.
Hiyo ni aina ya njia ni.
Na hivyo katika DMV, tuna lookups, sisi wanataka kuangalia juu leseni ya dereva
na usalama wa jamii idadi.
Nataka kuangalia maelezo ya mtumiaji up na leseni ya dereva idadi.
>> Hivyo tuwe na mtumiaji meza kwamba ina hash muhimu juu ya idadi Serial,
au usalama wa jamii idadi, na sifa mbalimbali inavyoelezwa kwenye kipengele.
Sasa juu ya meza mimi aliweza kuainisha GSI kwamba
flips kwamba suala hilo anasema nataka hash muhimu juu ya leseni na kisha
vitu vingine vyote.
Sasa kama nataka swala na kupata leseni namba kwa wowote wa Jamii
Usalama idadi, siwezi swala kuu meza.
>> Kama mimi nataka swala na nataka kupata usalama wa jamii
idadi au sifa nyingine na leseni namba, siwezi swala GSI.
Mfano kwamba ni kwamba moja kwa uhusiano moja.
Tu GSI rahisi sana, flip mambo hayo karibu.
Sasa, majadiliano juu ya moja kwa wengi.
Moja kwa wengi kimsingi hash mbalimbali muhimu yako.
Ambapo sisi kupata mengi na hii matumizi ya kesi ni kufuatilia data.
Kufuatilia data huja katika mara kwa mara muda, kama biashara ya mambo.
Sisi daima kupata haya yote Kumbukumbu kuja katika wakati wote.
>> Na nataka kupata masomo yote kati ya kipindi cha muda fulani.
Ni swala la kawaida sana katika miundombinu ya ufuatiliaji.
Njia ya kwenda juu ya hilo ni kupata muundo rahisi meza, meza moja.
Mimi nimepata vipimo kifaa meza na hash muhimu kwenye kifaa ID.
Na mimi kuwa na aina muhimu kwenye timestamp, au katika kesi hiyo, Epic.
Na kwamba inaruhusu mimi nitafanya tata maswali dhidi kuwa suala muhimu mbalimbali
na kurudi kumbukumbu hizo kwamba ni jamaa na matokeo
kuweka kwamba mimi nina kuangalia kwa.
Na hujenga kwamba moja kwa uhusiano wengi
ndani ya meza ya msingi kwa kutumia hash muhimu, mbalimbali ya muundo muhimu.
>> Hivyo hiyo ni aina ya kujengwa ndani ya meza katika Dynamo DB.
Wakati mimi kufafanua hash na mbalimbali t meza, mimi nina
kufafanua moja kwa uhusiano wengi.
Ni uhusiano wa mzazi na mtoto.
>> Hebu majadiliano juu ya wengi kwa mahusiano mengi.
Na kwa mfano fulani, tena, tunakwenda kutumia GSI ya.
Na hebu majadiliano juu ya michezo ya kubahatisha mazingira ambapo nina mtumiaji fulani.
Nataka kujua michezo yote yeye kusajiliwa kwa au kucheza katika.
Na kwa mchezo huo, mimi wanataka kupata watumiaji wote.
Hivyo ni jinsi gani mimi kufanya hivyo?
Yangu michezo mtumiaji meza, mimi nina kwenda kuwa na hash muhimu ya mtumiaji ID
na mbalimbali muhimu ya mchezo.
>> Hivyo mtumiaji anaweza kuwa na michezo mbalimbali.
Ni moja kwa uhusiano kati ya wengi user na michezo yeye anacheza.
Na kisha juu ya GSI, Mimi itabidi flip kwamba karibu.
Mimi itabidi hash juu ya mchezo na Mimi itabidi mbalimbali juu ya mtumiaji.
Hivyo kama nataka kupata zote mchezo mtumiaji kucheza katika,
Mimi itabidi swala meza kuu.
Kama nataka kupata watumiaji wote kwamba wanacheza mchezo fulani,
Mimi swala GSI.
Hivyo unaweza kuona jinsi sisi kufanya hivyo?
Kujenga hizi GSI ya kusaidia matumizi ya kesi, maombi, upatikanaji
mfano, maombi.
>> Kama mimi haja ya swala juu ya mwelekeo huu, hebu
mimi kuunda ripoti juu ya kwamba mwelekeo.
Kama sifanyi, Sijali.
Na kutegemea kesi ya matumizi, mimi kuhitaji ripoti au nipate si.
Kama ni moja rahisi wengi, meza kuu ni faini.
Kama mimi haja ya kufanya mingi ya wengi, au mimi haja ya kufanya moja na wale,
basi labda sijui haja kwa pili ripoti.
Kwa yote inategemea juu ya nini mimi kujaribu kufanya
na nini mimi kujaribu kupata yametimia.
>> Pengine mimi si kwenda kutumia pia muda mwingi kuzungumza juu ya hati.
Hii anapata kidogo, pengine, zaidi kuliko tunahitaji kwenda katika.
Hebu majadiliano kidogo kuhusu tajiri swala kujieleza.
Hivyo katika Dynamo DB tuna uwezo wa kujenga
kile tunachokiita maneno makadirio.
Maneno makadirio ni tu kuokota mashamba au maadili
kwamba unataka kuonyesha.
OK, hivyo mimi kufanya uteuzi.
Mimi kufanya swala dhidi ya Dynamo DB.
Na mimi kusema, unajua nini, show mimi tu kitaalam nyota tano
kwa bidhaa fulani.
Hivyo hiyo ni yote nataka kuona.
Sitaki kuona yote sifa nyingine ya mstari,
Mimi nataka tu kuona hii.
Ni kama tu katika SQL wakati kusema kuchagua nyota au kutoka meza,
kupata kila kitu.
Wakati mimi kusema kuchagua jina kutoka meza, mimi tu kupata sifa moja.
Ni aina hiyo ya kitu katika Dynamo DB au databaser nyingine NoSQL.
Kuchuja maneno naomba kimsingi kukata matokeo kuketi.
Hivyo mimi kufanya swala.
Swala wapate kurejea tena kwa vitu 500.
Lakini mimi tu wanataka vitu kuwa na sifa kwamba anasema hii.
Sawa, hivyo hebu kuchuja vitu hivyo kwamba si mechi kwamba swala fulani.
Hivyo tuna maneno filter.
>> Kuchuja maneno Unaweza kuwa na kukimbia juu ya sifa yoyote.
Wao siyo kama maswali mbalimbali.
Kuongeza maswali ni kuchagua zaidi.
Maswali kuchuja zinahitaji niende kupata matokeo nzima kuweka na kisha
kuchonga nje data Sitaki.
Nini hilo ni muhimu?
Kwa sababu mimi kusoma yote.
Katika swala, mimi nina kwenda kusoma na ni kwenda kuwa kubwa kuhusu data.
Na kisha mimi nina kwenda kwa kuchonga nje kile haja.
Na kama mimi nina tu kuchora nje michache ya safu, basi hiyo ni sawa.
Siyo ufanisi.
>> Lakini kama mimi nina kusoma rundo zima la data, tu kuchonga nje bidhaa moja,
basi mimi nina kwenda kuwa bora mbali kwa kutumia swala mbalimbali,
kwa sababu ni mengi zaidi kuwachagua.
Ni kwenda kuokoa yangu mengi ya fedha, kwa sababu mimi kulipa kwa kuwa kusoma.
Ambapo matokeo ya kuwa anakuja nyuma kuvuka kwamba waya inaweza kuwa ndogo,
lakini mimi nina kulipa kwa kusoma.
Hivyo kuelewa jinsi wewe ni kupata data.
Hiyo ni muhimu sana katika Dynamo DB.
>> Maneno masharti, hii ni nini unaweza wito matumaini locking.
Mwisho IF lipo, au kama thamani hii ni sawa na kile bayana.
Na kama nina muda wa stempu kwenye rekodi, nipate kusoma data.
Nipate mabadiliko ya data hiyo.
Nipate kwenda kuandika kwamba data ya nyuma na database.
Kama mtu imebadilika rekodi, timestamp inaweza kuwa iliyopita.
Na kwa njia hiyo zangu masharti update naweza kusema update
kama timestamp sawa na hii.
Au update kushindwa kwa sababu mtu updated rekodi katika huo huo.
>> Hiyo ni nini sisi kuwaita matumaini locking.
Ina maana kwamba mtu wanaweza kuja katika na mabadiliko hayo,
na mimi nina kwenda kuchunguza hayo wakati mimi kurejea kuandika.
Na kisha mimi kweli anaweza kusoma kwamba data na kusema, loo, yeye iliyopita hii.
Mimi haja ya akaunti kwa ajili ya jambo hilo.
Na siwezi kubadili data katika wangu kurekodi na kuomba sasisho mwingine.
Hivyo unaweza kupata wale Unaozidi updates kutokea kati ya wakati
kwamba kusoma data na muda unaweza kuandika data.
>> Watazamaji: Na filter kujieleza kwa kweli ina maana si
katika idadi au not--
>> [INTERPOSING SAUTI]
RICK Houlihan: sipendi kupata sana katika hili.
Hii ni keyword zimehifadhiwa.
Chupa mtazamo ni akiba Keyword katika Dynamo DB.
Kila database ina yake mwenyewe zimehifadhiwa majina ya makusanyo huwezi kutumia.
Dynamo DB, kama wewe taja chupa mbele ya hii,
unaweza kufafanua majina hayo hadi hapo juu.
Hii ni thamani inatazamwa.
Ni pengine si syntax bora kwa kuwa hadi pale kwa mjadala huu,
kwa sababu anapata katika baadhi real-- Napenda wamekuwa wakizungumza zaidi
juu ya hilo kwa undani zaidi.
>> Lakini inatosha kusema, hii inaweza kuwa swala Scan ambako views--
wala paundi maoni ni mkubwa kuliko 10.
Ni thamani ya namba, ndiyo.
Kama unataka, tunaweza kuongea kuhusu kwamba baada ya majadiliano.
Haki wote, hivyo sisi ni kuingia katika baadhi ya matukio katika njia bora
ambapo sisi ni kwenda kuzungumza kuhusu baadhi ya programu hapa.
Je, ni kesi kwa Dynamo DB matumizi.
Je, ni kubuni mwelekeo katika Dynamo DB.
>> Na moja ya kwanza tunakwenda majadiliano juu ni biashara ya mambo.
Hivyo sisi kupata mengi of-- mimi nadhani, ni nini it-- zaidi ya 50%
ya trafiki kwenye mtandao siku hizi ni kweli yanayotokana na mashine,
michakato automatiska, si na wanadamu.
I mean jambo hili jambo hili kwamba wewe kubeba kuzunguka katika mfuko wako,
ni kiasi gani data kuwa kwamba jambo ni kweli kutuma kuzunguka bila wewe
kujua ni ajabu kabisa.
Eneo lako, maelezo kuhusu jinsi ya kufunga wewe ni kwenda.
Je unafikiri Google Maps kazi wakati wao kukuambia nini trafiki ni.
Ni kwa sababu kuna mamilioni na mamilioni ya watu kuendesha gari karibu
kwa simu kwamba ni kutuma data kila mahali wakati wote.
Hivyo moja ya mambo kuhusu aina hii ya data
kwamba anakuja katika, kufuatilia data, kuingia data, data mfululizo wakati, ni ni
Kwa kawaida kuvutia tu kwa muda kidogo.
Baada ya muda huo, ni si hivyo kuvutia.
Hivyo kuongelea, si lazima meza wale kukua bila mipaka.
Wazo hapa ni kwamba labda mimi nimepata 24 masaa ya thamani ya matukio katika meza yangu moto.
Na kwamba meza moto ni kwenda kuwa provisioned kwa kiwango cha juu sana,
kwa sababu ni kuchukua mengi ya data.
Ni kuchukua mengi ya data katika na mimi nina kusoma ni mengi.
Mimi nimepata mengi ya uendeshaji maswali mbio dhidi ya data hizo.
>> Baada ya masaa 24, hey, wewe kujua nini, sijali.
Hivyo labda kila usiku wa manane mimi roll meza yangu juu ya meza mpya
na mimi deprovision meza hii.
Na mimi itabidi kuchukua RCU na Masaa WCU ya chini kwa sababu 24 baadaye
Mimi si mbio kama wengi maswali dhidi data hizo.
Hivyo nina kwenda kuokoa fedha.
Na labda siku 30 baadaye mimi si hata haja ya huduma kuhusu hayo yote.
Mimi naweza kuchukua WCU ya njia yote chini ya moja,
kwa sababu unajua nini, ni kamwe kwenda kupata kuandikwa kwa.
Data ni umri wa siku 30.
Ni kamwe mabadiliko.
>> Na ni karibu kamwe kwenda kupata kusoma, hivyo hebu tu kuchukua kwamba RCU chini ya 10.
Na mimi nina kuokoa tani ya fedha juu ya hili data, na tu kulipa kwa ajili ya data zangu moto.
Hivyo hiyo ni jambo muhimu kwa kuangalia katika wakati ukiangalia mfululizo wakati
data akija kwa kiasi.
Hizi ni mikakati.
Sasa, mimi naweza tu basi ni wote kwenda meza moja
na tu basi meza kwamba kukua.
Hatimaye, Mimi nina kwenda ona masuala ya utendaji.
Mimi nina kwenda kuanza archive baadhi ya kwamba data mbali meza,
kile si.
>> Hebu bora zaidi kubuni maombi yako
ili uweze kufanya kazi kwa njia hii haki.
Hivyo ni tu moja kwa moja katika maombi kificho.
Usiku wa manane kila usiku Rolls meza.
Labda kile haja ni sliding dirisha la masaa 24 ya data.
Kisha mara kwa mara mimi nina wito data mbali ya meza.
Mimi trimming kwa Cron na mimi nina kuweka ni
kwenye mbao hizo mengine, chochote unahitaji.
Hivyo kama rollover kazi, hiyo ni kubwa.
Kama siyo, trim yake.
Lakini hebu kuendelea kuwa data moto mbali na data baridi yako.
Ni itabidi kuokoa fedha nyingi na kufanya meza yako zaidi maonyesho.
Hivyo jambo la pili tutaweza majadiliano kuhusu ni bidhaa catalog.
Bidhaa catalog ni matumizi pretty kawaida kesi.
Hii ni kweli mfano kawaida sana kwamba tutaweza kuona katika vitu mbalimbali.
Unajua, Twitter kwa mfano, tweet moto.
Kila mtu kuja na grabbing kwamba tweet.
Bidhaa catalog, I got kuuza.
I got kuuza moto.
I got 70,000 maombi kwa kuja mara ya pili kwa bidhaa
maelezo kutoka katika bidhaa yangu catalog.
Tunaona hii juu ya rejareja operesheni kidogo kabisa.
Hivyo ni jinsi gani sisi kukabiliana na kwamba?
Hakuna njia ya kukabiliana na kwamba.
Watumiaji wangu wote wanataka kuona kipande kimoja cha data.
Re ni kuja katika, Sanjari.
Na wao ni wote kufanya maombi kwa kipande kimoja cha data.
Hii inanipa kwamba moto muhimu ili nyekundu kubwa mstari kwenye chati yangu kwamba sisi si kama.
Na kwamba ni nini kwamba inaonekana kama.
Hivyo katika nafasi yangu muhimu mimi nina kupata hammered katika vitu kuuza.
Mimi nina kupata kitu mahali popote.
>> Je, mimi kuondokana na tatizo hili?
Naam, sisi kupunguza huu kwa cache.
Cache, kuweka kimsingi katika-kumbukumbu kuhesabu mbele ya database.
Tumeweza [Inaudible] cache, jinsi gani
Unaweza kuanzisha cache yako mwenyewe, [inaudible] cache [? d,?] chochote unataka.
Kuweka kwamba up mbele ya database.
Na kwa njia hiyo unaweza kuhifadhi data kwamba kutoka kwa wale funguo moto up kwa kuwa cache
nafasi na kusoma kwa njia ya kashe.
>> Na kisha zaidi ya wasomaji yako kuanza kuangalia kama hii.
I got zote hizi cache hits hapa na mimi got chochote kinachoendelea hapa chini
kwa sababu database ni ameketi nyuma cache na wasomaji kamwe kuja kwa njia ya.
Kama mimi kubadili data katika Mbegu, nina update cache.
Tunaweza kutumia kitu kama steams kufanya hivyo.
Na mimi itabidi kueleza jinsi kazi.
Haki wote, ujumbe.
Barua pepe, sisi wote kutumia barua pepe.
>> Huu ni mfano nzuri sana.
Sisi tumepewa baadhi ya aina ya ujumbe meza.
Na tulipata Inbox na toezi.
Hii ni nini SQL ingekuwa kuangalia kama kujenga kwamba Inbox.
Sisi aina ya kutumia aina hiyo ya mkakati wa kutumia GSI wa, GSI ya
kwa Inbox yangu na toezi yangu.
Hivyo mimi got ujumbe mbichi kuja ndani ya meza yangu ujumbe.
Na njia ya kwanza kwa hii inaweza kuwa, kusema, sawa, hakuna tatizo.
Mimi nimepata ujumbe ghafi.
Ujumbe kuja [inaudible], Ujumbe ID, kwamba ni kubwa.
Hiyo ni yangu hash kipekee.
Mimi nina kwenda kujenga mbili GSI, mmoja kwa Inbox yangu, moja kwa toezi yangu.
Na jambo la kwanza mimi itabidi kufanya ni mimi itabidi kusema hash muhimu yangu ni
kwenda kuwa mpokeaji na Mimi nina kwenda kupanga tarehe.
Hii ni ajabu.
I got maoni yangu nzuri hapa.
Lakini kuna suala kidogo hapa.
Na wewe kukimbia katika hii katika databaser kimahusiano pia.
Walitoa wito wima partitioning.
Unataka kuweka data yako kubwa mbali na data yako kidogo.
>> Na sababu ni kwa nini ni kwa sababu mimi gotta kwenda kusoma vitu ya kupata sifa.
Na kama miili wangu wote ni juu ya hapa, kisha kusoma vitu chache tu
kama mwili wangu urefu ni wastani wa 256 kilobytes kila,
math anapata pretty mbaya.
Hivyo kusema nataka kusoma Inbox Daudi.
Inbox Daudi ana vitu 50.
Wastani na ukubwa ni 256 kilobytes.
Hapa ni kubadilika uwiano wangu kwa RCU ni kilobytes nne.
>> OK, hebu kwenda kwa Hatimaye thabiti anasoma.
Mimi bado kula 1600 RCU ya tu kusoma Inbox Daudi.
Ouch.
Sawa, sasa hebu fikiria kuhusu jinsi programu kazi.
Kama mimi niko katika programu email na Mimi nina kuangalia Inbox yangu,
na mimi kuangalia mwili wa kila ujumbe, hapana, mimi nina kuangalia muhtasari.
Mimi nina kuangalia tu headers.
Basi hebu kujenga mfumo meza kwamba inaonekana zaidi kama hiyo.
>> Hivyo hapa ni maelezo kwamba workflow yangu mahitaji.
Ni katika Inbox yangu GSI.
Ni tarehe, mtumaji, somo, na kisha
Ujumbe kitambulisho, ambayo pointi nyuma ya meza ujumbe
ambapo naweza kupata mwili.
Naam, haya itakuwa vitambulisho rekodi.
Wangekuwa uhakika nyuma Vitambulisho vya bidhaa kwenye meza Dynamo DB.
Kila ripoti daima creates-- daima ina bidhaa
ID kama sehemu of-- kwamba kuja na ripoti.
>> Sawa.
Watazamaji: Ni anaelezea ni ambapo ni kuhifadhiwa?
RICK Houlihan: Ndiyo, ni anaelezea exactly-- kwamba ni nini hasa ni gani.
Inasema hapa ni re rekodi yangu.
Na kutakuwa na uhakika nyuma ya re rekodi yangu.
Hasa.
OK, hivyo sasa Inbox yangu ni kweli ndogo sana.
Na hii kwa kweli inasaidia workflow ya programu ya barua pepe.
Hivyo Inbox yangu, mimi click.
Mimi kwenda pamoja na mimi click kwenye ujumbe, hiyo ni wakati mimi haja ya kwenda kupata mwili,
kwa sababu mimi naenda kwenda mtazamo tofauti.
Hivyo kama unadhani kuhusu MVC aina ya mfumo, mfano mtazamo mtawala.
>> Mfano ina data kwamba mahitaji mtazamo
na mtawala interacts na.
Wakati mimi kubadili sura, wakati Mimi kubadili mtazamo,
ni sawa na kwenda nyuma ya server na repopulate mfano,
kwa sababu hiyo ndiyo user anatarajia.
Wakati wao kubadilisha maoni, kwamba wakati tunaweza kurudi nyuma na database.
Hivyo barua pepe, click.
Mimi nina kuangalia kwa mwili.
Raundi ya safari.
Kwenda kupata mwili.
>> Mimi kusoma data mengi kidogo.
Mimi nina kusoma miili tu kwamba David mahitaji wakati yeye mahitaji yao.
Na mimi si kuchoma katika 1600 RCU ya tu kuonyesha Inbox yake.
Hivyo sasa that-- hii ni njia kuwa LSI au GSI-- Samahani,
GSI, ingekuwa kazi nje.
Sisi tumepewa hash yetu juu ya mpokeaji.
Sisi tumepewa mbalimbali muhimu tarehe.
Na sisi tumepewa sifa makadirio kuwa tunahitaji tu kusaidia maoni.
>> Sisi mzunguko kwamba kwa toezi.
Hash juu ya mtumaji.
Na kwa asili, tuna nzuri sana, mtazamo safi.
Na ni basically-- sisi kuwa ujumbe huu mzuri
meza hiyo kuwa kuenea vizuri kwa sababu ni hash tu, heshi ujumbe ID.
Na tuna bahati mawili ambayo ni kupokezana mbali ya meza hiyo.
Haki wote, hivyo Wazo hapa ni kufanya si kuweka data kubwa na hii data dogo
pamoja.
Kuigawa wima, kuigawa meza hizo.
Je, si kusoma data huna kwa.
Haki wote, michezo ya kubahatisha.
Sote kama michezo.
Angalau mimi kama michezo wakati huo.
Hivyo baadhi ya mambo kwamba sisi kukabiliana na wakati
sisi ni kufikiri kuhusu michezo ya kubahatisha, sawa?
Michezo ya kubahatisha siku hizi, hasa mkononi michezo ya kubahatisha, ni wote kuhusu kufikiri.
Na mimi nina kwenda kwa mzunguko hapa kidogo mbali na DynamoDB.
Mimi nina kwenda kuleta katika baadhi ya majadiliano
kuzunguka baadhi ya AWS teknolojia nyingine.
>> Lakini wazo kuhusu michezo ya kubahatisha ni kufikiri kuhusu katika suala la APIs, APIs kwamba ni,
kwa ujumla kuzungumza, HTTP na JSON.
Ni jinsi mkononi aina ya michezo kuingiliana na kuishia zao nyuma.
Wao kufanya JSON posting.
Wao kupata data, na ni wote, kwa ujumla kuzungumza, katika APIs nzuri JSON.
>> Mambo kama kupata marafiki, kupata data leaderboard, kubadilishana,
user yanayoletwa, kushinikiza nyuma hadi mfumo,
hizi ni aina ya mambo kwamba sisi ni kwenda kufanya.
Mapacha mali data, data hii wanaweza kukaa katika database.
Hii inaweza kukaa katika kitu duka, sawa?
Lakini orodha ni kwenda kuishia kumwambia mfumo,
kuwaambia maombi wapi pa kwenda kupata.
Na inevitably, multiplayer watumishi, nyuma mwisho miundombinu,
na iliyoundwa kwa ajili ya upatikanaji na scalability.
Hivyo haya ni mambo ambayo sisi wote wanataka katika michezo ya kubahatisha miundombinu leo.
>> Basi hebu tuangalie nini kwamba inaonekana kama.
Got msingi nyuma mwisho, rahisi sana.
Sisi tumepewa mfumo hapa kwa kanda nyingi upatikanaji.
Kuongelea AZS kama being-- kufikiri wao kama tofauti vituo vya data.
Kituo cha data zaidi ya moja per AZ, lakini hiyo ni sawa,
tu kufikiri wao kama data tofauti Vituo kwamba ni kijiografia
na kosa pekee.
>> Tunakwenda kuwa na wanandoa EC2 matukio.
Tunakwenda kuwa na baadhi nyuma mwisho server.
Labda kama wewe ni urithi usanifu, tuko
kutumia kile tunachokiita RDS, kimahusiano huduma database.
Inaweza kuwa MSSQL, MySQL, au kitu kama hicho.
Hii ni njia maombi mengi ni iliyoundwa kwa leo.
>> Naam sisi kutaka kwenda na huu ni wakati sisi kuongeza nje.
Tutaweza kwenda mbele na kuweka S3 ndoo hadi pale.
Na kwamba S3 ndoo, badala ya kuwahudumia up vitu wale wa kutoka servers-- yetu
tunaweza kufanya hivyo.
Kuweka binary yako yote vitu kwenye seva yako
na unaweza kutumia wale server matukio ya kuwatumikia takwimu ambazo up.
Lakini hiyo ni pretty ghali.
>> Njia bora ya kufanya ni kwenda mbele na kuweka vitu wale walio katika S3 ndoo.
S3 ni hifadhi za seli kitu.
Ni kujengwa mahsusi kwa ajili ya kuwahudumia up aina hii ya mambo.
Na kuruhusu wateja hao kuomba moja kwa moja kutoka kwa wale ndoo kitu,
kuiuza watumishi.
Hivyo sisi ni kuanzia wadogo nje hapa.
>> Sasa tulipata watumiaji duniani kote.
I got watumiaji.
Mimi haja ya kuwa na maudhui ndani ya nchi iko karibu na watumiaji hawa, sawa?
Nimekuwa kuundwa ndoo S3 kama chanzo wangu there.
Na mimi itabidi mbele kwamba pamoja na CloudFront usambazaji.
>> CloudFront ni CD na yaliyomo utoaji wa mtandao.
Kimsingi inachukua data kwamba bayana na kukamatwa kwa yote juu ya mtandao
hivyo watumiaji wanaweza kuwa na kila mahali majibu ya haraka sana wakati
wao kuomba vitu hizo.
>> Hivyo kupata wazo.
Wewe ni aina ya leveraging zote masuala ya AWS hapa kwa kupata hii kufanyika.
Na hatimaye, sisi kutupa katika kundi auto kuongeza.
Hivyo matukio yetu AC2 ya mchezo server yetu,
kama wao kuanza kupata busier na busier na busier,
wao itabidi tu spin nyingine Mathalani, spin mfano mwingine,
spin mfano mwingine.
Hivyo teknolojia AWS ina, ni inaruhusu wewe taja vigezo
kote ambayo seva yako kukua.
Hivyo unaweza kuwa n idadi ya watumishi huko nje wakati wowote.
Na kama mzigo wako huenda zake, wao itabidi kuogopa, idadi mapenzi shrink.
Na kama mzigo anakuja nyuma, kutakuwa na kukua nyuma nje, elastically.
>> Hivyo hii inaonekana ni kubwa.
Sisi tumepewa mengi ya matukio EC2.
Tunaweza kuweka cache katika mbele ya database,
kujaribu na kuharakisha database.
Shinikizo hatua ya pili kawaida watu kuona
ni wao wadogo mchezo kutumia kimahusiano mfumo database.
Jeez, Mbegu utendaji ni ya kutisha.
Je, sisi kuboresha hiyo?
Hebu jaribu kuweka cache mbele ya jambo hilo.
>> Naam, cache haifanyi kazi kubwa sana katika michezo, sawa?
Kwa ajili ya michezo, kuandika ni chungu.
Michezo ni kuandika sana nzito.
Cache haifanyi kazi wakati uko kuandika nzito kwa sababu wameweza daima
got update cache.
Update cache, ni lisilo kuwa Caching.
Ni kweli tu kazi ya ziada.
>> Hivyo ambapo sisi kwenda hapa?
Nimepata bottleneck kubwa chini huko katika database.
Na mahali pa kwenda wazi ni partitioning.
Partitioning si rahisi kufanya wakati uko
kushughulika na database kimahusiano.
Na database kimahusiano, wewe ni jukumu la kusimamia, kwa ufanisi,
nafasi muhimu.
Wewe ni watumiaji kati ya A na M akisema kwenda hapa, kati ya N na Z kwenda huko.
Na wewe ni byte hela maombi.
Hivyo wewe ni kushughulika na taarifa hii chanzo kuhesabu.
Una matatizo kikazi ambayo hayana span partitions.
Nimepata kila aina ya messiness kwamba wewe ni
kushughulika na chini huko akijaribu kukabiliana na kuongeza nje
na ujenzi wa miundombinu kubwa.
Ni tu hakuna furaha.
>> Watazamaji: Hivyo ni wewe kusema kwamba kuongeza pointi chanzo kasi up
mchakato?
RICK Houlihan: Kuongeza?
Pointi Chanzo: Watazamaji.
RICK Houlihan: pointi Chanzo?
Watazamaji: Kutokana na habari, ambapo habari ni kuja kutoka?
RICK Houlihan: Hapana
Ninachosema ni kuongeza idadi ya partitions katika kuhifadhi data
inaboresha throughput.
Hivyo nini kinatokea hapa ni watumiaji kuja ndani EC2 mfano hapa,
vizuri, kama mimi haja ya mtumiaji hiyo ni kwa M, nitakwenda hapa.
Kutoka N kupita, nitakwenda hapa.
Kutoka P A to Z, nitakwenda hapa.
>> Watazamaji: sawa, wale hivyo wale watu zote kuhifadhiwa katika nodes mbalimbali?
>> RICK Houlihan: Ndiyo.
Fikiria hayo kama maghala mbalimbali ya data.
Hivyo wewe ni kuwa kwa kufanya hivyo.
Kama wewe ni kujaribu kufanya hivyo, kama wewe ni kujaribu
wadogo kwenye jukwaa kimahusiano, hii ni nini unafanya.
Wewe ni kuchukua takwimu na wewe ni kukata chini.
Na wewe ni partitioning ni hela matukio mbalimbali ya database.
Na wewe ni kusimamia yote katika maombi daraja.
Siyo furaha.
Basi je, tunataka kwenda?
Tunataka kwenda DynamoDB, kusimamiwa kikamilifu, NoSQL kuhifadhi data, utoaji throughput.
Sisi kutumia bahati sekondari.
Ni kimsingi HTTP API na pamoja na hati msaada.
Hivyo huna kuwa na wasiwasi kuhusu yoyote ya kwamba partitioning.
Sisi kufanya yote kwa ajili yenu.
Hivyo sasa, badala yake, ninyi tu kuandika kwenye meza.
Kama meza inahitaji partitioned, kitu kinachotokea nyuma ya pazia.
Wewe ni kabisa maboksi na kwamba kama developer.
Basi hebu majadiliano juu ya baadhi ya kesi ya matumizi
kwamba sisi kukimbia katika katika michezo ya kubahatisha, kawaida matukio ya michezo ya kubahatisha, leaderboard.
Basi nimepata watumiaji anaingia, BoardNames kwamba wao ni
juu ya, alama kwa mtumiaji huyu.
Tupate hashing juu ya kitambulisho cha mtumiaji, na kisha tuna mbalimbali juu ya mchezo.
Hivyo kila mtumiaji anataka kuona mchezo zote yeye alicheza
na alama yake yote juu hela zote mchezo.
Hivyo hiyo ni leaderboard yake binafsi.
>> Sasa nataka kwenda katika na nataka get-- hivyo mimi kupata bao hizi binafsi.
Nini nataka kufanya ni kwenda kupata alama za juu nchini watumiaji wote.
Hivyo ni jinsi gani mimi kufanya hivyo?
Wakati rekodi yangu ni heshi juu ya kitambulisho cha mtumiaji, kilicholengwa juu ya mchezo,
vizuri mimi nina kwenda mbele na urekebishaji, kujenga GSI,
na mimi nina kwenda kufanyia marekebisho data hizo.
>> Sasa mimi nina kwenda kwa hash juu ya BoardName, ambayo ni mchezo.
Na mimi nina kwenda kwa mbalimbali juu ya alama ya juu.
Na sasa nimekuwa kuundwa ndoo tofauti.
Mimi nina kutumia meza moja, data bidhaa hiyo.
Lakini mimi nina kujenga ndoo kwamba anatoa mimi kuwakusanya alama za juu na mchezo.
>> Na siwezi swala meza kwamba kupata taarifa hiyo.
Hivyo nimekuwa kuweka kwamba mfano swala hadi kuungwa mkono na ripoti ya sekondari.
Sasa wanaweza kuwa yamepangwa kwa BoardName na yamepangwa kwa TopScore, kutegemea.
Hivyo unaweza kuona, haya ni aina ya kutumia kesi ya kupata katika michezo ya kubahatisha.
Nyingine nzuri ya matumizi kesi tunapata katika michezo ya kubahatisha ni tuzo na ambaye ni mshindi wa tuzo.
Na hii ni matumizi ya kesi kubwa ambapo tunatoa wito bahati sparse.
Bahati sparse ni uwezo wa kuzalisha
ripoti hiyo haina si lazima vyenye kila kitu moja juu ya meza.
Na kwa nini?
Kwa sababu sifa hiyo kuwa indexed haipo juu ya kila kitu.
>> Hivyo katika hili hasa kutumia kesi, mimi kusema,
unajua nini, mimi nina kwenda kwa kujenga sifa aitwaye tuzo.
Na mimi nina kwenda kumpa kila mtumiaji ambayo ina tuzo hiyo wanampa.
Watumiaji kuwa hawana tuzo ni si kwenda na kwamba sifa.
Hivyo wakati mimi kuunda ripoti, watumiaji tu
kwamba ni kwenda kuonyesha up katika ripoti ni
wale ambao kwa kweli kuwa mshindi wa tuzo.
Hivyo hiyo ni njia kuu ya kuwa na uwezo kujenga kuchujwa bahati kwamba
ni sana, kuchagua sana kwamba hawana kuwa na ripoti meza nzima.
>> Hivyo sisi ni kupata chini juu ya muda hapa.
Mimi nina kwenda kwenda mbele na ruka nje na ruka hali hii.
Kuzungumza kidogo about--
>> Watazamaji: Je, mimi kuuliza swali haraka?
Moja ni kuandika nzito?
RICK Houlihan: Je, ni?
Watazamaji: Andika zito.
RICK Houlihan: Andika zito.
Ngoja nione.
>> Watazamaji: Au ni kwamba si kitu unaweza tu
sauti ya katika suala hilo la sekunde?
RICK Houlihan: Sisi kwenda kupitia upigaji kura mazingira.
Siyo kwamba mbaya.
Je, guys kuwa dakika chache?
SAWA.
>> Hivyo tutaweza majadiliano juu ya kupiga kura.
Hivyo kupiga kura muda halisi, tuna mahitaji kwa ajili ya kupiga kura.
Mahitaji ni kwamba tunaruhusu kila mtu kupiga kura mara moja tu.
Tunataka hakuna mtu kuwa na uwezo kubadili kura zao.
Tunataka kweli muda kuwakusanya na analytics kwa idadi ya watu
kwamba tunakwenda kuwa kuonyesha kwa watumiaji kwenye tovuti.
>> Fikiria hali hii.
Sisi kazi nyingi ukweli TV inaonyesha ambapo wao uko
kufanya aina hizi halisi ya mambo.
Hivyo unaweza kufikiria mazingira, tuna mamilioni na mamilioni
wasichana wa umri mdogo pale na simu zao za mkononi
na kupiga kura, na kupiga kura, na kupiga kura kwa ajili mtu wao ni
kupata kuwa maarufu zaidi.
Basi hizi ni baadhi ya mahitaji sisi kukimbia nje.
>> Na hivyo kwanza kuchukua katika kutatua tatizo hili
itakuwa kujenga rahisi sana maombi.
Hivyo mimi nimepata programu hii.
Mimi na baadhi ya wapiga kura huko nje.
Wao kuja katika, wao kugonga programu kupiga kura.
Mimi nimepata baadhi mbichi kura meza Mimi itabidi dampo kura wale katika.
Mimi itabidi baadhi mabao kura meza kwamba
atafanya analytics yangu na idadi ya watu, na tutaweza kuweka yote haya katika huko.
>> Na hii ni kubwa.
Maisha ni mazuri.
Maisha ya wema mpaka tunaona kwamba kuna siku zote moja au mbili tu
Watu hawa walio maarufu katika uchaguzi.
Kuna mambo moja au mbili tu kwamba watu kweli huduma kuhusu.
Na kama wewe ni kupiga kura katika wadogo, kwa ghafla mimi nina
kwenda kuwa hammering kuzimu nje ya wagombea wawili, wagombea moja au mbili.
Idadi ndogo sana ya vitu watu wanaona kuwa maarufu.
>> Hii si nzuri kubuni muundo.
Hii ni kweli mbaya sana kubuni muundo
kwa sababu inajenga nini hasa sisi kuongelea ambayo ilikuwa funguo moto.
Moto funguo ni kitu sisi si kama.
>> Hivyo ni jinsi gani sisi kurekebisha hayo?
Na kwa kweli, njia ya kutatua tatizo hili ni kwa kuchukua wale ndoo mgombea
na kwa kila mgombea tuna, tunakwenda append thamani kubahatisha,
kitu ambacho tunajua, bila mpangilio thamani kati ya moja na 100,
kati ya 100 na 1,000, au kati ya mmoja na 1000,
Hata hivyo maadili wengi bila mpangilio unataka append kwenye mwisho wa mgombea huyo.
>> Na nini mimi kweli amefanya basi?
Kama mimi nina kutumia mgombea ID kama ndoo kwa kura jumla ya mabao,
kama nimekuwa aliongeza bila mpangilio idadi hadi mwisho wa kwamba,
Nimekuwa kuundwa sasa 10 ndoo, ndoo mia, elfu ndoo
kwamba mimi nina kujumlisha kura hela.
>> Hivyo mimi na mamilioni, na mamilioni, na mamilioni ya kumbukumbu kuja katika
kwa wagombea hawa, Mimi sasa kueneza kura wale hela Mgombea A_1
kupitia Mgombea A_100, kwa sababu kila wakati kura huja katika,
Mimi kuzalisha random thamani kati ya moja na 100.
Mimi tacking ni kwenye mwisho wa Mgombea wa mtu huyo kupiga kura kwa ajili.
Mimi utupaji ndani kwamba ndoo.
>> Sasa nyuma, najua ndipo nilipata mia ndoo.
Hivyo wakati mimi nataka kwenda mbele na jumla ya mabao kura,
Mimi kusoma na zile ndoo wote.
Hivyo mimi kwenda mbele na kuongeza.
Na kisha mimi kuwatawanya kukusanya ambapo mimi kwenda nje na kusema hey,
unajua nini, muhimu mgombea huyu nafasi ni ndoo zaidi ya mia.
Mimi nina kwenda kukusanya wote kura kutoka ndoo mia hizo.
Mimi nina kwenda kwa jumla ya mabao wao na mimi nina kwenda kusema,
Mgombea A sasa ina jumla kuhesabu kura za x.
>> Sasa wote wawili kuandika swala na kusoma swala
ni vizuri kusambazwa kwa sababu mimi nina kuandika hela
na mimi nina kusoma katika mamia ya funguo.
Mimi si kuandika na kusoma hela ufunguo moja sasa.
Hivyo hiyo ni mfano mkuu.
>> Hii ni kweli pengine ni moja ya kubuni muhimu zaidi
chati kwa wadogo katika NoSQL.
Utaona aina hii ya mfano kubuni katika kila ladha.
MongoDB, DynamoDB, haina suala hilo, sisi sote tuna kufanya hivyo.
Kwa sababu wakati wewe ni kushughulika kwa aggregations wale kubwa,
una kufikiri njia ya kuzigawanya katika ndoo.
Hivyo hii ni njia ya kufanya hivyo.
Haki wote, hivyo nini unafanya hivi sasa
ni wewe biashara mbali kusoma gharama kwa kuandika scalability.
Gharama ya kusoma yangu ni kidogo ngumu zaidi
na mimi kuwa na kwenda kusoma kutoka ndoo mia badala ya moja.
Lakini nina uwezo wa kuandika.
Na throughput yangu, kuandika yangu throughput ni ajabu.
Hivyo ni kawaida ya thamani mbinu kwa ajili ya kuongeza DynamoDB,
au orodha yoyote NoSQL kwa jambo hilo.
Kwa hiyo sisi figured nje ya jinsi ya kuongeza yake.
Na sisi figured jinsi ya kuondoa funguo yetu moto.
Na hii ni ajabu.
Na tulipata mfumo huu vizuri.
Na ni ametupa kupiga kura sahihi sana kwa sababu tuna rekodi kura de-baradhuli.
Ni kujengwa katika DynamoDB.
Kuongelea haki za masharti.
>> Wakati wapiga kura unakuja, unaweka kuingiza kwenye meza,
wao kuingiza na wapiga ID zao, kama wao kujaribu kuingiza kura mwingine,
Mimi kufanya kuandika masharti.
Kusema tu kuandika hii kama hii haipo.
Hivyo kwa haraka kama mimi kuona kwamba kwamba kura ya kugonga meza,
hakuna mtu mwingine kwenda kuwa uwezo wa kuweka kura zao katika.
Na hiyo ndiyo ajabu.
Na sisi ni incrementing mgombea wetu counters.
Na sisi ni kufanya wetu idadi ya watu na vitu vyote.
Lakini kile kinachotokea kama yangu maombi iko juu?
Sasa wote wa kura ghafla ni akiingia ndani na mimi
sijui kama wao ni kupata kusindika ndani ya analytics yangu na idadi ya watu
tena.
Na wakati maombi anakuja nyuma juu, jinsi
kuzimu sijui mambo kura na wamekuwa kusindika na wapi mimi kuanza?
>> Hivyo hii ni tatizo halisi wakati kuanza kuangalia aina hii ya mazingira.
Na jinsi gani sisi kutatua hayo?
Sisi kutatua hayo na kile sisi piga DynamoDB mito.
Mito ni muda kuamuru na partitioned mabadiliko logi ya kila upatikanaji
kwa meza, kila kuandika upatikanaji wa meza.
Data yoyote ambayo imeandikwa kwa meza inaonyesha juu ya mkondo.
>> Ni kimsingi foleni saa 24.
Vitu kugonga mkondo wa maji, wanaishi kwa saa 24.
Wao inaweza kusomwa mara nyingi.
Uhakika wa kufikishwa tu mara moja kwa mkondo wa maji,
inaweza kusomwa n idadi ya nyakati.
Hivyo hata hivyo hatua nyingi unataka hutumia data ya hapo, unaweza kutosheleza.
Ni itaonekana kila update.
Kila kuandika mapenzi tu kuonekana mara moja juu ya mkondo.
Hivyo huna kuwa na wasiwasi kuhusu usindikaji ni mara mbili
kutoka katika mchakato huo.
>> Ni madhubuti kuamuru kwa kila kitu.
Tunaposema wakati kuamuru na partitioned,
utaona kwa kuhesabu juu ya mkondo.
Utaona vitu, updates kwa utaratibu.
Sisi si kuhakikisha juu ya mkondo kwamba wewe ni
kwenda kupata kila shughuli ili hela vitu.
>> Hivyo mito ni idempotent.
Je, sisi wote kujua nini maana idempotent?
Idempotent ina maana unaweza kufanya hivyo tena na tena, na tena.
Matokeo yake itakuja kuwa sawa.
>> Mito ni idempotent, lakini wao kuwa
alicheza kutoka kianzio, popote wewe kuchagua, hadi mwisho,
au wao si kusababisha katika maadili sawa.
>> Same kitu na MongoDB.
MongoDB ina kujenga watataka oplog.
Ni halisi kujenga huo.
NoSQL databaser wengi na kujenga hii.
Wao kuitumia kufanya mambo kama replication, ambayo
ni nini hasa sisi kufanya na mito.
Watazamaji: Labda uzushi swali, lakini wewe
majadiliano juu ya programu ya kufanya chini kadhalika.
Ni mito uhakika kamwe uwezekano wa kwenda chini?
RICK Houlihan: Yeah, mito ni uhakika wa kamwe kwenda chini.
Sisi kusimamia miundombinu nyuma. mito moja kwa moja
kupeleka katika auto kuongeza kundi lao.
Tutaweza kwenda kupitia kidogo kidogo kuhusu nini kinatokea.
>> Mimi lazima kusema wao siyo uhakika na kamwe kwenda chini.
Mambo ni uhakika kuonekana katika mkondo.
Na mkondo itakuwa kupatikana.
Kwa hiyo kile inakwenda chini au anakuja nyuma up, ambayo hufanyika chini.
Ni covers-- ni sawa.
Haki wote, ili kupata mbalimbali Mtazamo aina mbali screen.
Mtazamo aina ambazo ni muhimu kwa programu kwa kawaida ni, nini ilikuwa hivyo?
Mimi kupata maoni ya zamani.
Wakati update hits meza, ni itabidi kushinikiza mtazamo wa zamani wa mkondo
hivyo data unaweza archive, au mabadiliko kudhibiti, mabadiliko ya utambulisho, mabadiliko
usimamizi.
>> Sura mpya, ni nini sasa baada ya update, hiyo ni aina nyingine ya maoni
unaweza kupata.
Unaweza kupata wawili taswira ya zamani na mpya.
Labda nataka wote wawili.
Nataka kuona ni kitu gani.
Nataka kuona nini iliyopita na.
>> Nina aina kufuata mchakato kwamba anaendesha.
Inahitaji kuthibitisha kwamba Wakati mambo hayo mabadiliko,
kwamba wao ni ndani ya mipaka fulani au ndani ya vigezo fulani.
>> Na kisha labda mimi tu haja ya kujua nini iliyopita.
Sijali nini bidhaa iliyopita.
Sina haja ya haja ya kujua nini sifa iliyopita.
Mimi tu haja ya kujua kwamba Vitu ni kuguswa.
Basi hizi ni aina ya maoni kwamba kupata mbali mkondo
na unaweza kuingiliana na.
>> Maombi ambayo hutumia mkondo wa maji,
hii ni aina ya njia hii kazi.
DynamoDB mteja kuuliza kwa kushinikiza data na meza.
Mito kupeleka kwenye kile tunachokiita shards.
Shards ni scaled kujitegemea ya meza.
Hawana kujipanga kabisa kwa partitions ya meza yako.
Na sababu ni kwa nini ni kwa sababu wao kujipanga
kupita uwezo wake, sasa uwezo wa meza.
>> Wao kupeleka katika zao mwenyewe auto kuongeza kundi,
na wao kuanza spin nje kulingana jinsi anaandika wengi wanakuja katika,
jinsi reads-- wengi kweli ni anaandika.
Hakuna reads-- lakini jinsi anaandika wengi wanakuja katika.
>> Na kisha nyuma mwisho, tuna nini sisi
piga KCL, au Kinesis Mteja maktaba.
Kinesis ni data mkondo teknolojia ya usindikaji kutoka Amazon.
Na mito ni kujengwa juu ya jambo hilo.
>> Hivyo kutumia KCL kuwezeshwa programu kusoma mkondo.
Kinesis Mteja Library kweli itaweza wafanyakazi kwa ajili yenu.
Na pia anafanya baadhi mambo ya kuvutia.
Itakuwa kujenga baadhi meza up katika DynamoDB yako tablespace
kufuatilia ambayo vitu zimeshafanyiwa kazi.
Hivyo njia hii kama iko nyuma, ikiwa yake huanguka juu na kuja na anapata
alisimama nyuma juu, inaweza kuamua ambapo Ilikuwa ni katika usindikaji mkondo.
>> Hiyo ni muhimu sana wakati wewe kuzungumza juu replication.
Mimi haja ya kujua nini data alikuwa wamekuwa kusindika
na kile data bado kuwa processed.
Hivyo maktaba KCL kwa mito mapenzi kukupa mengi ya kwamba utendaji.
Ni inachukua huduma ya utunzaji wa nyumba zote.
Ni anasimama mfanyakazi kwa kila Shard.
Ni inajenga meza utawala kwa kila Shard, kwa kila mfanyakazi.
Na kama wale wafanyakazi moto, wao kudumisha meza wale
ili kujua rekodi hii ilikuwa kusoma na kusindika.
Na kisha kwa njia hiyo kama mchakato akifa na anakuja nyuma online,
inaweza kuendelea kulia ambako ilichukua mbali.
>> Hivyo sisi kutumia hii kwa msalaba-kanda replication.
Mengi ya wateja na haja ya hoja data au sehemu ya meza zao data
karibu na mikoa mbalimbali.
Kuna mikoa tisa wote duniani.
Hivyo huenda kuna mimi need-- wanaweza kuwa watumiaji katika bara la Asia, watumiaji
katika Pwani ya Mashariki ya Marekani.
Wana data mbalimbali ambazo mahitaji ya kuwa ndani ya nchi kusambazwa.
Na labda mtumiaji inzi kutoka Asia juu ya Umoja wa Mataifa,
na mimi nataka kuiga data wake pamoja naye.
Basi alipo anapata mbali ya ndege, ana uzoefu mzuri kwa kutumia programu yake ya mkononi.
>> Unaweza kutumia msalaba-kanda replication maktaba kwa kufanya hivyo.
Kimsingi tuna zinazotolewa teknolojia hizo mbili.
Moja ni console maombi unaweza kusimama juu ya EC2 yako mwenyewe mfano.
Ni anaendesha replication safi.
Na kisha tuliyowapa maktaba.
Maktaba unaweza kutumia ili kujenga maombi yako mwenyewe kama wewe
wanataka kufanya mambo mambo na kwamba data-- filter, kuiga sehemu tu ya hayo,
mzunguko data, hoja hiyo ndani ya mbalimbali meza, kadhalika na kadhalika.
Basi hiyo ni aina ya nini kwamba inaonekana kama.
>> DynamoDB mito inaweza kuwa kusindika na kile tunachokiita Lambda.
Sisi zilizotajwa kidogo kuhusu tukio inaendeshwa maombi usanifu.
Lambda ni sehemu muhimu ya kwamba.
Lambda ni kificho kwamba moto juu ya mahitaji katika kukabiliana na tukio fulani.
Moja ya matukio hayo inaweza kuwa rekodi ya kuonekana kwenye mkondo.
Kama rekodi inaonekana kwenye mkondo wa maji, tutaweza wito huu kazi Java.
Naam, hii ni JavaScript, na Lambda inasaidia Node.js, Java, Python,
na hivi karibuni kuunga mkono lugha zingine vilevile.
Na inatosha kusema, ni kificho safi.
kuandika Katika Java, unaweza kufafanua darasani.
Kushinikiza JAR juu katika Lambda.
Na kisha kutaja darasa kuwaita katika kukabiliana na ambayo tukio hilo.
Na kisha miundombinu Lambda nyuma ya kwamba inakwenda kwamba kanuni.
>> Kificho kwamba inaweza mchakato rekodi mbali mkondo.
Ni anaweza kufanya kitu chochote anataka nayo.
Katika mfano huu hasa, kila tuko kweli kufanya ni magogo sifa.
Lakini hii ni kanuni.
Kanuni anaweza kufanya kitu chochote, sawa?
>> Hivyo unaweza mzunguko data hizo.
Unaweza kuunda mtazamo derivative.
Kama ni muundo hati, unaweza flatten muundo.
Unaweza kuunda bahati mbadala.
Kila aina ya mambo unaweza kufanya na mito DynamoDB.
>> Na kwa kweli, kwamba ni nini kwamba inaonekana kama.
Ili kupata updates wale kuja katika.
Wao ni kuja mbali kamba.
Wao ni kusoma kwa kazi Lambda.
Wao ni kupokezana data na kusukuma juu katika meza derivative,
kumfahamisha mifumo ya nje ya mabadiliko, na kusukuma data kwenye ElastiCache.
>> Kuongelea jinsi ya kuweka cache mbele ya database kwa kuwa mauzo
mazingira.
Vizuri kile kinachotokea kama mimi update bidhaa maelezo?
Naam, kama ningekuwa na Lambda kazi mbio juu ya meza kwamba,
kama mimi update bidhaa maelezo, ni itabidi kuchukua rekodi mbali mkondo wa maji,
na kutakuwa na update ElastiCache mfano kwa takwimu mpya.
Hivyo hiyo ni mengi ya nini cha kufanya na Lambda.
Ni gundi kificho, viungio.
Na ni kweli inatoa uwezo wa uzinduzi
na kuendesha maombi ngumu sana bila ari server
miundombinu, ambayo ni kweli baridi.
>> Basi hebu kwenda nyuma ya yetu halisi wakati wa kupiga kura usanifu.
Hii ni mpya na kuboresha na yetu mito na KCL kuwezeshwa maombi.
Sawa mbele, tunaweza kushughulikia wadogo yoyote ya uchaguzi.
Tunapenda hii.
Sisi ni kufanya nje kuwatawanya unakusanya hela ndoo nyingi.
Sisi tumepewa matumaini locking kinachoendelea.
Tunaweza kuweka wapiga kura wetu kutoka kubadilisha kura zao.
Wanaweza tu kupiga kura mara moja tu.
Hii ni ajabu.
Halisi wakati kosa kuvumiliana, scalable kuwakusanya sasa.
Kama jambo iko juu, ni anajua wapi upya yenyewe
linapokuja suala la nyuma hadi kwa sababu sisi ni kutumia programu KCL.
Na kisha tunaweza pia kutumia kwamba KCL maombi kushinikiza data nje
kwa redshift kwa wengine analytics programu, au matumizi
MapReduce Elastic kuendesha halisi wakati Streaming mbali aggregations
ya data hizo.
>> Hivyo haya ni mambo sisi si aliongea kuhusu kiasi hicho.
Lakini wao uko ziada teknolojia ambayo kuja
kubeba wakati wewe ni kuangalia katika aina hii ya matukio.
>> Haki wote, hivyo hiyo ni juu analytics na DynamoDB mito.
Unaweza kukusanya de-baradhuli data, kufanya kila aina
ya mambo mazuri, jumla ya mabao data katika kumbukumbu, kujenga meza wale derivative.
Hiyo ni mkubwa matumizi ya kesi kwamba mengi ya wateja
wanahusika na, kwa kuchukua nested mali ya hati hizo JSON
na kujenga bahati ziada.
>> Tuko mwishoni.
Asante kwa kuzaa na mimi.
Basi hebu majadiliano juu ya kumbukumbu usanifu.
DynamoDB yapo katikati ya hivyo sehemu kubwa ya miundombinu AWS.
Kimsingi unaweza ndoano yake hadi kitu chochote unataka.
Maombi kujengwa kwa kutumia Dynamo ni pamoja na Lambda, ElastiCache, CloudSearch,
kushinikiza data kutoka ndani ya Elastic MapReduce, kuagiza nje kutoka DynamoDB
ndani ya S3, kila aina ya workflows.
Lakini pengine ni bora Jambo kuzungumzia,
na hii ni nini kweli kuvutia ni wakati sisi
majadiliano juu ya maombi tukio inaendeshwa.
>> Huu ni mfano wa Mradi wa ndani
kwamba tuna ambapo sisi ni kweli kuchapisha kukusanya matokeo ya utafiti.
Hivyo katika barua pepe kiungo kwamba sisi kutuma nje, kuna itabidi
kuwa ni kidogo kiungo akisema click hapa kujibu utafiti.
Na wakati Clicks mtu kiungo kwamba, kile kinachotokea
ni wao kubomoa salama HTML utafiti fomu kutoka S3.
Hakuna server.
Hii ni S3 kitu.
>> Fomu kuja juu, mizigo juu katika browser.
Ni got uti wa mgongo.
Ni got ngumu JavaScript kwamba ni mbio.
Hivyo ni maombi tajiri sana mbio katika browser mteja.
Hawajui kwamba wao siyo mazungumzo na nyuma mwisho server.
Katika hatua hii, ni kisakuzi wote.
>> Wao kuchapisha matokeo ya kile tunatoa wito Amazon API Gateway.
API Gateway ni tu mtandao API kwamba unaweza kufafanua na hook up
kwa chochote unataka.
Katika kesi hii, tuko yatakuwapo hadi kazi Lambda.
>> Hivyo POST operesheni yangu ni kinachotokea na hakuna kompyuta.
Kimsingi kwamba API Gateway anakaa huko.
Ni gharama mimi kitu mpaka watu kuanza posting yake, sawa?
Kazi Lambda anakaa tu pale.
Na ni gharama mimi kitu mpaka watu kuanza kupiga yake.
Hivyo unaweza kuona, kama kiasi ongezeko, kwamba wakati mashtaka kuja.
Mimi si mbio server 24/7.
>> Hivyo mimi kuvuta fomu chini nje ya ndoo,
na mimi baada ya kupitia API Gateway katika kazi Lambda.
Na kisha Lambda kazi anasema, unajua
nini, mimi nimepata baadhi PIIs, baadhi binafsi zinazotambulika
katika majibu hayo.
I got maoni kutoka kwa watumiaji.
Mimi nimepata anwani ya barua pepe.
Mimi nimepata majina ya watumiaji.
>> Napenda umegawanyika hii mbali.
Mimi nina kwenda kuzalisha baadhi metadata mbali rekodi hii.
Na mimi nina kwenda kushinikiza metadata ndani ya DynamoDB.
Na mimi naweza encrypt data zote na kuiondoa katika DynamoDB kama nataka.
Lakini ni rahisi kwa ajili yangu, katika hili kutumia kesi, kwa kwenda mbele kusema,
Mimi nina kwenda kushinikiza takwimu ghafi ndani ya encrypted S3 ndoo.
Hivyo mimi kutumia kujengwa katika S3 server upande encryption na Amazon muhimu Management
Huduma ili niweze kuwa muhimu ambayo unaweza mzunguko juu ya kipindi mara kwa mara,
na siwezi kulinda kwamba data PII kama sehemu ya workflow hili lote.
>> Kwa hiyo kile Nimefanya nini?
Nimekuwa tu uliotumika nzima maombi, na mimi sina server.
Kwa hiyo kile ni tukio inaendeshwa maombi usanifu gani kwa ajili yenu.
>> Sasa kama unadhani kuhusu matumizi ya kesi kwa Haya
tuna wateja wengine Mimi kuzungumza kwa kuhusu hili usanifu halisi ambao
kuendesha kampeni phenomenally kubwa, ambaye ni kuangalia hii na kwenda, oh wangu.
Kwa sababu sasa, wanaweza kimsingi kuiondoa huko nje,
basi kampeni kwamba kukaa tu kuna mpaka yazindua, na si
kuwa na wasiwasi kuhusu mitini ni aina gani ya miundombinu
ni kwenda kuwa kuna kusaidia yake.
Na kisha kwa haraka kama kampeni kwamba ni kosa,
ni kama miundombinu tu mara moja huenda zake
kwa sababu kuna kweli hakuna miundombinu.
Ni tu kificho kwamba yapo juu ya Lambda.
Ni tu data kwamba yapo katika DynamoDB.
Ni njia ya ajabu kujenga maombi.
>> Watazamaji: Hivyo ni zaidi ephemeral kuliko itakuwa
kama ilikuwa kuhifadhiwa kwenye kompyuta halisi?
>> RICK Houlihan: Ndiyo.
Kwa sababu hiyo mfano server bila kuwa 24/7.
Ina kuwa inapatikana kwa mtu wa kujibu.
Naam nadhani nini?
S3 inapatikana 24/7.
S3 daima anajibu.
Na S3 ni sana, vizuri sana katika kuwahudumia up vitu.
Wale vitu inaweza kuwa mafaili ya HTML, au JavaScript mafaili, au chochote unataka.
Unaweza kuendesha maombi tajiri sana mtandao nje ya S3 ndoo, na watu kufanya.
>> Na hivyo hiyo ni wazo hapa ni kupata mbali na njia
sisi tukidhani kuhusu hilo.
Sote tukidhani katika suala la watumishi na majeshi.
Siyo kuhusu kwamba tena.
Ni kuhusu miundombinu kama kanuni.
Kupeleka kificho kwa wingu na basi wingu kukimbia kwa ajili yenu.
Na kwamba ni nini AWS ni kujaribu kufanya.
>> Watazamaji: Hivyo sanduku dhahabu yako katikati ya API Gateway si server-kama,
lakini badala yake ni just--
>> RICK Houlihan: Unaweza kufikiri yake kama server facade.
Wote ni ni itabidi kuchukua HTTP kuomba na ramani yake kwa mchakato mwingine.
Hayo ni yote ni gani.
Na katika kesi hii, sisi ni kuchora ramani kwa kazi Lambda.
Haki wote, hivyo kwamba wote I got.
Asante sana.
Nashukuru.
Najua tunataka kidogo baada ya muda.
Na pengine nyie got kidogo ya maelezo
uweze kuchukua mbali leo.
Na mimi kuomba msamaha kama nilikwenda juu ya baadhi ya vichwa vyenu,
lakini kuna mengi mazuri ya msingi maarifa ya msingi
nadhani ni muhimu sana kwa ajili yenu.
Kwa hiyo asante kwa kuwa mimi.
[Makofi]
Watazamaji: [inaudible] ni wakati walikuwa wakisema
alikuwa na kwenda kwa njia ya kitu kuanzia mwanzo hadi mwisho
kupata maadili ya haki au maadili huo huo,
jinsi gani maadili kubadilika kama [inaudible].
>> RICK Houlihan: Oh, idempotent?
Jinsi gani maadili kubadilika?
Naam, kwa sababu kama mimi si kukimbia ni njia yote hadi mwisho,
kisha sijui nini mabadiliko yalifanywa katika maili ya mwisho.
Ni si kwenda kuwa data huo kama nini nikaona.
Watazamaji: Oh, hivyo wewe tu si wamezipata pembejeo nzima.
RICK Houlihan: Haki.
Una kwenda tangu mwanzo hadi mwisho, na kisha ni
kwenda kuwa hali thabiti.
Baridi.
>> Watazamaji: Hivyo wewe alituonyesha DynamoDB anaweza kufanya hati au ufunguo thamani.
Na sisi alitumia muda mwingi juu ya thamani muhimu na hash na njia
flip ni kuzunguka.
Wakati inaonekana katika meza hizo, ni kwamba kuacha nyuma mbinu hati?
>> RICK Houlihan: napenda kusema kuiacha nyuma.
>> Watazamaji: Walikuwa kutengwa na the--
>> RICK Houlihan: Kwa hati mbinu, aina hati katika DynamoDB
ni kufikiri tu ya kama sifa nyingine.
Ni sifa ambayo ina kihierarkia data muundo.
Na kisha katika maswali, unaweza kutumia mali
ya vitu wale kutumia Object nukuu.
Hivyo siwezi kuchuja juu ya nested mali ya JSON hati.
Watazamaji: Hivyo yoyote mimi wakati kufanya mbinu hati,
Siwezi aina ya kuwasili katika tabular--
Watazamaji: Kabisa.
Watazamaji: --indexes na mambo tu kuongelea.
RICK Houlihan: Yeah, bahati na yote hayo,
wakati unataka ripoti mali ya JSON,
njia ambayo tunatarajia kuwa kufanya hivyo ni kama kuingiza JSON kitu au hati
ndani ya Dynamo, ungependa kutumia mito.
Mito bila kusoma pembejeo.
Wewe Ningependa kupata kwamba JSON kitu na wewe d kusema sawa,
nini mali nataka ripoti?
>> Wewe kujenga meza derivative.
Sasa hiyo ni njia ni kazi hivi sasa.
Hatuna kuruhusu ripoti moja kwa moja wale mali.
>> Watazamaji: Tabularizing hati yako.
>> RICK Houlihan: Hasa, flattening hivyo, tabularizing hilo, hasa.
Hiyo ni nini cha kufanya na hayo.
>> Watazamaji: Asante.
>> RICK Houlihan: Yep, kabisa, asante.
Watazamaji: Hivyo ni aina ya Mongo hukutana Redis classifers.
>> RICK Houlihan: Yeah, ni mengi kama hayo.
Hiyo ni maelezo mazuri kwa ajili yake.
Baridi.