[MUSIC PLAYING] RICK Houlihan: Bütün hüququ. Hərkəsə salam. My name Rick Houlihan edir. Mən baş direktoru deyiləm AWS Solutions memar. Mən NoSQL diqqət və DynamoDB texnologiyaları. Mən danışmaq üçün bu gün buradayam bu barədə bir az. Mənim fon var ilk növbədə data qat. I yarısı Mənim inkişafına sərf karyera, verilənlər bazası yazı data access, həllər müxtəlif uygulamalar üçün. Mən Cloud virtuallaşdırma oldum 20 ildir. Cloud Cloud əvvəl Belə ki, biz kommunal hesablama zəng üçün istifadə olunur. Və fikir, bu kimi oldu PG & E, siz istifadə nə üçün ödəyirlər. Bu gün biz bulud zəng. Amma il ərzində, mən çalışmış şirkətlərin bir neçə Siz yəqin ki, eşitməmişik etdik. Amma texniki siyahısını tərtib etdik nailiyyətlər, mən demək istədiyiniz danışarlar. Mən Cloud sistemlərində səkkiz patent var virtuallaşdırma, mikroprosessor dizayn, kompleks hadisə emalı, və digər sahələrdə, eləcə də. Bu gün Belə ki, mən NoSQL əsasən diqqət texnologiyaları və nəsil verilənlər bazası. Və mən gedirəm nə ümumiyyətlə var haqqında bu gün söhbət burada olmaq. Beləliklə, siz nə gözləyə bilər Bu sessiya, biz qısa keçmək lazımdır məlumatların emalı tarixi. Bu həmişə faydalıdır biz gəlib burada anlamaq Biz istəyirik və biz burada. Və biz bir az danışmaq lazımdır NoSQL texnologiya haqqında bit əsas baxımından. Biz bəzi daxil olacaq DynamoDB daxili. DynamoDB AWS-nin heç bir ləzzət edir. Bu tam idarə edir və ev sahibliyi NoSQL həlli. Və biz masa haqqında bir az danışmaq lazımdır strukturu, API, data növləri, indeksləri, və daxili bəzi ki DynamoDB texnologiya. Biz dizayn bəzi daxil almaq lazımdır nümunələri və ən yaxşı təcrübələr. Biz sizə haqqında danışmaq lazımdır bəzi bu texnologiya istifadə Bugünkü applications. Və sonra biz bir az danışmaq lazımdır Təkamül və ya çıxması haqqında proqramlaşdırma yeni paradiqmanın adlı tədbir idarə applications və DynamoDB kimi yaxşı oynayır necə. Və biz bir az tərk edəcəyik istinad memarlıq müzakirə belə ki, biz bəzi haqqında danışmaq olar yolları DynamoDB istifadə edə bilərsiniz. Belə ki, ilk bu sual off-- Mən bir çox verilənlər bazası var, nə eşitmək. Bir çox onlar hesab edirəm ki, bir verilənlər bazası var nə. Google əgər, bu görəcəksiniz. Bu edilən məlumatların strukturlaşdırılmış dəsti var kompüter, xüsusilə bir ki, müxtəlif yollarla erişilebilir. Hesab edirəm ki, yaxşı bir Güman müasir məlumat bazası müəyyən. Amma, çünki kimi deyil Bu şeyi bir neçə nəzərdə tutur. Bu strukturu nəzərdə tutur. Və bir kompüter var ki, nəzərdə tutur. Və məlumat bazaları vermədi kompüter həmişə mövcuddur. Verilənlər bazası həqiqətən çox yollarla mövcud olmuşdur. Bir belə daha yaxşı müəyyən verilənlər bazası bu kimi bir şeydir. A bazası təşkil saxlanılması, idarə mexanizmi, və məlumat almaq. Bu About.com edir. Beləliklə, mən, həqiqətən, danışıqlar, çünki bu kimi haqqında bir verilənlər bazası bir depo olan, bir depo məlumat mütləq kompüter oturur bir şey. Və tarix boyu biz həmişə kompüter idi yoxdur. İndi orta soruşsan nə geliştirici gün bir verilənlər bazası ki, mən almaq cavab var. Somewhere I məhsulları qalmaq bilər. Sağ? Və bu doğrudur. Amma bu, uğursuz. Verilənlər bazası həqiqətən Çünki müasir app təməli. Bu təməl var hər tətbiqi. Və siz qurmaq necə verilənlər bazası, necə strukturu ki, data necə diktə etmək niyyətindədir Siz miqyaslı kimi tətbiq həyata keçirir. Belə ki, mənim iş bu gün bir çox ilə məşğul olur nə zaman developers olur Bu yanaşma və sonra ilə məşğul olan ərizə ki, indi orijinal kənarda scaling edir pis dizayn niyyət və əzab. Belə ki, inşallah zaman Bu gün uzaq gəzmək, siz lazımdır alətlər bir neçə var saxlamaq lazımdır kəmər həmin səhvlər edilməsi. Oldu. Belə ki, bir az haqqında danışmaq edək Verilənlər bazası texnologiya qrafiki. Mən oxumaq edirəm Məqalədə ki, çoxdan və xətləri bir şey dedi bir çox poetik bəyanat var. Dedilər tarixi məlumatların emal edir yüksək su nişanı tam data bolluq. OLDU. İndi bu cür doğru danışarlar. Amma həqiqətən kimi baxmaq tarixi həqiqətən doldurulur məlumat təzyiq yüksək su nişanı ilə. Məlumatları dərəcəsi Çünki yeyilməsi aşağı gedir, heç vaxt. Bu, yalnız qədər çıxır. Və innovasiya oluşur biz data təzyiq, görmək olan məlumatların məbləği İndi sistemi gəlir. Və emal edilə bilməz səmərəli vaxt və ya dəyəri bilərsiniz. Biz başlamaq zaman ki məlumat təzyiq baxmaq. Beləliklə, biz baxdığımız zaman ilk bazası, bu qulaqlarımız arasında idi biridir. Biz bütün bu ilə anadan edirik. Bu gözəl bazası var. Bu, yüksək mövcudluğu var. O, həmişə var. Siz həmişə əldə edə bilərsiniz. Amma bu bir istifadəçi var. Mən sizə mənim fikirlərimi bölüşmək bilməz. Siz mənim fikir əldə edə bilməz Əgər siz onları istədiyiniz zaman. Və onların abilitiy belə yaxşı deyil. Biz hər şeyi unudurlar. Hər indi və sonra, bizə bir yarpaq və başqa mövcudluğu üçün hərəkət və biz hər şeyi itirmək ki, verilənlər bazası idi. Belə ki, bütün yaxşı deyil. Bu vaxt ərzində yaxşı işləyib biz gün geri zaman zaman həqiqətən bilmək üçün lazım olan bütün edir biz sabah getmək üçün gedir və ya ən yaxşı qida toplamaq yerləşir. Amma biz açılmış kimi kimi inkişaf mədəniyyət və hökumət başladı meydana gəlib, və biznes, inkişaf başladı biz biz həyata başladı bir az daha lazım nə Biz baş qoymaq bilər. Oldu? Biz rekord sistemləri lazımdır. Biz edə mağaza data olmaq üçün yerləri lazımdır. Belə ki, biz, yazı sənədləri başladı kitabxana və arxiv yaratmaq. Biz inkişaf etməyə başlamışdır sistemi ledger mühasibat. Və ledger hesablanması sistem , bir çox əsrlər boyu dünya qaçdı və bəlkə hətta minilliklərə kimi biz növ nöqtəsinə artıb harada ki, data yük olub həmin sistemlərin qabiliyyəti ehtiva etmək. Bu, həqiqətən, 1880-ci ildə baş verib. Sağ? 1880 US Census-ci ildə. Bu harada dönüş həqiqətən müasir data emal qeyd. Bu nöqtədə məlumatların hansı məbləği ki tərəfindən toplanmış edilmişdir ABŞ hökuməti nöqtəyə harada emal səkkiz il davam etdi. İndi səkkiz il ərzində kimi Siz siyahıya bilirik çalışır hər 10 il ərzində bu, belə ki, olduqca aydın o zaman biz 1890 siyahıya var data məbləği ki, emal gedirdi hökumət idi 10 ildən artıq gedir ki, bu başladılan yeni siyahıya edəcək. Bu bir problem idi. Belə ki, bir oğlan Herman adına Hollerith boyunca gəldi O, vahid rekord punch icad kartları, punch kart oxuyucusu, punch kart tabulator, üzləşdirilməsi of Bu texnologiya mexanizmləri. O formalaşır ki, şirkət vaxt, digər bir neçə ilə yanaşı, həqiqətən oldu əsaslarından biridir biz bu gün bilirik kiçik bir şirkət IBM çağırıb. Belə ki, IBM ilk idi Biznes Database. Və onlar nə həqiqətən var. Onlar data emal etdi. Punch yayılması belə kartları, bir usta mexanizmləri ki, leverage edə texnologiya sorted nəticə dəsti sorğu. Bu şəkil görə bilərsiniz orada biz çox az var bir az small--, lakin siz görə bilərsiniz bir çox usta mexaniki mexanizmi bir punch kart göyərtə olduğu. Və kiminsə alaraq bir az tornavida vasitəsilə yapışdırılması slots və onu artırılması ki, matç almaq üçün sıralaması nəticələri seçin. Bu cəmidir. Biz bu bütün vaxt Kompüter bu gün, Siz məlumat bazasında bunu edir. Biz sağ, özünüz nə üçün istifadə? İnsanlar birlikdə bu şeyi qoymaq. Və yayılması idi Bu punch kartları biz adlandırdığı data zərb alətləri daxil və məlumat makaraları, kağız lent. data emal sənayesi aldı player piano bir dərs. Player geri piano əsrin slots ilə kağız makaraları istifadə etmək üçün istifadə onu oynamaq üçün düymələri demək. Texnologiya adaptasiya edildi nəhayət, digital veri onlar ki, məlumat qoymaq bilər, çünki o kağız lent makaraları üzərində. İndi nəticəsində, data necə həqiqətən edildi Bu data birbaşa idi daxil olmaq Siz onu saxlanılır necə asılıdır. Mən bir tape haqqında məlumat qoymaq əgər, Mən xətti məlumat daxil olub. Mən bütün gəzmək idi tape bütün məlumat daxil olmaq üçün. Mən punch data qoymaq kartları, Mən bunu əldə edə bilər bir az daha təsadüfi moda, bəlkə tez. Amma necə məhdudiyyətlər var idi biz saxlanılır necə əsasında məlumatlara çıxış. Və bu bir problem idi '50s gedən. Yenə biz kimi görmək başlaya bilərsiniz emal üçün yeni texnologiyalar inkişaf data, sağ, bu açır yeni həlləri üçün qapı, Yeni proqramları üçün yeni ki məlumat üçün applications. Və həqiqətən, idarəetmə səbəb ola bilər niyə biz bu sistemlərin bəzi inkişaf etmiş. Amma iş sürətlə oldu Təkamül arxasında sürücü müasir məlumat bazası və Müasir fayl sistemi. Növbəti şey Belə ki, '50s qədər gəldi fayl sistemi idi təsadüfi giriş saxlama inkişafı. Bu gözəl idi. İndi birdən-birə, biz qoya bilər bizim Bu sabit diskler hər hansı faylları və biz təsadüfi bu məlumat əldə edə bilərsiniz. Biz ki, analiz edə bilərsiniz faylları həyata məlumat. Və biz dünyanın bütün həll data emal ilə problemləri. Və davam edən 20 və ya Təkamül qədər 30 il relational verilənlər bazası, hansı dünya indi biz qərara zaman məğlubiyyət bir depo lazımdır fayl daxilində məlumatların uzanmaq biz inşa etdik sistemləri. Sağ? Çox yayılmışdır Çox data yerləri, məlumatların de-təkrarlanması, və saxlama dəyəri böyük idi. '70s, ən bahalı resurs Kompüter idi ki, storage idi. prosessor idi sabit xərci kimi baxdı. Mən qutusu almaq zaman, CPU bəzi çalışır. Bu olmadığını iplik olacaq Bu, həqiqətən iş və ya deyil. Bu, həqiqətən bir batmış dəyəri var. Amma nə kimi məni başa iş saxlama edir. Mən növbəti daha çox disk almaq lazımdır əgər ay, mən ödəmək bir real dəyəri var. Və storage bahalı. İndi biz sürətli irəli 40 il və fərqli bir problem var. compute indi ən bahalı resurs. storage ucuz. Mən biz hər yerdə getmək bilər, demək bulud və biz ucuz saxlama tapa bilərsiniz. Amma nə tapa bilmirəm ucuz compute edir. Bu gün təkamül belə texnologiya, verilənlər bazası texnologiya, həqiqətən ətrafında yönəldilib paylandı bazaları ki, əziyyət yoxdur miqyaslı eyni tipli relational verilənlər bazası məhdudiyyətlər. Biz bir az danışmaq lazımdır həqiqətən nə deməkdir. Amma səbəblərindən biri və şeylərdir geridə sürücü məlumat təzyiq danışdıq. Data təzyiq bir şey deyil ki, yenilik çeker. Və artıq baxsaq Son beş ildə Bu nə məlumatların chart edir ümumi müəssisə üzrə yük Son beş il kimi görünür. Və Thumb ümumi qayda bu days-- Siz Google-- getmək əgər məlumatların 90% ki, Biz bu gün saxlamaq, və o Son iki il ərzində yaradılan. OLDU. İndi bu yeni bir trend deyil. Bu oldu bir meyl edir 100 il üçün gedir. Ever Herman Hollerith-ci ildən punch kart inkişaf, biz data depolar tikinti olduğunuz və fenomenal dərəcələri məlumatların toplanması. Belə ki, son 100 il ərzində, Biz bu tendensiya gördük. Ki, dəyişdirmək niyyətində deyil. Irəli gedir, biz görmək olacaq Bu, əgər sürətli trend. Və bu kimi görünür nə görə bilərsiniz. 2010-cu ildə iş bir olsaydı rəhbərliyi altında məlumatların terabayt, onlar deməkdir gün məlumatların 6.5 petabayt yaddaşa malik idarə. Bu 6500 dəfə daha çox məlumat var. Mən bu bilirik. Mən hər gün bu iş ilə işləmək. Beş il bundan əvvəl mən şirkətlərə danışmaq olardı nə bir ağrı haqqında mənə kim danışmaq olardı Bu məlumatların terabytes idarə edir. Onlar danışmaq olardı biz necə haqqında mənə Bu yəqin ki, davam edir bir petabyte və ya iki olmaq bir neçə il ərzində. Bu eyni şirkətlər Mən cavab edirəm bu gün, və onlar haqqında mənə söhbət edirik problem idarə orada olan on, məlumatların 20 petabayt yaddaşa malik. Partlaması Belə ki, sənayesində data böyük idarə olunur daha yaxşı həlli üçün lazımdır. Və relational verilənlər bazası yalnız tələb qədər yaşayan deyil. Və belə bir xətti var məlumat təzyiq arasında korrelyasiya və texniki yenilik. Tarix bizə göstərir Bu, zamanla, zaman məlumatların həcmi ki, emal etmək lazımdır sisteminin gücü artıq ağlabatan müddətdə onu emal və ya ağlabatan dəyəri, sonra yeni texnologiyalar bu problemləri həll etmək üçün icad olunur. Həmin yeni texnologiyalar, öz növbəsində, qapı açmaq problemlərin bir dəsti, olan hətta daha çox məlumat toplanması edir. İndi biz bu dayandırmaq fikrində deyilik. Sağ? Biz bu dayandırmaq fikrində deyilik. Niyə? Siz hər şeyi bilmək bilməz, çünki kainatın bilmək var. Və kimi uzun biz diri olduğunuz kimi insan tarix boyu biz həmişə daha çox bilmək üçün idarə edir. Belə ki, biz hərəkət hər qarış kimi görünür elmi kəşf yol aşağı, biz data məbləği vurulması olunur biz dözərək emal etmək lazımdır ki, biz daha çox və daha çox açmaq kimi həyat daxili çalışmaları haqqında kainatın necə işlədiyini haqqında elmi kəşf sürücülük, və ixtira ki bu gün edirik. məlumatların həcmi yalnız daim artırır. Belə ki, ilə məşğul olan Bu problem çox böyükdür. Hər biri So biz NoSQL niyə kimi baxmaq? Necə NoSQL bu problemi həll edir? Yaxşı, relational verilənlər bazası, Yapılandırılmış Query Language, SQL-- ki, həqiqətən bir tikinti var relational bu şeylər bazasında bir saxlanması üçün optimize. Geri '70s, yenə, disk bahalı. saxlama ehtiyatın həyata Müəssisədə ebedi deyil. Bilirəm. Mən bunu yaşadıq. Mən üçün storage sürücü yazdı enterprised superserver şirkət geri "90-cı illərdə. Və alt xətt bir incidici storage array yalnız bir şey idi ki, Müəssisədə hər gün baş verib. Və dayandırılıb, heç vaxt. Ali sıxlığı storage, tələb yüksək sıxlığı saxlanması üçün, və daha səmərəli saxlanması üçün Bu dayandırdı heç devices--. Və NoSQL böyük texnologiya Bu data normallaşdırır, çünki. Bu data de-dublikatları. Bu strukturunda məlumat verir ki, hər giriş model aqnostik edir. Birden çox applications ki, hit bilər SQL verilənlər bazası, ad hoc sorğu run, və forma məlumat almaq ki, onlar Onların iş yükünün emal etmək lazımdır. Ki, fantastik səslənir. Lakin bottom line hər hansı ilə sistemi, hər şeyi aqnostik varsa, heç bir şey üçün optimize edilmişdir. OLDU? Və biz almaq nə relational verilənlər bazası. Bu saxlanması üçün optimize. Bu normalized var. Bu relational var. Bu ad hoc sorğu dəstəkləyir. Və bu və şaquli tərəzi. Mən böyük bir SQL verilənlər bazası almaq lazımdır, əgər və ya daha güclü SQL verilənlər bazası, Mən dəmir böyük parça almaq gedin. OLDU? Mən müştərilərin bir çox çalışmış əsas yükseltmeleri vasitəsilə olmuşdur ki, onların SQL infrastruktur yalnız altı ay sonra tapmaq üçün, onlar yenidən divar vuruş edirik. Və Oracle və ya MSSQL olan cavab və ya başqa heç kimə daha böyük qutusu almaq. Yaxşı gec-tez, bir ala bilməz box böyük ki, real problem var. Biz, həqiqətən, hər şeyi dəyişdirmək lazımdır. Belə ki, bu işləyir? Bu offline üçün yaxşı işləyir analytics, OLAP tipli iş yükünün. SQL aid olduğu və həqiqətən var. İndi, bir çox online bu gün istifadə olunur işlem emal tipli applications. Və bu yalnız gözəl işləyir istifadə bəzi səviyyədə, lakin bu, yalnız miqyasında deyil NoSQL yoxdur yoludur. Və biz bir az danışmaq lazımdır ki, nə haqqında bit. İndi, NoSQL, digər tərəfdən, daha kompüterdə üçün optimize edilmişdir. OLDU? Bu aqnostik deyil giriş model. Biz de-normallaşıb zəng nə strukturu və ya bir hiyerarşik quruluşu. bir relational verilənlər bazası məlumatların Çox masalar birlikdə qatıldı Sizə lazım görünüşü istehsal. bir NoSQL verilənlər bazası data Bir sənəd saxlanılır ki, iyerarxik strukturu var. Normal olardı ki, data bütün ki, görünüşü istehsal birlikdə qatıldı bir sənəd saxlanılır. Və biz haqqında bir az danışmaq lazımdır necə çizelgeleri bir neçə çalışır ki,. Amma burada fikir saxlamaq ki, bu instantiated Baxışların kimi data. OLDU? Siz üfüqi miqyaslı. Sağ? Mən artırmaq lazımdır əgər Mənim NoSQL çoxluq ölçüsü, Mən böyük bir qutu almaq üçün ehtiyac yoxdur. Mən bir qutusu almaq. Mən birlikdə bu klaster və mən ki, data qanadüstü bilər. Biz bir az danışmaq lazımdır sharding nə olmaq ki, verilənlər bazası miqyaslı edə çox fiziki cihazlar arasında və maneə aradan qaldırılması şaquli miqyaslı məni tələb edir. Belə ki, həqiqətən, online üçün inşa işlem və miqyaslı. Böyük bir fərq var burada hesabat arasında, sağ? Hesabat, mən bilmirəm sual soruşmaq üçün gedirəm. Sağ? Reporting-- kimsə olan əgər Mənim marketinq şöbəsi Mənim müştərilərə neçə izlersin istəyir Bu xarakterik olan Bilmirəm bu day-- alıb nə onlar xahiş olacaq sorğu. Belə ki, aqnostik olmaq lazımdır. İndi bir online işlem tətbiqi, Mən soruşuram hansı suallar bilir. Mən proqram inşa çox xüsusi bir iş. OLDU? Mən data optimize Belə ki ki, iş dəstək saxlamaq, daha sürətli olacaq. Və niyə NoSQL bilərsiniz var həqiqətən çatdırılması sürətləndirmək xidmət həmin növ. Oldu. Beləliklə, biz daxil olacaq burada nəzəriyyə bir az. Və bəzi gözləri bir az geri roll bilər. Amma onu saxlamaq üçün cəhd edəcəyik Mən kimi yüksək səviyyədə. Layihənin əgər Belə ki, idarə var bir tikinti adlı məhdudiyyətlərin üçbucağı. OLDU. constrains diktəsi üçbucağı Siz hər şeyi hər zaman ola bilməz. Sizin pasta var və çox yemək bilməz. Belə ki, layihənin idarə ki, üçbucaq məhdudiyyətlər, siz ucuz ola bilər Siz sürətli ola bilər və ya bu yaxşı ola bilər. Iki seçin. Siz bütün üç ola bilməz, çünki. Sağ? OLDU. Belə ki, bu bir çox haqqında eşitmək. Bu üçlü sıxıntı var üç sıxıntı üçbucağı, və ya dəmir üçbucaq oftentimes-- deyil Siz menecerləri layihənin danışmaq zaman, Onlar bu barədə danışmaq lazımdır. İndi, məlumat bazaları var öz dəmir üçbucağı. Və məlumatların dəmir üçbucağı biz CAP teoremi zəng edir. OLDU? CAP teoremi diktəsi necə bazaları fəaliyyət göstərir çox xüsusi bir şəraitdə. Və biz haqqında danışmaq lazımdır ki, vəziyyəti nə. Amma üçbucaq üç xal, belə ki, C, ardıcıllıq danışmaq. OLDU? Belə ki, cap, ardıcıllıq bütün o deməkdir ki, verilənlər bazası əldə edə bilərsiniz müştərilər həmişə çox olacaq məlumatların ardıcıl görünüşü. Kimsənin mý iki fərqli şeylər görürük. OLDU? Mən bazası görürsünüzsə, Mən eyni görünüşü görüyorum Mənim tərəfdaş kimi kim görür eyni verilənlər bazası. Bu ardıcıllıq var. Mövcudluğu o deməkdir ki, əgər Verilənlər bazası online, bu əldə edilə bilər, bütün müştərilərə həmişə olacaq ki, oxumaq və yazmaq etmək. OLDU? Belə ki, hər bir müştəri ki, verilənlər bazası oxuya bilərsiniz həmişə mümkün oxunacaq məlumat və məlumat yazın. Və bu halda əgər, Bu mövcud sistem var. Üçüncü nöqtə nədir biz bölüm tolerantlıq çağırırıq. OLDU? Partition tolerantlıq vasitələri Sistem yaxşı işləyir ki, fiziki şəbəkə baxmayaraq qovşaqlarının arasında arakəsmələr. OLDU? Belə ki, çoxluq qovşaqlarının bilməz bir-birinə danışmaq nə olar? Oldu. Belə ki relational verilənlər bazası choose-- bu iki seçə bilərsiniz. OLDU. Belə ki relational verilənlər bazası seçin ardıcıl və mövcud olmaq. Partition arasında olur Data mağaza DataNodes, verilənlər bazası qəzaları. Sağ? Bu, sadəcə aşağı gedir. OLDU. Bu onlar nə böyük qutuları ilə inkişaf. Sağ? No-- adətən, bir çoxluq var, çünki verilənlər bazası, onların çox yoxdur ki, şəkildə fəaliyyət göstərir. Amma ən verilənlər bazası miqyaslı şaquli bir qutusu ərzində. Onlar lazımdır, çünki ardıcıl və mövcuddur. Bir bölüm inyeksiya üçün olsaydı, sonra bir seçim olardı. Siz arasında seçim etmək lazımdır ardıcıl və mövcud olan. Və NoSQL verilənlər bazası nə var. Oldu. Belə ki, bir NoSQL verilənlər bazası, onu iki tatlar gəlir. Biz yaxşı yaxşıdır çox tatlar gəlir, lakin bu iki əsas ilə gəlir nə characteristics-- biz CP bazası, və ya zəng ardıcıl və partition tolerantlıq sistemi. Bu uşaqlar seçim zaman qovşaqlarının, bir-biri ilə əlaqə itirmək biz imkan fikrində deyilik insanlar bir daha yazmaq. OLDU? Ki, partition çıxarılır qədər, yazmaq giriş bağlanıb. Ki, onlar mövcud deyilik deməkdir. Onlar ardıcıl istəyirik. Ki, görəndə partition özünü yeritmək, biz indi uyğundur biz fikrində deyilik, çünki iki data dəyişiklik imkan müstəqil bölüm tərəflər bir-birinə. Biz olacaq rabitə bərpa hər hansı bir yeniləmə əvvəl data icazə verilir. OLDU? növbəti tat, bir AP sistemi olacaq və ya mövcud və parçalanmış tolerantlıq sistemi. Bu uşaqlar qayğı yoxdur. Sağ? Bir olur bir node biz bunu almaq lazımdır, yazın. Beləliklə, mən data təkrarlanmağa alıram Çox qovşaqlarının arasında. Bu qovşaqlarının müştəri, müştəri gəlir əldə deyir, mən bəzi məlumatlar yazmaq üçün gedirəm. Node heç bir problem, deyir. node onu alır yanında Eyni rekord yazma, o heç bir problem demək olacaq. Somewhere geri sonunda, ki, data kopya olacaq. Və sonra kimsə həyata olacaq uh-oh, həyata onlar sistemi, uh-oh, iki tərəf üçün bir güncelleştirme olub. Biz nə etməliyəm? Və nə onlar nə var Onlar bir şey ki, onlara data dövləti həll etmək üçün imkan verir. Və biz haqqında danışmaq lazımdır növbəti chart edir. Thing burada qeyd etmək. Mən də almaq niyyətində deyiləm çox bu daxil, bu, çünki dərin data nəzəriyyə daxil olur. Amma bir işlem var çərçivə ki bir relational sistemində çalışır ki, Mənə təhlükəsiz yenilikləri etmək üçün imkan verir verilənlər bazası çox şəxslərə. Və bu yenilikləri baş verəcək bütün bir dəfə və ya bütün. Bu ACID əməliyyatlar adlanır. OLDU? ACID, bizə ardıcıllıq atomicity verir, təcrid və davamlılıq. OLDU? Bu, bütün, atom, əməliyyatlar deməkdir Mənim yenilikləri baş və ya onlar deyil. Ardıcıllıq o deməkdir ki, Verilənlər bazası həmişə olacaq ardıcıl halına gətiriləcək bir yeniləmə sonra dövlət. Mən bir verilənlər bazası tərk heç vaxt bir yeniləmə tətbiq sonra pis dövlət. OLDU? Belə ki, bir az fərqli CAP ardıcıllıq çox. CAP ardıcıllıq deməkdir mənim müştərilər həmişə məlumatları görə bilərsiniz. ACID ardıcıllıq deməkdir ki, bir əməliyyat məlumatları yaxşı, həyata. Mənim münasibətlər bütün yaxşı. Mən bir valideyn sıra silmək fikrində deyiləm və yetim uşaqlar bir dəstə tərk bəzi digər cədvəldə. Mən ardıcıl Ben əgər bu baş edə bilməz turşu əməliyyat. Təcrid əməliyyatlar o deməkdir ki, həmişə bir-birinin ardınca baş verəcək. məlumatların Sonuç eyni dövlət olacaq bu əməliyyatlar kimi ki, eyni vaxtda verilib seri edam edildi. Belə ki, concurrency var bazasında nəzarət. Belə ki, əsasən, mən arttırmayı bilməz iki dəfə əməliyyatları ilə eyni dəyəri. Amma bu dəyər üçün 1 əlavə demək əgər, və iki əməliyyatlar gəlib bir var, bunu cəhd ilk orada almaq üçün gedir və digər bir-nin sonra orada almaq üçün gedir. Belə ki, sonunda, mən iki əlavə edib. Mən demək nə görmək? OLDU. Davamlılıq olduqca sadə deyil. Zaman əməliyyat qəbul, bu hətta orada olacaq Sistem çökerse. Ki, sistem bərpa zaman ki, törədilib əməliyyat həqiqətən var olacaq. Belə ki, zəmanət var ACID əməliyyatların. Bu olduqca gözəl zəmanət var bir bazasında var, lakin onlar dəyəri gəlir. Sağ? Problem Çünki Bu çərçivədə ilə data bir bölüm var, əgər set, bir qərar qəbul etmək lazımdır. Mən imkan üçün gedirəm bir tərəfdən və ya digər yenilikləri. Ki, baş verərsə, sonra mən artıq gedirəm saxlamaq imkanına malik olmaq üçün bu xüsusiyyətləri. Onlar ardıcıl olmayacaq. Onlar təcrid olmaz. Aşağı pozur burada relational verilənlər bazası üçün. Bu səbəb relational deyil verilənlər bazası şaquli miqyaslı. Digər tərəfdən, biz nə BASE texnologiya deyirlər. Və bu sizin NoSQL Databases var. Oldu. Belə ki, biz CP, AP verilənlər bazası var. Bu əsasən dediyimiz mövcud yumşaq dövlət, nəticədə ardıcıl. OLDU? Əsasən mövcud, çünki onlar bölüm tolerant istəyirik. Onlar həmişə olacaq orada var, hətta qovşaqlarının arasında şəbəkə bölüm. Mən bir node danışmaq olar, mən deyiləm məlumatları oxumaq mümkün olacaq. OLDU? Mən həmişə yazmaq ola bilər data Mən ardıcıl platforma Ben əgər. Amma məlumatları oxumaq mümkün olacaq. yumşaq dövlət göstərir Hesab edirəm ki, data oxumaq zaman, digər qovşaqlarının eyni ola bilər. Doğru bir node verilib əgər çoxluq başqa yerdə və arasında təkrar deyil cluster hələ mən ki, məlumat oxumaq zaman ki, dövlət ardıcıl ola bilər. Lakin, olacaq nəticədə ardıcıl, yəni bir yazmaq sisteminə edilir, Bu qovşaqlarının arasında kopya edəcək. Və nəhayət, dövlət qaydada gətiriləcək, və ardıcıl dövlət olacaq. İndi CAP teoremi həqiqətən yalnız bir şərtlə oynayır. Bu zaman ki şərtdir. Zaman fəaliyyət göstərən, çünki normal rejimi, heç bir bölüm var, hər şey ardıcıl və mövcuddur. Siz yalnız CAP narahat ki, bölüm zaman. Belə ki, o nadirdir. Amma sistem o reaksiya necə sisteminin hansı növü diktə baş biz ilə məşğul olursunuz. Belə ki, bir nəzər salaq nə ki AP sistemləri üçün kimi görünür. OLDU? AP sistemləri iki tatlar gəlir. Onlar var ləzzət gəlib master master, həmişə mövcud 100%. Onlar gəlib deyir, digər ləzzət, Siz, mən narahat gedirəm nə Bu bölümleme şey haqqında zaman faktiki bölüm baş verir. Əks halda, əsas var olacaq hüquqları almaq olacaq qovşaqlarının. OLDU? Cassandra kimi biz bir şey əgər. Cassandra bir master olacaq master, mənə hər hansı bir node yazmaq edək. Belə ki, nə olur? Beləliklə, mən bir obyekt var iki qovşaqlarının mövcuddur verilənlər bazası. Ki obyekt S. zəng edək Beləliklə, biz S. üçün dövlət var Biz bəzi əməliyyatları S davam edir ki,. Cassandra mənə imkan verir Çox qovşaqlarının yazın. Belə ki, mən bir almaq deyək iki qovşaqlarının s yazın. Yaxşı, nə baş başa biz bölümleme hadisə zəng. Ola bilər ki, bir fiziki şəbəkə bölüm. Amma dizayn sistemin, bu həqiqətən tezliklə bölümleme Mən iki qovşaqlarının bir yazmaq almaq kimi. Bu məni məcbur deyil bir node bütün yazın. Mən iki qovşaqlarının yazıram. OLDU? Belə ki, indi iki dövlət var. OLDU? Nə olacaq , tez və ya gec deyil bir təkrarlanması hadisə var olacaq. Var olacaq nə biz bir bölüm bərpa, adlı burada bu iki dövlətlər birlikdə geri gəlmək və bir alqoritm var olacaq ki, verilənlər bazası daxilində çalışır nə qərar verir. OLDU? Mənim cari olaraq, son yeniləmə ən AP sistemi qazanır. Belə ki, adətən var bir default alqoritm, nə Onlar bir callback zəng funksiyası, bir şey ki, Bu vəziyyət adlanacaq bir məntiq icra aşkar ki, münaqişənin həlli üçün. OLDU? default zəng və default ən AP bazaları resolver deyil, zaman damgası qazanır nə danışarlar. Bu son yeniləmə idi. Mən orada ki, yeniləmə qoymaq üçün gedirəm. Bu rekord atmaq bilər ki, mən bərpa günlük daxil off tökülür istifadəçi daha sonra geri gəlmək olar ki, və demək, hey, bir toqquşma var idi. Nə olub? Və həqiqətən bir rekord atmaq olar bütün toqquşma və Rollbacks və nə görmək. İndi, bir istifadəçi kimi, siz də edə bilərsiniz ki callback daxil məntiq daxildir. Belə ki, dəyişə bilərsiniz callback əməliyyat. Siz hey, mən istəyirəm, demək olar Bu data aradan. Mən cəhd etmək istəyirəm və bu iki qeydlər daxil. Amma ki, sizə var. Verilənlər bazası bilmir necə default ki, yoxdur. Time Ən çox, yalnız bir şey bazası necə demək nə bilir, Bu son bir rekord idi. Ki, qalib olacaq biri və mən qoymaq üçün gedirəm dəyəri var. Ki bölüm bərpa dəfə və təkrarlanması baş verir Biz dövlət, olan indi ki, baş S bütün bu obyektlərin birləşməsi dövlət. Belə ki, AP sistemləri bu var. CP sistemləri ehtiyac yoxdur bu barədə narahat. Tez bir partition gəlir kimi, çünki dövrəyə, onlar yalnız alaraq dayandırmaq yazır. OLDU? Belə ki, çox asandır ardıcıl olan ilə məşğul zaman hər hansı bir yenilikləri qəbul etmirik. CP sistemləri nə ilə ki, var. Oldu. Belə ki, bir az danışaq giriş nümunələri haqqında bit. Biz NoSQL haqqında danışmaq zaman, bu bütün erişim model haqqında. İndi SQL ad hoc, sorğu edir. Bu relational mağaza var. Biz narahat yoxdur giriş model haqqında. Mən bir çox mürəkkəb sorğu yazın. Gedir və məlumat alır. Yəni bu görünür nə kimi, normallaşma. , Bu quruluşu belə Biz məhsulları kataloq baxırıq. Mən məhsullarının müxtəlif növləri var. Mən kitab var. Mən albom var. Mən video var. məhsullar arasında əlaqələr bu kitablar, albom hər hansı bir və videolar masalar 1: 1. Oldu? Mən bir məhsul ID var, ki, ID uyğundur bir kitab, bir albom və ya video. OLDU? 1 əlaqələr: Bu 1 var bu masalar arasında. İndi onlar books-- var kök xassələri. Problem deyil. Bu əladır. Bir-bir əlaqələr, mən bütün almaq data edirəm ki, kitab təsvir etmək lazımdır. Albums-- albom yolları var. Bu çox bir zəng edir. Hər albom çox yolları ola bilər. Hər track üçün So albom, mən ola bilər bu uşaq cədvəldə bir rekord. Mən bir rekord yaratmaq Mənim albom masa. Mən çox qeydlər yaratmaq musiqi cədvəldə. Bir-to-çox əlaqələr. Bu əlaqələr nədir biz bir çox-to-çox çağırırıq. OLDU? Siz aktyor ola bilər ki, görəcəksiniz bir çox film, bir çox video. Belə ki, biz nə biz bu Xəritəçəkmə qoymaq arasında masa olan yalnız video ID aktyor ID xəritələr. İndi the qoşulur sorğu yarada aktyor aktyor video vasitəsilə video, və mənə bir gözəl siyahısını verir bütün kino və bütün aktyorları edən film idi. OLDU. Belə ki, burada biz gedin. Bir-bir üst səviyyə deyil əlaqələr; bir-to-çox, musiqi albomları; çox-to-çox. Bu üç yüksək səviyyəli var hər hansı bir məlumat bazasında münasibətlər. Siz necə bu bilirsinizsə münasibətlər birlikdə işləmək, sonra bir çox bilirik Artıq bazası haqqında. Belə ki, NoSQL fərqli bir az çalışır. Nin ikinci düşünmək edək nə görünür bütün məhsulları almaq getmək istəyirəm. Bir relational mağaza, mən bütün məhsulları almaq istəyirəm bütün məhsulların siyahısı. Bu sorğu bir çox var. Mən bütün kitab üçün bir sorğu var. Mən albom bir sorğu var. Mən bütün video üçün bir sorğu var. Mən onu qoymaq lazımdır bütün birlikdə siyahısı və geri xidmət sorğu proqram. Mənim kitab almaq üçün, qoşulmaq Məhsul və Books. Mənim albom almaq üçün, qoşulmaq lazımdır Products, Albums, və Tracks. Və mən, mənim video almaq üçün Videolar Məhsullar qoşulmaq, Aktyor video vasitəsilə qoşulmaq, və Aktyorlar gətirir. Belə ki, üç sorğu var. Çox kompleks sorğu bir nəticə set toplaşmaq. Ki, optimal az deyil. Bu danışmaq niyə zaman bir data strukturu haqqında daxil olmaq aqnostik olmaq üçün inşa pattern-- yaxşı ki, böyük. Və bu həqiqətən edə bilərsiniz Biz data təşkil etdik necə gözəl. Və nə bilirik? Mən yalnız bir aktyor üçün bir rekord var. Ki, sərin var. Mən bütün aktyor deduplicated sonra, və mən birliklər saxlanılır Bu mapping masa. Lakin, məlumat almaq bahalı olur. Mən bütün sistemi üzərində CPU göndərilməsi alıram birlikdə bu data strukturları qoşulma ki, data geri çəkmək etmək. Belə ki, necə ki, ətrafında əldə edirsiniz? NoSQL bu haqqında aqreqasiya deyil, normallaşma. Belə ki, biz istəyirik demək istəyirəm giriş model dəstəkləyir. Giriş model varsa applications, Mən bütün məhsulları almaq lazımdır. Nin bir masa bütün məhsulları qoymaq edək. Mən bir masa bütün məhsulları qoymaq, Mən yalnız bütün məhsulları seçə bilərsiniz ki, masa və mən bütün almaq. Yaxşı mən necə etməliyəm? Yaxşı NoSQL heç bir var masa strukturu. Biz bir az danışmaq lazımdır necə bu Dynamo DB işləyir. Amma eyni yoxdur atributları və eyni xassələri hər bir hər bir sıra da maddə, bir SQL masa nə kimi. Və nə bu mənə imkan verir nə çox şey var və mənə rahatlıq bir çox verir. Bu halda, mən mənim məhsul sənədlər var. Bu xüsusilə Məsələn, hər şey Products cədvəldə bir sənəddir. Və bir kitab üçün məhsul bilər bir kitab müəyyən bir növü ID. Və tətbiqi ki, ID keçmək olardı. Ərizə dərəcəli, mən gedirəm oh, bu nə rekord növü demək? Oh, bu kitab rekord var. Book qeydlər bu xüsusiyyətləri var. Mənə bir kitab obyekt yaratmaq imkan verir. Beləliklə, mən doldurmaq üçün gedirəm bu maddə ilə kitab obyekt. Next maddə gəlir və Bu maddə nə deyir? Yaxşı bu maddə bir albom deyil. Oh, mən bütün müxtəlif var ki, emal gündəlik, bu albom, çünki. Mən demək nə görmək? Belə ki, proqram tier-- I yalnız bütün bu qeydlər seçin. Onlar bütün gələn başlayın. Onlar bütün müxtəlif növləri ola bilər. Və bu proqram məntiq var ki növləri üzrə keçir və onları emal necə qərar verir. Yenə biz optimize edirik giriş model üçün şeması. Biz onu edirik bu masalar dağılması. Biz əsasən qəbul etdiyiniz Bu normalized strukturları, və biz tikinti edirik iyerarxik strukturları. Bu qeydləri hər biri Inside Mən array xüsusiyyətləri görmək üçün gedirəm. Albümleri Bu sənədin Inside, Mən musiqi seriallarda görüyorum. Həmin musiqi indi bu become-- əsasən bu uşaq masa ki, burada bu quruluş mövcuddur. Belə ki, DynamoDB bunu edə bilərsiniz. Siz MongoDB bunu edə bilərsiniz. Siz hər hansı bir NoSQL verilənlər bazası bunu edə bilərsiniz. Bu cür yaradın iyerarxik data strukturları Siz məlumat almaq imkan verir ki, çox tez indi, çünki mən uyğun yoxdur. Mən Tracks bir sıra daxil zaman masa, və ya Albums masa bir sıra, Hesab edirəm ki, şeması uyğun lazımdır. Mən atributu və ya var ki, masa müəyyən edilir əmlak. Onların hər biri, Hesab edirəm ki, bir sıra daxil zaman. Ki, NoSQL hal deyil. Mən tamamilə müxtəlif ola bilər hər sənəd xassələri Mən toplanması daxil edir. Belə ki, çox güclü mexanizmi. Və bu, həqiqətən, necə var sistem optimize. Əvəzinə indi sorğu, çünki Bütün bu masalar qoşulma yarım bir çox sorğu icra Mən lazım olan məlumatları geri çəkmək, Mən bir sorğu icra edirəm. Mən iterating alıram müəyyən nəticələr arasında. bu bir fikir verir NoSQL hakimiyyəti. I növ yan burada getmək üçün gedirəm və bu barədə bir az danışmaq. Bu daha növüdür marketinq və ya technology-- texnologiya marketinq müzakirə növü. Amma bu anlamaq üçün vacibdir biz üst baxsaq, çünki Burada bu chart, biz aradığınız dediyimiz nədir texnologiya şırınga curve. Və nə bu deməkdir yeni stuff dövrəyə girir. İnsanlar böyük hesab edirəm. Mən bütün problemləri həll etdik. Bu son ola bilər bütün hər şey üçün bütün olmalıdır. Onlar istifadə başlayın. Onlar bu məhsulları işləmir, deyirlər. Bu düzgün deyil. köhnə stuff daha yaxşı idi. Onlar bunu geri şeyi onlar yol. Və sonra nəhayət onlar nə, getmək? Bu məhsulları belə pis deyil. Oh, bu işləri necə. Onlar necə anlamaq dəfə işləri, onlar daha yaxşı əldə başlamaq. Və bu barədə lətifə Bu qədər xətləri cür nə biz Texnologiya qəbul Curve çağırırıq. Beləliklə, biz nə olur bir növ texnologiya trigger. Verilənlər bazası halda, Bu data təzyiq var. Biz yüksək su bal haqqında danışdı vaxt ərzində data təzyiq. Ki, data təzyiq müəyyən xit zaman point, bir texnologiya trigger var. Bu çox bahalı əldə edir. Bu data emal üçün çox uzun çəkir. Biz daha yaxşı bir şey lazımdır. Siz ixtiraçısı almaq orada ətrafında çalışan, həll nə tapmaq üçün çalışırıq. Yeni fikir nədir? Yaxşı nə gələn var bu şey üçün bir yoldur? Onlar bir şey ilə gəlmək. Və real ağrı ilə insanlar, qanaxma kənarında uşaqlar, onlar bütün tullanmaq lazımdır, Onlar bir cavab lazımdır, çünki. İndi istər-istəməz baş verir nə və nə Bu NoSQL indi baş verən. Mən bütün vaxt görürəm. Nə qaçılmaz olur insanlar yeni alət istifadə edərək başlamaq Eyni şəkildə onlar köhnə alət istifadə. Onlar onu tapmaq belə yaxşı iş deyil. Mən olan xatırlayıram bilməz əvvəllər bu gün söhbət. Amma bu, zaman kimi jackhammer icad edilmişdir, insanlar üzərində yelləncək etməyib onların baş beton etmek üçün. Amma ki, nə edir Bu gün NoSQL ilə olur. Ən mağazalar gəzmək varsa, onlar NoSQL mağazaları olmağa çalışırıq. Onlar edirik edir onlar NoSQL istifadə etdiyiniz və onlar yüklüyoruz relational şeması tam. Ki, necə çünki Onlar verilənlər bazası dizayn. Onlar nə merak edirik bu, çox yaxşı performans deyil? Boy, bu şey stinks. Mən bütün qorumaq üçün idi mənim ki, heç bir, kimi in-- qoşulur. Qoşulur saxlamaq? Niyə data keçirlər? Siz NoSQL data qoşulmaq yoxdur. Siz ümumi. Bu qarşısını almaq istəyirsinizsə, öyrənmək belə alət həqiqətən əvvəl necə istifadə başlayın. Cəhd və yeni vasitələrdən istifadə etməyin Eyni şəkildə siz köhnə alətləri istifadə olunur. Siz pis bir təcrübə olacaq. Və hər bir zaman bu barədə nə. Biz burada gələn başlamaq zaman, insanlar fiqurlu çünki necə vasitələrdən istifadə etmək. Onlar eyni şey idi relational verilənlər bazası icad edildi, və onlar fayl sistemləri əvəz edilmişdir. Onlar fayl sistemi qurmaq üçün cəhd relational verilənlər bazası ilə insanlar başa nə çünki. Bu iş deyil. Ən yaxşı təcrübələri dərk So texnologiya ilə çalışırıq böyükdür. Çox vacib. Beləliklə, biz DynamoDB daxil olacaq. DynamoDB AWS nin NoSQL platforma tam bacardı. Demək nə tam idarə edir? Bu ehtiyac yoxdur deməkdir həqiqətən bir şey narahat. Siz gəlib, siz demək bizə bir masa lazımdır. Bu qədər gücü lazımdır. Siz düyməsini basın və biz təmin edilməsi səhnə arxasında bütün infrastruktur. İndi çox böyükdür. Siz danışmaq zaman, çünki bir verilənlər bazası scaling haqqında NoSQL data qruplar da miqyaslı, çalışan petabayt yaddaşa malik, milyonlarla çalışan saniyədə əməliyyatlar, bunlar kiçik qruplar deyil. Biz hallarda minlərlə söhbət edirik. Hallarda minlərlə idarə, hətta virtual hallarda, butt bir real ağrı deyil. Mən hər dəfə düşünmək deməkdir əməliyyat sistemi patch çıxır və ya verilənlər bazası yeni versiyası. Bunun mənası nədir Sizə operativ? Bu, 1200 var deməkdir lazımdır server tərəfindən aydınlıq olmalıdır. İndi hətta avtomatlaşdırılması, ki, uzun müddət bilər. Ki, bir çox səbəb ola bilər əməliyyat baş ağrısı, Mən xidmətlər aşağı ola bilər, çünki. Mən bu verilənlər bazası yeniləmə kimi, mən mavi, yaşıl applications edə bilər Mən yerləşdirmək və təkmilləşdirmək yarım mənim qovşaqlarının, sonra digər yarısı yükseltin. O aşağı alın. Belə ki, infrastrukturun idarə miqyaslı olduqca ağrılı olur. Və AWS həyata ağrı almaq. Və NoSQL verilənlər bazası bilərsiniz qeyri-adi ağrılı ola onlar miqyaslı yol çünki. Üfüqi miqyaslı. Bir böyük NoSQL almaq istəyirsinizsə verilənlər bazası, daha çox qovşaqlarının almaq. Siz almaq hər node edir digər əməliyyat baş ağrısı. Belə ki, başqası sizin üçün bunu edək. AWS bunu edə bilərsiniz. Biz sənəd əsas dəyərləri dəstəkləyir. İndi biz çox getmədi digər chart daxil. Müxtəlif bir çox var NoSQL tatlar. Onlar əldə bütün növ istəyirik bu nöqtədə birlikdə munged. Siz DynamoDB baxmaq və bəli demək olar biz bir sənəd və əsas dəyəri də istəyirik Bu baxımdan saxlamayın. Və xüsusiyyətləri mübahisə edə bilər digər üzərində bir. Mənə, bu bir çox həqiqətən altı bir yarım digər bir çox edir. Bu texnologiyaların hər biri bir gözəl texnologiya və gözəl həll. Mən MongoDB yaxşı və ya demək deyil sonra Couch, Cassandra daha pis, sonra Dynamo, və ya əksinə. Mən bu yalnız variantları, deməkdir. Bu sürətli və bu Hər hansı bir miqyasda ardıcıl. Belə ki, bu ən böyük biridir bonuslar AWS ilə almaq. DynamoDB ilə qabiliyyəti bir tək rəqəmli aşağı almaq üçün Hər hansı bir miqyasda millisecond gizlilik. Bu sistemin bir dizayn qol oldu. Və biz edirik müştərilərimiz var saniyədə əməliyyatların milyonlarla. İndi o, bəzi keçmək lazımdır Burada bir neçə dəqiqə hallarda istifadə edin. Integrated giriş control-- biz dediyimiz var Identity Access Management, və ya IAM. Hər sistemi permeates, AWS təklif hər xidmət. DynamoDB istisna deyil. Siz giriş nəzarət edə bilərsiniz DynamoDB masalar. Sizin AWS tərəfindən hesabları bütün Across giriş rolu və icazələrin müəyyən IAM infrastruktur. Və bu əsas və ayrılmaz komponenti var biz Driven Proqramlaşdırma Hadisə zəng nə. İndi bu yeni paradiqma edir. Auditoriya: Necə doğru sizin dərəcəsi var saxta neqativlər qarşı müsbət Sizin kontrol sistemi? RICK Houlihan: True müsbət saxta neqativlər qarşı? Auditoriya: nə dönən Siz qaytarılması olmalıdır? Bir dəfə isə fərqli olaraq Bu doğrulamak zaman geri deyil? RICK Houlihan: Mən sizə deyə bilmədi. Hər hansı bir uğursuzluqlar varsa heç ki, Mən xahiş şəxs deyiləm xüsusi sual. Amma yaxşı bir sual var. Bilmək üçün mən maraqlı olardı özüm ki, həqiqətən. Və sonra yenə yeni paradiqma Tədbirdə idarə proqramlaşdırma edir. Bu ki, siz fikir kompleks applications dağıtmak ki bir çox, çox yüksək miqyaslı fəaliyyət göstərə bilər heç bir infrastruktur olmadan. Hər hansı bir sabit olmadan heç infrastruktur. Və biz bir az danışmaq lazımdır ki, biz kimi nə deməkdir haqqında çizelgeleri növbəti neçə almaq. Biz nə lazımdır ilk şey biz masalar haqqında danışmaq lazımdır edir. Dinamo üçün API data növləri. Ilk şey və lazımdır Bu baxdığımız zaman qeyd, Əgər hər hansı bir verilənlər bazası ilə tanış değilseniz, verilənlər bazası API həqiqətən iki növ Mən zəng ediyorum. Və ya API iki dəst. O biri olacaq inzibati API. Onlar qayğı şeyi məlumat bazasının funksiyaları. Storage mühərrik Nizamlama, yaradılması və masaları əlavə. yaradılması bazası kataloqlar və hallarda. DynamoDB Bu hər şeyə, siz çox qısa, qısa siyahıları var. Belə ki, digər məlumat bazaları, Siz onlarla görə bilərsiniz inzibati ki, əmrləri əmrləri konfiqurasiya üçün bu əlavə variantları. DynamoDB siz, çünki o lazım deyil sistem konfiqurasiya yoxdur, biz bunu. Beləliklə, siz nə etmək lazımdır yalnız şey mən lazım nə ölçüsü masa mənə. Belə ki, bir çox almaq əmrləri məhdud dəsti. Siz Table Update yaradın almaq, Masa, Cədvəl silin və Cədvəl təsvir edin. Həmin yalnız şeylər Siz DynamoDB üçün lazımdır. Siz storage ehtiyac yoxdur mühərrik konfiqurasiya. Mən təkrarçılığın narahat ehtiyac yoxdur. Mən sharding narahat ehtiyac yoxdur. Mən narahat ehtiyac yoxdur bu məhsulları hər hansı haqqında. Biz sizin üçün bütün yoxdur. Belə ki, yerüstü miqdarı var yalnız sizin boşqab off qaldırdı oldu. Sonra biz CRUD operatorları var. CRUD bir şey nə biz deyil verilənlər bazası zəng , Update, operatorlar sil yaradın. Bunlar ümumi verilənlər bazası əməliyyatları. Put maddə kimi şeylər, maddə, yeniləmə almaq maddələr, silə, toplu sorğu, tarar. Siz bütün masa scan istəyirsinizsə. Masadan hər şeyi çəkin. DynamoDB haqqında gözəl şeylərdən biri Bu paralel scanning imkan verir. Beləliklə, siz həqiqətən neçə Mənə bildirin bilər mövzuları ki, scan run etmək istəyirəm. Və biz bu mövzuları çalıştırabilirsiniz. Biz bu qədər scan fırlatmaq bilər çox mövzuları arasında belə ki, bütün masa tarayabilir çox tez DynamoDB kosmik. biz digər API Biz Streams API zəng nə. Biz də danışmaq fikrində deyilik İndi bu barədə çox. Mən bəzi content sonra var bu barədə göyərtə edir. Amma Akarsu həqiqətən running-- deyil time sifariş kimi hesab və bölüm dəyişiklik log. On baş verən hər şey masa axın göstərir. Hər masa yazmaq axın göstərir. Siz axın oxumaq və bilər siz bu şeylər edə bilərsiniz. Biz haqqında danışmaq lazımdır nə şeyi növləri təkrarlanması kimi şeylər ilə, orta göstəriciləri yaradılması. Həqiqətən cool Bütün növ şey ki, edə bilərsiniz. Data növləri. DynamoDB, biz də əsas dəstək dəyəri və sənəd data növləri. Ekranın sol tərəfində Burada, biz əsas növləri var. Açar dəyəri növləri. Bu strings var, nömrələri və binaries. Belə ki, yalnız üç əsas növləri. Və sonra bu dəstləri ola bilər. Gözəl şeylərdən biri NoSQL haqqında Siz xassələri kimi seriallarda ola bilər. Və DynamoDB ilə serialların ola bilər kök mülkiyyəti kimi əsas növləri. Və sonra sənəd növləri var. Necə bir çox insanlar JSON ilə tanış var? Qədər JSON ilə tanış uşaqlar? Bu, əsasən JavaScript var Object, Notation. Bu əsasən imkan verir bir iyerarxik quruluşu müəyyən edir. Siz bir JSON sənəd bilərsiniz DynamoDB ümumi komponentləri istifadə və ya bloklar mövcuddur ən proqramlaşdırma dilləri. Java varsa, sen Xəritələr və siyahıları baxaraq. Hesab edirəm ki, ərazi xəritəsi obyektləri yarada bilərsiniz. Əsas dəyərlər kimi xəritəsi xassələri kimi saxlanılır. Və bu siyahıları ola bilər o xassələri ərzində dəyərlər. Bu kompleks bilərsiniz iyerarxik strukturu bir atributu kimi bir DynamoDB maddə. DynamoDB masalar Belə ki, ən çox NoSQL verilənlər bazası, cədvəllər maddələr var. MongoDB siz ki bu sənədləri zəng. Və taxt baza olacaq. Həmçinin bir sənəd bazası. Siz bu sənədləri çağırırıq. Sənədlər və ya maddələr atributları var. Atributları mövcud ola bilər və ya maddə mövcud deyil. DynamoDB, orada var bir məcburi atributu. Yalnız bir relational verilənlər bazası kimi, Siz masa ilkin əsas var. DynamoDB bir hash düyməsini zəng nə var. Hash əsas benzersiz olmalıdır. Mən bir hash masa müəyyən zaman, əsasən nə mən deyən alıram hər bir maddə bir hash əsas var olacaq. Və hər hash əsas benzersiz olmalıdır. Hər maddə müəyyən edilir ki, unikal hash düyməsi ilə. Və yalnız bir ola bilər. Bu OK, lakin oftentimes nə insanlar lazımdır istədikləri bu hash edir bir az daha çox etmək üçün əsas yalnız bir unikal identifikator ola bilər. Oftentimes ki, hash düyməsini istifadə etmək istədiyiniz üst aqreqasiya bucket kimi. Və biz bunu yolu ilə biz bir sıra əsas dediyimiz əlavə. Yalnız bir hash əgər Belə ki, masa, bu unikal olmalıdır. Bir hash və sıra masa varsa, hash və sıra birləşməsi unikal olmalıdır. Belə ki, bu yol bu barədə düşünürəm. Forumda varsa. Və formada var, mövzu var ismarışları ki, bu cavab var. Mən bir hash ola bilər mövzu ID var əsas. Mən bir sıra əsas ola bilər, olan cavab ID edir. Bu yolla Mən bütün almaq istəyirsinizsə mövzu üçün cavablar, Mən yalnız hash sorğu edə bilər. Mənə bütün vermək demək yalnız bilərsiniz Bu hash var maddələr. Və mən hər sual almaq üçün gedirəm və ya mövzu üçün göndərin. Bu üst aggregations çox vacibdir. Onlar əsas giriş dəstək tətbiqi model. Ümumiyyətlə, bu danışan Biz nə etmək istəyirəm nə. Biz bu Masa istəyirəm Siz masa yük kimi, biz data strukturu istəyirəm belə bir şəkildə masa ərzində ki, proqram çox bilər tez o nəticələr almaq. Və oftentimes bunu yoldur biz bu aggregations saxlamaq üçün məlumat daxil edin. Ümumiyyətlə, biz data yayılması edirik parlaq bucket daxil gəlir kimi. Range düymələri me-- hash imkan düymələri bərabərlik olmalıdır. Mən bir hash sorğu, mən demək lazımdır Bu bərabər bir hash verir. Mən bir sıra sorğu, mən Mənə bir sıra vermək demək olar ki, hər cür istifadə olunur dəstək zəngin operator. Mənə bir hash üçün bütün maddələr verir. Bu, daha çox, bərabərdir Bu ilə başlayır, az, bu iki dəyərlər arasında mövcuddur? Sıra sorğu Belə ki, bu cür biz həmişə maraqlı olduğunu. İndi data haqqında bir şey, zaman Siz zaman məlumat daxil baxmaq Siz məlumat daxil, bu həmişə bir toplama haqqında. Bu qeydlər haqqında həmişə var bu ilə bağlıdır. Burada mənə hər şey verir ki, bütün that bu kredit kartı əməliyyatları ötən ay üçün. Ki, bir toplama var. Demək olar ki, hər şey nə Verilənlər bazası aqreqasiya bir növüdür. Müəyyən etmək üçün belə olan edə Bu buketler və bu sıra vermək on sorğu etmək üçün atributları, o zəngin sorğu, çox dəstək bir çox ərizə daxil nümunələri. Digər şey hash əsas So edir ki, bizə bir mexanizm verir ətrafında data yaymaq mümkün. NoSQL verilənlər bazası yaxşı iş zaman data bərabər deyil çoxluq arasında bölüşdürülür. Necə bir çox insanlar tanış alqoritmlər hashing ilə? Mən hash və hashing-- deyəndə bir hashing alqoritmi, çünki yaratmaq üçün qadir olan bir yoldur hər hansı bir dəyəri bir təsadüfi dəyəri. Bu halda belə, biz run hash alqoritm əsasında ND 5-dir. Mən ID var və bu halda Mənim hash əsas, 1, 2, 3 var. Mən hash alqoritm çalıştırdığınızda, Bu, geri gəlmək və demək olacaq yaxşı 1, 2 7B bərabərdir 48 bərabərdir 3 CD bərabərdir. Onlar bütün əsas yer üzərində yayılmışdır edirik. Və niyə bu etməliyəm? Əmin edir, çünki ki, mən Çox qovşaqlarının arasında qeydlər qoydu. Mən bunu edirəm tədricən, 1, 2, 3. Mən bir hash sıra var ki, bu halda çalışır, kiçik hash yer, Bu, FF 00 çalışır sonra qeydlər gəlib gedir və onlar getmək olacaq 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12. Nə baş verir? Hər insert eyni node gedir. Mən demək nə görmək? I yer split Çünki, və mən arasında bu qeydləri yayılmışdır və mən partition, mən demək gedirəm partition 1 54 əsas yer 0 var. Partition 2 89 55 edir. Partition 3 FF üçün AA edir. Mən incrementing xətti istifadə edirəm Belə ki Kimlikleri, siz nə edə bilərsiniz. 1, 2, 3, 4, 5, 6, 54 bütün yol. Mən hammering alıram kimi So sistemi qeydlər hər şey bir node gedən bitir. Bu yaxşı deyil. Yəni antipattern var. MongoDB onlar bu problem var Bir hash düyməsini istifadə etməyin, əgər. MongoDB sizə seçimi verir əsas dəyər hashing. Siz həmişə, əgər bunu etməlidir Bir incrementing hash istifadə etdiyiniz MongoDB əsas və ya olacaq bir node hər yazmaq nailing, və məhdudlaşdırılması olacaq pis yazmaq qabiliyyəti. Auditoriya: ondalık ki A9 169 deyilmi? RICK Houlihan: Bəli, bu haradasa orada ətrafında. A9, mən bilmirəm. Siz mənim ikili almaq istiyorum bu kalkulyator. Mənim beyin kimi işləmir. Auditoriya: Just tez bir Sizin Mongo yapılan yorumlar. Belə ki, gəlir obyekt ID edir Doğrudan Mongo ilə bunu? RICK Houlihan: bu bunu edir? Siz qeyd edin. MongoDB ilə, siz seçimi var. Siz hər bir sənəd müəyyən yerləşir bilər MongoDB bir çizgi ID olmalıdır. Ki, unikal dəyəri var. MongoDB siz daxil edə bilərsiniz bu hash və ya olub. Onlar yalnız sizə seçimi vermək. Siz bu bilirsinizsə təsadüfi, heç bir problem. Siz nə etmək lazımdır deyil. Siz ki, təsadüfi deyil ki bilirsinizsə Bu incrementing oldu, sonra hash yoxdur. İndi şey haqqında Siz hash dəfə, hashing bir dəyər və bu niyə hash düymələri həmişə Unikal sorğu, mən değiştirdik çünki dəyəri, indi bir sıra sorğu edə bilməz. Bu deyə bilmərəm bu və ya arasında, hash dəyəri niyyətində deyil, çünki faktiki dəyərinə bərabər olmalıdır. Belə ki, hash zaman əsas, yalnız bərabərlik var. Buna görə DynamoDB hash əsas deyil sorğu həmişə yalnız bərabərlik var. Belə ki, indi bir sıra əsas olan Hesab edirəm ki, sıra əsas əlavə, bu sıra əsas qeydlər bütün gəlmək və Onlar eyni bölüm saxlanılır almaq. Belə ki, onlar asanlıqla çox tez var Bu hash, çünki alınan, Bu sıra edir. Və hər şeyi görmək Eyni hash Eyni bölüm məkanında saxlanılır olur. Siz kömək üçün sıra düyməsindən istifadə edə bilərsiniz onun əsas yaxın veri tapın. Beləliklə, mən, həqiqətən, burada nə edirəm? Bu çox əlaqələr bir biridir. bir hash əsas arasında əlaqələr və sıra əsas çox biridir. Bir neçə hash düymələri ola bilər. Mən yalnız çox çeşidli ola bilər hər hash əsas biri düymələri. hash valideyn müəyyən edir, sıra uşaqlar müəyyən edir. Beləliklə, siz görə bilərsiniz analog burada var relational tikmək arasında və eyni növləri NoSQL da yaradır. İnsanlar haqqında danışmaq Nonrelational kimi NoSQL. Bu nonrelational deyil. Data həmişə münasibətləri var. Həmin münasibətlər yalnız fərqli modellenmiştir olunur. Bir az danışaq davamlılığı haqqında bit. Siz DynamoDB yazmaq zaman, yazır həmişə üç yol təkrar var. Üç AZ nin var, yəni. AZ nin mövcudluğu zonaları var. Siz mövcudluğu hesab edə bilər Bir veri mərkəzi kimi Zone məlumat mərkəzləri və ya bir toplusu. Bunlar coğrafi var bir-birindən təcrid müxtəlif günah zonaları daxilində arasında güc ızgaraları və vadiləri fərqli. Bir AZ A uğursuzluq deyil başqa yazmaq üçün gedir. Onlar da bağlıdır birlikdə qaranlıq lif ilə. Bu, bir sub dəstəkləyir 1 AZS arasında millisecond gizlilik. Belə ki, real vaxt data replications Çox AZS bilən. Və oftentimes multi AZ applications yüksək mövcudluğu tələblərə cavab ən müəssisə təşkilatlarının. Belə ki, DynamoDB yayılmışdır default üç AZS daxilində. Biz yalnız bilik yazmaq olacaq Bu üç qovşaqlarının iki geri gələndə və mən var, Bəli, deyirlər. Niyə ki? Read tərəfində biz istəyirik, çünki yalnız zaman geri məlumat vermək üçün gedir biz iki qovşaqlarının onu almaq. Mən rast təkrarlanmağa alıram üç, və mən iki oxuyuram, Mən həmişə zəmanət edirəm ən azı bir var o olmaq deyilir məlumatların ən cari surəti. Ki DynamoDB ardıcıl edir budur. İndi açmaq üçün seçə bilərsiniz o ardıcıl off deyilir. Bu halda mən demək gedirəm, Mən yalnız bir node oxumaq lazımdır. Mən gedir təmin edə bilməz ən cari data olacaq. Bir yazma gəlir Belə ki, Bu, hələ təkrar deyil ki, surətini almaq olacaq. Yəni nəticədə ardıcıl oxu var. Və nə ki, yarısı dəyəri. Belə ki, bu barədə düşünmək bir şeydir. Zaman DynamoDB oxuyaraq edirik Siz oxumaq gücü yaradılması edirik ədəd, nəticədə seçerseniz ardıcıl, bir çox ucuzdur, oxuyur Bu yarısı dəyəri var. Və belə ki, sizə pul saxlayır. Amma ki, sizin seçimi var. Bir ardıcıl oxu istəyirsinizsə və ya bir nəhayət ardıcıl oxu. Ki, seçə bilərsiniz bir şey var. Nin göstəriciləri haqqında danışmaq edək. Belə ki, qeyd üst aqreqasiya. Biz hash düymələri var, və sonra biz sıra açarları var. Bu gözəldir. Və, əsas masa Mən bir hash əsas var, mən bir sıra əsas var. Bunun mənası nədir? Mən bir atributu var ki, mən qarşı zəngin sorğu çalıştırabilirsiniz. Bu sıra əsas var. ki item-- digər atributları Mən o atributları filtreleyebilirsiniz. Amma bunu şeyi kimi edə bilməz ilə başlayır, və ya daha böyükdür. Hesab edirəm ki, necə edə bilərəm? Mən bir index yaratmaq. Iki növ var DynamoDB da göstəriciləri. Bir index həqiqətən masa bir görünüşü. Və yerli orta index. biz haqqında danışmaq lazımdır ilk biri. Belə ki, yerli Secondaries coexisted olunur data kimi eyni bölüme. Və kimi, onlar haqqında eyni fiziki node. Onlar ardıcıl zəng edir. Mənası, onlar etiraf edəcək masa ilə yanaşı, yazmaq. Yazma gəldiyi zaman, biz indeksi vasitəsilə yazmaq lazımdır. Biz masa qədər yazmaq lazımdır sonra biz etiraf edəcək. Belə ki, ardıcıl var. Write sonra masa etiraf, ki, təmin edir yerli orta index məlumatların eyni görmə olacaq. Amma nə onlar imkan verir nə edir alternativ sıra düymələri müəyyən edir. Eyni hash istifadə etmək əsas cədvəl kimi əsas, onlar çünki birgə yerləşən Eyni bölüm, onlar ardıcıl istəyirik. Amma bir index yarada müxtəlif sıra düymələri ilə. Belə ki, məsələn, əgər mən bir istehsalçısı idi ki, bir xam hissələri masa gələn idi. Və xammal hissələri gəlib və sərbəst toplaşmaq toplandığında edirik. Və bəlkə bir geri var. Bu tərəfindən edildi hər hansı bir hissəsi Bu tarixdən sonra istehsalçısı, Mən xətti çəkmək lazımdır. Mən index fırlatmaq bilər ki, axtarır olunacaq tarixi ümumiləşdirmək xüsusi hissəsinin istehsalı. Üst səviyyə masa idi əgər Belə ki, Artıq istehsalçı tərəfindən hashed, bəlkə mən, part ID təşkil edilmişdir ki, masa off bir index yarada istehsalçı tərəfindən hashed və istehsal tarixi idi. Mən demək olar ki, yol, bir şey ki, bu tarixlər arasında istehsal edilmişdir, Mən xətti çəkmək lazımdır. Belə ki, yerli orta index var. Bu təsiri var Sizin hash əsas yer məhdudlaşdırılması. Onlar birgə mövcud Eyni storage node, Onlar hash düyməsini məhdudlaşdırmaq 10 qiqabayt üçün yer. DynamoDB altında masalar, bölüm olacaq Sizin masa hər 10 qiqabayt. Məlumatların 10 gigs qoymaq zaman, biz [PHH] getmək və biz başqa bir node əlavə edin. Biz LSI split deyil Çox arakəsmələr arasında. Biz masa split lazımdır. Amma biz LSI parçalanması deyil. Ki, bir şey belə anlamaq üçün vacibdir Çox edirik əgər, çox çox böyük aggregations, sonra məhdud olacaq Sizin LSIs 10 qiqabayt üçün. Ki, işi varsa, biz qlobal secondaries istifadə edin. Global Secondaries var həqiqətən başqa masa. Onlar off tamamilə mövcud Sizin əsas masa yan. Onlar mənə bir tapmaq üçün imkan verir tamamilə fərqli quruluşu. Data daxil edilir, belə ki, hesab iki müxtəlif cədvəllər daxil strukturlaşdırılmış iki müxtəlif yollarla. Mən tamamilə müəyyən edə bilərsiniz müxtəlif hash düyməsini basın. Mən tamamilə müəyyən edə bilərsiniz müxtəlif sıra düyməsini basın. Mən bu çalıştırabilirsiniz tamamilə müstəqil. Əslində kimi, mən var Mənim oxu gücü nəzərdə və potensialının yazmaq mənim qlobal orta göstəriciləri tamamilə müstəqil mənim əsas masa. Hesab edirəm ki, index müəyyən, mən demək Bu nə qədər oxumaq və yazmaq gücü istifadə edərək olacaq. Və ayrı mənim əsas masa. İndi göstəriciləri həm də bizə imkan yalnız hash və sıra düymələri müəyyən lakin onlar bizə imkan verir əlavə dəyərlər layihə. Mən index off oxumaq istəyirsinizsə Belə ki, Mən məlumatların bəzi toplusunu almaq istəyirəm, Mən əsas geri ehtiyac yoxdur masa əlavə atributları almaq üçün. Mən o əlavə layihə edə bilərsiniz masa atributları giriş model dəstək. Düşünürəm ki, biz yəqin ki, bəzi əldə etdiyiniz bilirik həqiqətən, alaq otları nəzərə almaq, həqiqətən Burada bu məhsulları bəzi. İndi bu həyata üzmək var. Auditoriya: [işitilemez] --table əsas hash idi demək? Orijinal hash? Multi-slats? RICK Houlihan: Bəli. Bəli. masa əsas əsasən geri maddə göstərir. Belə ki, bir index bir göstərici geri masa orijinal maddələr. İndi bir yaratmaq üçün seçə bilərsiniz yalnız masa açarı var index, və digər xüsusiyyətləri. Mən niyə edə bilər? Bəli, bəlkə mən çox böyük maddələr var. Mən, həqiqətən, yalnız bilmək lazımdır which-- Mənim giriş model, demək olar ki, olan maddələr bu əmlak ola? Maddə qayıtmaq lazım deyil. Mən yalnız bilmək lazımdır olan maddələr ehtiva edir. Belə ki, göstəriciləri inşa edə bilərsiniz yalnız masa əsas var. Amma ki, ilk növbədə nə var bazasında bir index edir. Bu tez edə üçün var , qeyd olan müəyyən olan satırlar, olan cədvəldə maddələr var Mən üçün axtarış alıram xassələri. GSIS, belə ki, necə çalışır? GSIS əsasən asinxron var. yeniləmə masa gəlir, masa sonra asynchronously yenilənir Sizin GSIS bütün. GSIS Buna görə nəticədə ardıcıl. Bu qeyd etmək vacibdir zaman GSIS tikinti edirik, və siz oluşturuyorsanız anlamaq aggregation-- bir ölçüsü İndi yaxşı bir nümunə deyək burada istehsalçısıdır. Mən danışdıq bilər edirəm bir tibbi cihaz istehsalçısı. Tibbi cihaz istehsalçıları oftentimes serialized hissələri var. getmək hissələri bir hip əvəz bütün onlara bir az seriya nömrəsi var. Onlar milyonlarla var bilər və milyonlarla hissələri milyardlarla Onlar gəmi bütün cihazlar. Bəli, onlar altında məcmu lazımdır müxtəlif ölçüləri, bütün hissələri toplantıda, bütün edildi hissələri müəyyən bir xətt üzərində, bütün gəldi hissələri müəyyən bir istehsalçı ilə müəyyən bir tarixi. Bəzən bu aggregations milyardlarla qədər almaq. Beləliklə, mən bəzi iş əziyyət çəkir bu uşaqlar onlar yaratmaq olduğunuz bu ginormous aggregations onların orta göstəriciləri ilə. Onlar xam hissələri ola bilər yalnız hash kimi gəlir masa. Hər hissəsi bir unikal seriya nömrəsi var. Mən hash kimi seriya nömrəsini istifadə edin. Bu gözəldir. Mənim xam data masa yayılmışdır bütün əsas məkan arasında. Mənim [? yazmaq?] [? yeyilməsi?] zəhmli deyil. Mən bir çox veri almaq. Sonra onlar nə onlar bir GSI yaratmaq edir. Mən görmək lazımdır, nə bilirik, demək Bu istehsalçının bütün hissələri. Yaxşı, qəflətən Mən bir milyard satır alaraq, və üzərində onlara mövzusu bir node, çünki Mən məcmu hash kimi istehsalçısı ID, və sıra kimi hissəsinin nömrəsi, sonra Mən birdən-birə bir milyard hissələri qoyulması nə bu istehsalçı mənə təslim etdi. Ki, bir çox səbəb ola bilər GSI təzyiq, yenə bir node hammering edirəm, çünki. Mən bütün bu qoyulması alıram bir node daxil edər. Və bir real problemli istifadə halda var. İndi mən bir yaxşı dizayn var ki, qarşısını almaq necə model. Və problemlərdən biri var Mən həmişə ilə işləmək ki. Nə Lakin, GSI bilər edir kifayət qədər yazma qabiliyyəti yoxdur bütün bu təkan etmək bir node daxil satır. Və nə sonra olur əsas müştəri masa, əsas cədvəl throttled olunacaq GSI davam edə bilməz, çünki. Belə ki, mənim insert dərəcəsi olacaq əsas cədvəl düşür Mənim GSI saxlamaq üçün çalışır kimi. Bütün hüquqlar, LSI-nin, GSI belə, Mən bir istifadə etməlidir? LSI nin uyğundur. GSI nin nəhayət uyğundur. Ki, OK, mən bir istifadə edərək gəlir GSI, onlar daha çevik istəyirik. LSI bir GSI kimi modelləşdirilmişdir bilər. Əgər hash düymələri başına data ölçüsü Sizin toplanması 10 gigabayt artıq, sonra siz ki, istifadə etmək istədiyiniz olacaq GSI yalnız bir ağır limit çünki. Bütün hüquqlar, belə scaling. Dynamo DB qabiliyyəti, siz qarşılığını [işitilemez] bir masa ötürücülük. Biz müştərilər var nəzərdə 60 billion-- müntəzəm 60 milyard sorğu edirik bir milyondan artıq sorğu çalışan sofralarımızdan saniyədə. Heç bir həqiqətən var nəzəri limit nə qədər və necə sürətli masa Dynamo DB çalıştırabilirsiniz. Bəzi yumşaq var Hesabınıza məhdudiyyətlər biz belə orada qoymaq ki, ki, crazy getmək yoxdur. Siz daha çox istəyirsinizsə ki, bir problem. Siz bizə gəlir. Biz dial çevirmək lazımdır. Hər hesab bəzi səviyyədə məhduddur hər xidmət, yalnız yarasa off belə insanlar crazy getmək yoxdur narahatlıq içinə özləri almaq. Ölçüsü No limit. Siz hər hansı bir sayı qoya bilər bir masa maddələr. bir maddə ölçüsü 400 kilobayt hər məhdud, ki, maddə deyil atributları olardı. Bütün atributları məbləği belə 400 kilobayt məhdudlaşır. Və sonra yenə biz ki, az LSI məsələ hash 10 gigabyte limit ilə. Auditoriya: Kiçik nömrəsi, mən itkin alıram nə ki, mənə izah edirik is-- Auditoriya: Oh, 400 kilobayt maddə başına maksimum ölçüsü. Belə ki, bir maddə bütün atributları var. Belə ki, 400 k ümumi ölçüsü ki maddə 400 kilobayttan. Bütün atributları Belə ki, birləşmiş, bütün məlumatlar ki, bütün bu atributları var, ümumi ölçüsü daxil suvadı, Hal-hazırda, bu gün maddə limit 400 k edir. Belə ki, əldə, daha scaling bölümleme vasitəsilə. Ötürücülük nəzərdə edilir masa səviyyəsində. Və həqiqətən iki knobs var. Biz gücü oxumaq və gücü yazın. Belə ki, bu düzəlişlər edilir bir-birindən müstəqil. RCU nin tədbir ciddi ardıcıl deyilir. OK, belə ki, mən 1000 istəyirəm deyərək edirik RCU həmin ciddi uyğundur bu ardıcıl deyilir var. Mən istəyirəm demək olarsa ardıcıl son deyilir Siz müddəa 1000 bilərsiniz RCU nin, siz olacaq nəticədə 2000 almaq üçün ardıcıl deyilir. Və o yarısı qiyməti nəticədə deyilir ibarətdir. Yenə düzəlişlər bir-birindən müstəqil. Onlar throughput-- var Siz RCU 100% istehlak əgər, Siz təsir etmək fikrində deyilik Sizin hüquqları mövcudluğu. Belə ki, onlar tamamilə bir-birindən müstəqil. Bütün hüquqlar, belə ki, hər biri ki, Mən qısaca azaldılmasını edildi qeyd edib. Azaldılmasını pis. Azaldılmasını heç bir SQL pis göstərir. Biz kömək üçün nə edə bilər şeylər var Siz azaldılmasını azaltmaq ki, yaşayırıq. Amma ən yaxşı həll Bu nin götürək deyil bir, çünki siz yapýyorsun nə baxmaq burada oyun bir anti-model var. Bunlar, qeyri-vahid kimi şeylər iş yükünün isti düymələri, isti arakəsmələr. Mən xüsusi əsas yer vuruş alıram çox sərt bəzi xüsusi səbəbdən. Niyə bunu edirəm? Ki anlamaq edək. Mən soyuq data ilə isti data qarışdırmaqla alıram. Mən masalar almaq imkan alıram böyük, lakin həqiqətən var məlumatların yalnız bəzi alt ki, mənə, həqiqətən maraqlı deyil. Belə ki, log məlumat üçün, misal üçün, bir çox müştərilər, onlar hər gün məlumat daxil almaq. Onlar log məlumatların böyük məbləği var. Yalnız bütün log dempinq edirsinizsə zamanla böyük bir masa data, ki, masa kütləvi almaq olacaq. Amma mən, həqiqətən, yalnız maraqlı deyiləm Son 24 saat, son yeddi gün, Son 30 gün. Vaxt nə olursa olsun pəncərə Mən axtarır maraqlı deyiləm ki, məni narahat, və ya hadisə üçün Mənə maraqlı hadisə, Mən lazım yalnız pəncərə vaxt var. Belə ki, niyə mən 10 il qoyaraq edirəm masa log data dəyər? Hansı ki səbəb olur masa parça. Bu böyük olur. Bu həyata yayılması başlayır qovşaqlarının minlərlə arasında. Və gücü ci ildən Siz istəyirik, belə aşağı həqiqətən hər məhdudlaşdıran dərəcəsi həmin fərdi qovşaqlarının biri. Belə ki, necə axtarır başlamaq edək biz artıq ki, masa gəzmək yoxdur. Ki, məlumatların bir az idarə necə daha yaxşı bu problemlərin qarşısını almaq üçün. Və nə kimi görünür? Bu kimi görünür. Bu pis NoSQL kimi görünür. Mən burada bir isti düyməsini var. Burada tərəfində baxsaq, Bunların hamısı mənim arakəsmələr var. Mən burada 16 arakəsmələr qalxıb bu bazasında. Biz bu bütün vaxt. Mən müştərilər üçün hər zaman bu axır. Bu istilik xəritəsi deyirlər. İstilik xəritəsi ne mənə deyir əsas yer daxil. Və nə bu mənə izah edir müəyyən bir hash var ki, bu oğlan bir bəyənir ki, dəhşətli çox, o, çünki həqiqətən, həqiqətən çətin vuruş. Belə ki, mavi gözəl. Biz mavi kimi. Biz qırmızı kimi deyil. Qırmızı harada təzyiq 100% -ə qədər olur. 100%, indi throttled olacaq. Belə ki, kimi hər hansı bir qırmızı xətləri görmək zaman şeylərdir və yalnız Dinamo DB-- deyil hər NoSQL verilənlər bazası bu problem var. Anti-nümunələri edə var şərait bu cür sürücü. Mən nə mən müştərilər ilə iş deyil bu şərtləri azaltmaq üçün. Və nə kimi görünür? Və bu ən olur Dynamo DB ötürücülük həyata, lakin bu, həqiqətən əldə NoSQL ən. Bu Dinamo məhdudlaşmır. Bu definitely-- mən Mongo işləmək üçün istifadə olunur. Mən çox NoSQL platformaları ilə tanış oldum. Hər kəs bu növ var isti əsas problemlərin. Hər hansı bir NoSQL ən çıxmaq üçün verilənlər bazası, xüsusi Dynamo DB, Siz masalar yaratmaq istədiyiniz burada hash əsas element var fərqli dəyərlər çox sayda cardinality yüksək dərəcəsi. Mən yazıram deməkdir müxtəlif buketler çox üçün. Mən daha çox buketler , daha çox yazılı Hesab edirəm ki, yazmaq yük yaymaq am və ya Çox qovşaqlarının arasında həyata yük oxumaq, daha çox Mən var am masa yüksək ötürücülük. Və sonra mən dəyərlər olmaq istəyirəm zamanla kifayət qədər bərabər tələb və bərabər kimi təsadüfi mümkün. Yaxşı ki, cür maraqlı çünki bilməz, həqiqətən, nəzarət users gələndə. Biz yayılmışdır Belə ki, demək kifayətdir əsas yer üzrə şeyi, biz yəqin ki, daha yaxşı vəziyyətdə olacaq. Müəyyən var vaxtında çatdırılması məbləği Siz fikrində deyilik ki, edə nəzarəti olmalıdır. Lakin o, həqiqətən var biz iki ölçüləri, space, giriş bərabər yayılması, vaxt, sorğu eyni zamanda aralıklı gələn. Və bu iki halda şərtlər yerinə olunur, sonra ki, nə var kimi baxmaq olacaq. Bu çox gözəl edir. Biz burada həqiqətən xoşbəxt istəyirik. Biz çox belə çıxış model var. Bəli, bəlkə əldə etdiyiniz bir az təzyiq indi və sonra hər, lakin heç bir şey həqiqətən çox geniş. Belə ki, neçə dəfə gözəl Mən müştərilər ilə işləmək zaman, böyük qırmızı ilə ilk graph bar və bütün sarı var çirkin bütün yer üzərində, biz həyata keçirilməsi ilə görülən almaq bir neçə ay sonra yenidən memarlıq, Onlar eyni yayınlıyorsanız eyni yük iş yükü. Bu indi kimi axtarır nə edir. Beləliklə, nə siz NoSQL ilə almaq bir tamamilə data şeması giriş model bağladı. Və bu data şeması optimize edə bilərsiniz giriş model dəstək. Əgər deyilsə, onda siz olacaq problemlərin bu növ görmək o isti düymələri ilə. Auditoriya: Yaxşı, istər-istəməz bəzi yerlərdə daha hotter olacaq. RICK Houlihan: Həmişə. Həmişə. Bəli, mən həmişə var deməkdir a-- və yenidən var bəzi dizayn nümunələri biz vasitəsilə almaq lazımdır ki, məşğul necə haqqında danışacağıq bu super böyük aggregations ilə. Mən demək, mən onlara var biz onlarla necə məşğul yoxdur? Mən olduqca yaxşı istifadə halda var Bunun üçün haqqında danışmaq lazımdır ki. Bütün hüquqlar, belə edək müzakirəsi İndi bəzi müştərilər. Bu uşaqlar AdRoll var. Siz əgər mən bilmirəm AdRoll ilə tanış. Siz yəqin ki, onları görmək browser bir çox. Onlar istəyirik, ad yenidən hedeflediğiniz böyük ad yenidən hedefleme business orada. Onlar adətən müntəzəm basdırmaq Gündə 60 milyard əməliyyatlar. Onlar bir milyon edirik saniyədə əməliyyatlar. Onlar olduqca sadə masa var strukturu, işlək masa. Bu əsasən yalnız bir hash əsas cookie sıra demoqrafik deyil kateqoriya, və sonra üçüncü atributu hesab edir. Beləliklə, biz bütün cookies Bu uşaqlar bizim browser. Və bir getmək zaman tacir qatılan Onlar əsasən arasında siz hesab müxtəlif demoqrafik categories. Bir web getmək zaman və Mən bu ad-- görmək istəyirsiniz və ya əsasən that-- demək deyil lakin siz web getmək zaman onlar bu reklamı görmək istəyirsiniz. Onlar AdRoll ki, reklam almaq gedin. AdRoll onların masa siz görünür. Onlar cookie tapa bilərsiniz. izah advertisers Onları kimsə istəyirəm olan, orta yaşlı var Idman daxil 40 yaşındakı adam. Onlar o demoqrafik sizə hesab və onlar və ya qərar ki, sizin üçün yaxşı bir ad var. İndi onlar bir SLA ilə var reklam təminatçıları sub-10 millisecond təmin etmək hər bir xahişi ilə cavab. Belə ki, onlar bu Dynamo DB istifadə edirik. Onlar bizə bir vuruş etdiyiniz saniyədə milyon sorğu. Onlar bütün edə istəyirik onların lookups, triage bütün məlumatlar, ki, geri ki, əlavə keçid 10 ms altında Advertisers. Bu, həqiqətən, olduqca fenomenal var icra onlar var. Bu uşaqlar həqiqətən Sizlər bu var. Mən bu uşaqlar əgər əmin deyiləm. Bu uşaqlar ola bilər. Əsasən mən heç bir us-- bildirib onları idi düşünmürəm. Mən başqası idi. Mən bir ilə iş müştəri mənə dedi ki, ki, indi onlar var ki, Dynamo DB getdi, onlar üçün qəlyanaltılar daha çox pul sərf Onların inkişaf komanda hər ay onların bazasında sərf çox. Belə ki, bir verəcəyik qənaət ideyası Siz Dynamo DB əldə edə bilərsiniz ki, böyük deyil. Bütün hüquqlar, Dropcam bir şirkət var. Bu oğlan növ var hesab edirəm ki, əgər var şeyi internet, Dropcam of əsasən internet təhlükəsizlik video var. Siz kamera söndürüldü. Camera bir hərəkət detector var. Biri, çıxınca bir replika point tetikler. Camera bir müddət qədər üçün qeyd başlayır Bu artıq hər hansı bir hərəkət aşkar deyil. Internetdə ki video qoyur. Dropcam olan şirkət idi əsasən Dynamo DB keçid onlar qarşılaşdıqda, çünki böyük ağrıları artan. Onlar izah nə birdən məlumatların petabayt yaddaşa malik. Onlar heç bir fikir onların xidmət idi belə uğurlu ola bilər. YouTube daha gelen video bu uşaqlar əldə edir. Onlar bütün izlemek üçün DynamoDB istifadə bütün video əsas xal metadata. Belə ki, onlar təkan S3 buketler var bütün ikili əsərlər daxil. Və sonra onlar Dynamo DB qeydlər ki, bu S3 üç obyektlərin insanları qeyd. Onlar bir video baxmaq lazım, onlar Dynamo DB rekord axtarmaq. Onlar linki vurun. Onlar S3 video aşağı çəkin. Belə ki, bu kimi görünür nə cür var. Bu onların komanda düz deyil. Dynamo DB onların azaldır video hadisələr üçün çatdırılma vaxtı beş 10 saniyə. Köhnə relational mağaza, onlar getmək və icra etmək üçün istifadə rəqəmi çox kompleks sorğu olan video, aşağı çəkmək üçün 50-dən az ms üçün. Belə ki, gözəl, gözəl nə qədər performance Siz optimize zaman əldə edə bilərsiniz və siz tune əsas bazası giriş model dəstək. Onu nə Halfbrick, bu uşaqlar, Hərhalda Fruit Ninja onların şeydir. Dynamo DB bütün çalışır ki. Və bu uşaqlar, onlar böyük inkişaf komanda, böyük inkişaf mağaza. Yaxşı bir ops komanda. Onlar bir çox yox idi əməliyyat resursları. Onlar saxlamaq üçün çalışırıq mübarizə edən onların tətbiqi infrastruktur qədər və çalışan. Onlar bizə gəldi. Onlar Dynamo DB baxdı. Onlar bizim üçün etdi. Onlar bütün inşa bu proqram çərçivəsində. Burada bəzi həqiqətən gözəl şərhlər Onların qabiliyyəti komanda İndi bina diqqət oyun və saxlamaq üçün olan infrastruktur, hansı böyük məbləğ olmaq edilib öz komandası üçün yerüstü. Belə ki, bu bir şey deyil that-- Siz Dynamo DB almaq faydalanır. Bütün hüquqlar, nəzərə almaq Burada data modelləşdirilməsi. Və biz haqqında bir az söhbət bir bu bir çox bir, və bir çox növü münasibətləri çox. Və necə Dinamo həmin saxlamaq yoxdur. Dynamo DB istifadə indeksləri, ümumiyyətlə, məlumat dönüşümlü Digər bir ləzzət. Hash düymələri, sıra düymələri və göstəriciləri. Bu Xüsusilə Məsələn, əksər dövlətlər kimi lisenziya tələb var ki, adam başına yalnız bir sürücü lisenziya. Siz iki sürücü üçün getmək bilməz Boston əyalətində lisenziya. Mən Texas bunu edə bilməz. Yəni bu şəkildə növü var. Və belə DMV, biz lookups var, biz sürücü lisenziya up baxmaq istəyirəm sosial təminat sayı. Mən istifadəçi ətraflı baxmaq istəyirəm sürücü sənədi sayı. Beləliklə, biz bir istifadəçi masa ola bilər ki, seriya nömrəsi bir hash əsas var, və ya sosial təminat sayı, və müxtəlif atributları maddə üzrə müəyyən edilmişdir. İndi masa I bir GSI müəyyən edə bilər ki, deyir ki, ətrafında mən istəyirəm ki, flips sonra lisenziya və bir hash əsas bütün digər maddələr. İndi sorğu və tapmaq istəyirsinizsə Hər hansı bir Sosial lisenziya nömrəsi Təhlükəsizlik sayı, mən Əsas masa sorğu. Mən sorğu etmək istəyirik və mən istəyirsinizsə sosial təminat almaq üçün nömrəsi və ya bir tərəfindən digər atributları lisenziya nömrəsi, mən GSI sorğu edə bilər. Bu model ki, bir deyil bir əlaqələr. Yalnız bir çox sadə GSI, ətrafında o şeyi çevirmek. İndi, bir çox haqqında bir danışmaq. Çox One əsasən Sizin hash sıra düyməsini basın. Biz bu bir çox almaq harada istifadə halda monitor məlumatdır. Monitor data müntəzəm gəlir şeyi internet kimi interval. Biz həmişə bütün bu almaq qeydlər bütün vaxt gəlir. Və mən bütün oxunuşda tapmaq istəyirəm müəyyən bir müddət arasında. Bu bir çox ümumi sorğu var monitorinq infrastruktur. bu barədə yol getmək bir tapmaq üçün sadə masa strukturu, bir masa. Mən bir cihaz ölçmə masa var cihaz ID bir hash açarı ilə. Mən bir sıra əsas var damgası, və ya bu halda, epik. Və mənə kompleksi icra imkan verir ki, sıra əsas qarşı sorğu və həmin qeydlər qayıtmaq Nəticədə nisbi I arıyorum ki, müəyyən. Və bu ki, bir qurur çox əlaqələr istifadə əsas masa hash əsas sıra əsas strukturu. Belə ki, bu cür inşa Dynamo DB masa. Mən bir hash müəyyən zaman və sıra t masa, mən çox əlaqələr üçün bir müəyyən. Bu valideyn-uşaq əlaqələr var. Çox danışaq çox münasibətləri. Və bu, məsələn, yenə biz GSI istifadə etmək olacaq. Və oyun haqqında danışmaq edək Mən bir istifadəçi var ssenari. Mən bütün oyunlar tapmaq istəyirəm ki, O və ya oynayan qeydiyyatdan edir. Və bir oyun üçün, mən bütün istifadəçilər tapmaq istəyirəm. Belə ki, necə ki etməliyəm? Mənim istifadəçi oyunları masa, mən gedirəm istifadəçi ID bir hash əsas var və oyun bir sıra düyməsini basın. Belə bir istifadəçi çox oyunlar ola bilər. Bu arasında çox əlaqələr üçün bir biri istifadəçi və o oynayır oyunlar. Və sonra GSI on, Mən ki, ətrafında çevirmek lazımdır. Mən oyun hash lazımdır və Mən istifadəçi üçündür lazımdır. Mən bütün almaq istəyirsinizsə Belə ki, Oyun istifadəçi, oynayan Mən əsas masa sorğu lazımdır. Mən bütün istifadəçilər almaq istəyirsinizsə ki, müəyyən bir oyun oynayır, Mən GSI sorğu. Belə ki, biz bunu necə? Bu GSI nin dəstək inşa istifadə halda, proqram, giriş model, tətbiqi. Mən sorğu etmək lazımdır, əgər Bu ölçüsü, qoy Mənə ölçüsü bir index yaratmaq. Mən deyil, mən qayğı yoxdur. Və istifadə halda asılı olaraq, I index ehtiyac və ya güc ola bilər. Bu sadə bir çox varsa, əsas cədvəl gözəl. Mən bu çox nə etmək lazımdır, əgər çox-nin, və ya, olanları bir etmək lazımdır onda bəlkə mən lazımdır ikinci index etmək. Belə ki, bütün asılıdır mən nə çalışıram və mən həyata almaq üçün çalışıram nə. Yəqin ki, mən də sərf etmək fikrində deyiləm qədər vaxt sənədlər haqqında söhbət. Bu, yəqin ki, bir az olur dərin biz getmək lazımdır çox. Bir az danışmaq edək zəngin sorğu ifadə. Belə ki, Dynamo DB var yaratmaq imkanı biz proyeksiya ifadələri dediyimiz. Projection ifadələri sadəcə sahələri və ya dəyərlər aldığınız Siz keçirmək üçün istədiyiniz. OK, belə ki, mən bir seçim etmək. Mən Dinamo DB qarşı sorğu etmək. Mən şou nə bilirik, demək Mənə yalnız beş ulduzlu nəzərdən bu məhsul üçün. Belə ki, mən görmək istəyirəm bütün var. Mən bütün görmək istəmirəm sıra digər atributları, Mən yalnız bu görmək istəyirik. Bu, yalnız zaman SQL kimi siz seçin ulduz və ya masa demək, Siz hər şeyi almaq. Mən seçin adını deyəndə masa, mən yalnız bir atributu almaq. Bu şey eyni cür var Dynamo DB və ya digər NoSQL verilənlər bazaları. Filter ifadələri mənə imkan verir əsasən yazmaq nəticə kəsdi. Mən bir sorğu etmək. Query 500 maddələri ilə geri gələ bilər. Amma yalnız maddələr istəyirəm ki, Bu deyir ki, bir atributu var. OK, belə ki, həmin maddələr filtrelemek imkan ki, xüsusi sorğu uyğun gəlmir. Beləliklə, biz filter ifadələr var. Filter ifadələri bilərsiniz Hər bir atributu run. Onlar sıra sorğu kimi deyilik. Raise sorğu daha seçici var. Filter sorğu getmək üçün mənə tələb bütün nəticələri sonra qurmaq və almaq Mən istəmirəm məlumatların oymaq. Nə vacibdir? Mən bunu bütün oxumaq çünki. Bir sorğu, mən oxumaq gedirəm və Bu data barədə bir nəhəng olacaq. Və sonra mən gedirəm Mən lazım nə həyata oymaq. Və mən yalnız həyata oyma alıram əgər satır neçə, o OK. Bu, belə səmərəsiz deyil. Amma bütün qalaq oxuyuram əgər data, yalnız bir maddə həyata oymaq üçün sonra mən daha yaxşı olmaq gedirəm bir sıra sorğu istifadə edərək off, daha selektiv çünki. Bu, mənim bir çox qənaət olacaq pul, mən ki, oxumaq ödəmək çünki. Harada geri gəlir nəticələri kiçik ola bilər ki, tel keçmək, amma oxumaq ödənilməsi alıram. Belə ki, necə başa düşmək Siz data alırıq. Ki Dynamo DB çox vacibdir. Şərti ifadələr, bu nə edir Siz nikbin qapanma zəng edə bilər. Update IF var, və ya bu dəyər əgər Mən müəyyən nə bərabərdir. Və mən bir bir vaxt möhürü varsa rekord, mən data oxumaq bilər. Hesab edirəm ki, data dəyişə bilər. Mən yazmaq getmək bilər ki, verilənlər bazası data geri. Kimsə rekord dəyişib varsa, damgası dəyişib ola bilər. Və yol mənim şərti yeniləmə yeniləmə deyə bilər damgası bu bərabərdir əgər. Və ya yeniləmə kimsə çünki uğursuz olacaq Bu vaxt rekord yeniləndi. Yəni biz nikbin kilid zəng budur. Bu kimsə deməkdir gəlmək və onu dəyişə bilərsiniz, və mən aşkar etmək üçün gedirəm Mən geri getmək zaman yazmaq üçün. Və sonra mən həqiqətən ki oxuya bilərsiniz məlumat və oh, o, bu dəyişdi, deyirlər. Hesab edirəm ki, hesab etmək lazımdır. Mən data dəyişə bilərsiniz mənim qeyd və bir yeniləmə müraciət. Belə ki, bu artan tutmaq olar arasında baş yenilikləri Siz məlumat və oxumaq zaman məlumatları yazmaq bilər. Auditoriya: Və filter ifadə həqiqətən deməkdir sayı və ya deyilik da [SƏSLƏRİ INTERPOSING] RICK Houlihan: I olmayacaq Bu daxil çox almaq. Bu qorunur söz edir. kiloluq görünüşü qorunur Dynamo DB söz. Hər bazası var öz qorunub Siz istifadə edə bilməz kolleksiyalar üçün adları. Dynamo DB, belirttiğiniz əgər bu qarşısında bir funt, Yuxarıdakı bu adları qədər müəyyən edə bilərsiniz. Bu müraciət dəyəri. Bu yəqin ki, ən yaxşı sintaksis deyil Bu müzakirə üçün var, bəzi real-- daxil olur, çünki Mən söhbət olardı daha bir daha dərin səviyyədə bu barədə. Amma demək kifayətdir ki, bu ola bilər Onlar views-- harada scan sorğu ola nə də funt views 10-dən çox deyil. Bu, bəli, bir ədədi dəyəri. Əgər istəyirsinizsə, biz haqqında danışmaq olar müzakirə sonra. Bütün hüquqlar, belə ki, biz nəzərə alırıq ən yaxşı təcrübələr bəzi ssenarilər biz danışmaq olacaq burada apps haqqında. Dynamo DB üçün istifadə halları nə var. Dizayn hansılardır Dynamo DB nümunələri. Və ilk biz olacaq haqqında danışmaq şeyi internet edir. Hərhalda of-- Beləliklə, biz bir çox almaq, pseudocode 50% -dən çox nə bu gün internet trafikin həqiqətən maşın tərəfindən yaradılan, Biz insanlar tərəfindən avtomatlaşdırılmış prosesləri. Mən bu şey bu şey deməkdir ki, Siz cibinizdə ətrafında aparmaq nə qədər data ki, bir şey ki, həqiqətən, sizin olmadan ətrafında göndərmək bilmədən tamamilə gözəl deyil. Sizin yeri, informasiya necə sürətli haqqında olacaq. Google Maps işləri düşünürsünüz necə Onlar sizə zaman yol nə. Milyonlarla var, çünki bu və ətrafında sürücülük milyonlarla insan göndəririk telefonlar bütün vaxt yer üzərində data. Hər biri So məlumatların bu növü haqqında ki, gəlir, monitor data, daxil data, zaman seriyası data, bu deyil adətən yalnız maraqlı vaxt bir az. Bu saatdan sonra bu qədər maraqlı deyil. Belə ki, biz imkan vermir haqqında danışdı bu masalar həddi olmadan inkişaf. Burada fikir bəlkə mən 24 var ki, mənim isti masa hadisələrin dəyər saat. Və isti masa olacaq çox yüksək dərəcəsi nəzərdə, Bu bir çox veri alaraq, çünki. Bu bir çox veri alaraq və mən bir çox oxuyuram. Mən əməliyyat bir çox var ki, data qarşı çalışan sorğu. 24 saat sonra hey, siz mən qayğı yoxdur nə bilirik. Belə ki, bəlkə hər gecə Mən roll yeni masa üzərində mənim masa və mən bu masa deprovision. Mən almaq lazımdır RCU və WCU aşağı, çünki 24 saat sonra Mən çox çalışan deyiləm ki, data qarşı sorğu. Belə ki, pul saxlamaq üçün gedirəm. Və bəlkə 30 gün sonra mən deyil hətta bütün haqqında qayğı lazımdır. Mən WCU nin bilər bir aşağı bütün yol, Bilirsiniz, çünki, bu nə heç vaxt yazılı almaq üçün gedir. məlumat 30 gün yaşı var. Bu dəyişikliklər heç vaxt. Və bu, oxumaq almaq olacaq demək olar ki, heç vaxt Belə ki, yalnız 10 aşağı RCU götürək. Və mən bu pul bir ton qənaət alıram məlumat və yalnız mənim isti data ödənilməsi. Belə ki, baxmaq vacibdir şey Bir zaman seriyası baxdığımız zaman da data həcmi gəlir. Bu strategiyaları var. İndi yalnız imkan bilər eyni masa getmək və yalnız masa inkişaf edək. Nəhayət, mən gedirəm performans məsələləri görəcəksiniz. Mən arxivi başlamaq üçün gedirəm masadan məlumatlar bəzi, nə. Nin daha yaxşı edək ərizə dizayn belə ki, sağ bu şəkildə fəaliyyət göstərə bilər ki,. Belə ki, yalnız avtomatik var proqram kodu. Gecə yarısı hər gecə Bu masa rulonlarda. Bəlkə nə lazımdır sürüşmə var məlumatların 24 saat pəncərə. Sonra müntəzəm olaraq mən masadan data zəng. Mən bir ilə bəzək alıram Cron iş və mən onu qoyulması alıram bu digər masalar üzərində, sizə lazım nə. Bir rollover işləri Belə ki, böyük deyil. Əgər, bu kəsmək. Amma ki, isti məlumatların saxlamaq imkan üz soyuq məlumatlar. Bu pul bir çox saxlaya bilərsiniz və masalar daha performans edir. Belə ki, növbəti odur ki, biz danışmaq lazımdır haqqında məhsul kataloq edir. Product kataloq edir olduqca ümumi istifadə halda. Bu, həqiqətən, bir çox ümumi model biz şeyi bir sıra görəcəksiniz ki. Siz, Twitter bilirik Məsələn, bir isti tweet. Hər kəs gəlir və ki tweet qənimətçilik. Məhsul kataloqu, mən bir satış var. Mən isti satış var. Mən başına 70,000 sorğu var ikinci bir məhsul üçün gələn Mənim məhsul kataloq həyata təsviri. Biz pərakəndə on görürük əməliyyat bir qədər. Belə ki, necə ki, ilə məşğul yoxdur? Ilə məşğul heç bir yol var. Bütün users görmək istəyirəm məlumatların eyni parça. Onlar eyni zamanda, gəlir edirik. Onlar bütün istekleri edirik məlumatların eyni parça üçün. Bu mənə verir ki, isti əsas ki, böyük qırmızı biz kimi deyil, mənim chart zolaq. Və kimi görünür nə. Mənim əsas məkan arasında alıram belə satış maddələr olurdu. Mən hər yerdə başqa bir şey alıram. Mən bu problem azaltmaq edirsiniz? Bəli, biz cache ilə bu azaltmaq. Cache, in-yaddaş əsasən qoymaq verilənlər bazası qarşısında partition. Biz bilmişik [Işitilemez] cache, necə Öz cache bilərsiniz, [işitilemez] cache [? d?] istədiyiniz hər hansı. Verilənlər bazası qarşısında qədər qoyun. Və yol ki, məlumatları saxlaya bilərsiniz ki, cache up bu isti düymələri yer və cache gəzib. Və sonra ən çox oxuyan bu kimi axtarır başlamaq. Mən bu cache burada bütün Xit oldu Mən heç bir şey aşağı burada gedən oldu Verilənlər bazası arxasında oturan, çünki cache vasitəsilə gəlmək heç vaxt deyilir. Mən data dəyişdirmək əgər verilənlər bazası ki, mən cache yeniləmə var. Biz bir şey istifadə edə bilərsiniz kimi bunu buxarlarının. Mən ki, necə izah edəcəyik. Bütün hüquqlar, mesajlaşma. Email, biz bütün e-poçt istifadə edin. Bu olduqca yaxşı bir nümunəsidir. Biz messages masa bir növ var. Və biz gelen qutusu ve Giden var. Bu nə SQL olardı ki, gelen qurmaq kimi baxmaq. Biz növ eyni cür istifadə GSI nin GSI nin istifadə etmək strategiyasının mənim inbox və Giden üçün. Beləliklə, mən xam messages gələn var Mesajlarım masa. Və bu ilk yanaşma ola bilər, OK, heç bir problem, demək. Mən xam mesaj var. Gələn mesaj [işitilemez], Mesaj ID, ki, böyük deyil. Bu mənim unikal hash var. Mən iki GSI yaratmaq üçün bir gedirəm mənim inbox, mənim Giden üçün bir. Və ilk şey mən edəcəyik Mən hash əsas demək lazımdır ki, Alıcı olacaq və Mən tarix təşkil gedirəm. Bu fantastik deyil. Mən burada mənim gözəl görünüşü var. Amma bir az məsələ burada var. Və bu daxil relational verilənlər bazası həmçinin. Onlar şaquli bölümleme çağırıb. Siz böyük data saxlamaq istədiyiniz üz sizin kiçik məlumatlar. Mən gerek, çünki səbəbi var atributları almaq üçün maddələr oxumaq gedin. Və mənim orqanları burada bütün əgər, sonra yalnız bir neçə maddələri oxu Mənim bədən uzunluğu əgər 256 kilobayt hər orta, riyaziyyat olduqca çirkin olur. Belə ki, Davudun inbox oxumaq istəyirsiniz. Davudun inbox 50 maddələr var. orta və ölçüsü 256 kilobayt edir. Burada mənim dönüşüm oranı var RCU nin üçün dörd kilobayt edir. OK, ilə gedək nəticədə ardıcıl deyilir. Mən hələ 1600 RCU nin yeyirəm yalnız Davudun inbox oxumaq. Ouch. OK, indi düşünək app işləri necə haqqında. Mən bir e-poçt app Ben əgər və Mən gelen baxıram və mən hər mesaj orqanı baxmaq, heç bir, mən xülasəsi baxıram. Mən yalnız başlıqlarını baxıram. Belə ki, bir masa strukturu yaratmaq imkan daha kimi görünür. Belə ki, burada məlumat var Mənim iş lazımdır. Bu, mənim inbox GSI var. Bu tarixi var, göndərən, mövzu və sonra işarə mesaj ID, geri messages masa harada bədən əldə edə bilərsiniz. Yaxşı, bu rekord kimlikleri olardı. Onlar geri qeyd olardı Dynamo DB masa maddə kimlikleri. Hər index həmişə creates-- həmişə maddə var Ki of-- hissəsi kimi ID indeksi ilə gəlir. Oldu. Auditoriya: Bu deyir saxlandığı? RICK Houlihan: Bəli, deyir exactly-- ki, dəqiq nə var. Burada deyir, mənim yenidən rekord var. Və mənim yenidən rekord geri qeyd edəcəyik. Məhz. OK, belə ki, indi mənim inbox deyil həqiqətən çox kiçik. Bu, həqiqətən dəstəkləyir bir e-poçt app iş. Mənim inbox Belə ki, mən basın. Mən birlikdə getmək və mən mesaj basın Mən bədən almaq getmək lazımdır ki, var Mən gedirəm, çünki Good luck gedin. Siz MVC növü haqqında düşünmək Belə ki, çərçivə, model görünüşü nəzarətçi. model var veri görünüşü ehtiyacı ki, və nəzarətçi ilə qarşılıqlı. Mən çərçivəsində dəyişdirmək zaman, zaman Mən perspektiv dəyişdirmək, Bu geri getmək üçün OK server və model repopulate, ki, istifadəçi gözləyir nə çünki. Onlar views dəyişdirmək zaman ki, zaman var Biz geri bazasında bilərsiniz. Belə ki, e-poçt, basın. Mən bədən arıyorum. Səfər. Bədən almaq gedin. Mən çox az məlumatları oxuyun. Mən yalnız orqanları oxuyuram ki, O, onlara lazım David lazımdır. Mən 1600-ci ildə yandırmaq deyiləm RCU yalnız onun inbox göstərir. Belə ki, indi bu yolla that-- LSI ya GSI-- Üzgünüm ki, GSI, iş olardı. Biz alan bizim hash var. Biz tarixi sıra əsas var. Və biz proqnozlaşdırılır atributları var biz görünüşü dəstəkləmək üçün yalnız lazımdır. Biz Giden üçün dönüşümlü. Göndərən hash. Və əslində, biz çox gözəl, təmiz görünüşü. Və bu basically-- biz var Bu gözəl mesajlarınız var gözəl, çünki yayılmışdır olunur masa Bu hash yalnız hashed mesaj ID var. Və biz iki göstəriciləri var ki, ki, masa off fırlanan olunur. Bütün hüquqlar, belə ki, burada fikir nə deyil böyük məlumat və bu kiçik məlumat saxlamaq birlikdə. Şaquli bölüm, bu masalar bölüm. Məlumat oxumaq etməyin yoxdur. Bütün sağ, oyun. Biz bütün oyun kimi. Ən azı mən sonra oyun kimi. Bəzi şeyləri belə biz zaman ilə məşğul ki, biz doğru, oyun haqqında düşünür istəyirsinizsə? Bu gün oyun, xüsusilə mobil oyun, bütün düşüncə edir. Mən burada bir dönüşümlü gedirəm üz DynamoDB az bit. Mən gətirmək üçün gedirəm müzakirə bəzi bəzi ətrafında digər AWS texnologiyaları. Lakin oyun haqqında fikir hesab edir API baxımından var API, ümumiyyətlə, HTTP və JSON danışan. Bu necə mobil oyunlar növ onların geri bitir ilə qarşılıqlı. Onlar JSON poçt yoxdur. Onlar məlumat almaq və bütün var, ümumiyyətlə gözəl JSON API danışan. Dost almaq kimi şeylər almaq leaderboard, məlumat mübadiləsi, istifadəçi generated content, sistem qədər geri itələmək, bunlar növləri Biz nə olacaq ki. Binary aktiv data, bu veri bazasında oturmaq bilər. Bu oturmaq bilər object mağaza, sağ? Amma bazası gedir sistemi izah başa, proqram izah harada almaq getmək. Və istər-istəməz, multiplayer server, geri sonuna infrastruktur, və yüksək üçün nəzərdə mövcudluğu və ölçeklenebilirlik. Belə ki, bu biz bütün istədiyiniz şeyi var oyun infrastruktur bu gün. Belə ki, bir nəzər salaq nə kimi görünür. , Əsas geri sonuna Got çox sadə. Biz burada bir sistem var Çox mövcudluğu zonaları. Hesab being-- kimi AZS haqqında danışdı Onların ayrı-ayrı məlumat mərkəzləri kimi. Daha çox məlumat mərkəzi AZ başına, lakin, OK yalnız ayrı-ayrı data kimi onlara hesab coğrafi var mərkəzləri və günah təcrid. Biz olacaq neçə EC2 hallarda. Biz olacaq bəzi geri sonuna server. Siz bir miras etdiyiniz bəlkə memarlıq, biz istəyirik biz RDS dediyimiz istifadə edərək, relational verilənlər bazası xidmətləri. MSSQL, MySQL ola bilər, ya kimi bir şey. Bu yolla bir çox applications var Bu gün nəzərdə tutulmuşdur. Yaxşı ilə getmək istəyirəm bilər biz miqyaslı zaman bu. Biz irəli getmək və qoymaq lazımdır Orada S3 bucket. Və S3 bucket, əvəzinə xidmət Bizim server həmin obyektlərin qədər biz bunu edə bilər. Siz bütün ikili qoymaq Sizin server obyektləri və bu server istifadə edə bilərsiniz hallarda ki, data qədər xidmət. Amma ki, olduqca bahalı. Etmək üçün daha yaxşı bir yol davam və bir S3 bucket həmin obyektlərin qoydu. S3 bir obyekt depolar edir. Bu üçün xüsusi inşa şeyi bu növ up xidmət. Və bu müştərilər tələb edək birbaşa obyekt buketler olan, server offload. Beləliklə, biz burada miqyaslı üçün başlanğıc edirik. İndi biz bütün dünyada istifadəçilər var. Mən istifadəçilər var. Mən yerli məzmun lazımdır sağ, bu istifadəçilər üçün yaxın? Mən S3 bucket yaratdıq mənim mənbə deposu kimi. Mən ön lazımdır ki, CloudFront paylanması. CloudFront bir CD və bir content çatdırılması şəbəkə. Əsasən bu belirttiğiniz data alır və internet üzərindən bütün önbelleğe alır users hər yerdə ola bilər çox tez cavab zaman Onlar həmin obyektlərin tələb. Belə ki, bir fikir almaq. Siz cür yararlanarak etdiyiniz bütün AWS aspektləri burada bu görülən almaq üçün. Və nəhayət, biz atmaq Avtomatik scaling qrup. Bizim AC2 hallarda belə Bizim oyun server, Onlar busier almaq üçün başlamaq kimi və buther və busier, Onlar yalnız bir spin lazımdır Məsələn, başqa bir instansiya fırlatmaq başqa instansiya fırlatmaq. AWS, var texnologiya So Siz parametrləri daxil imkan verir ətrafında server artacaq. Belə ki, server n sayı ola bilər hər hansı bir zamanda orada. Sizin yük üz gedir əgər, onlar lazımdır shrink, sayı shrink edəcək. Və yük geri gəlsə, Bu elastiki, geri inkişaf edəcəyik. Belə ki, bu böyük görünür. Biz EC2 hallarda bir çox var. Biz cache qoya bilər verilənlər bazası ön, cəhd və verilənlər bazası sürətləndirmək. növbəti təzyiq point adətən insanlar Onlar istifadə edərək, bir oyun miqyaslı relational verilənlər bazası sistemi. Jeez, verilənlər bazası performance dəhşətli deyil. Ki, necə yaxşılaşdırmaq olar? Nin qoyulması cəhd edək ki, qarşısında cache. Yaxşı, cache işləmir oyunlar qədər böyük, sağ? Oyunlar üçün, yazı ağrılı deyil. Oyun çox ağır yazmaq olunur. Siz olduğunuzda Cache işləmir Siz həmişə var, çünki ağır yazmaq cache yeniləmək lazımdır. Siz bu, cache yeniləmə yersiz caching olunacaq. Bu, həqiqətən, yalnız əlavə iş var. Beləliklə, biz burada getmək harada? Siz böyük tıxanma var orada bazasında. Və yer getmək üçün açıq-aydın bölümleme edir. Bölümleme deyil Siz olduğunuzda etmək asan relational verilənlər bazası ilə məşğul olur. Relational verilənlər bazası ilə, siz etdiyiniz idarə edilməsi üçün məsul, səmərəli, əsas yer. Siz A və M arasında istifadəçilər deyərək edirik N və Z getmək arasında getmək burada. Və keçid edirik tətbiqi daxilində. Belə ki, ilə məşğul olduğunuz Bu bölüm məlumat mənbəyi. Siz işlem məhdudiyyətlər var ki, arakəsmələr span yoxdur. Siz bütün növ var sen messiness orada çalışır ilə məşğul həyata scaling ilə məşğul və daha böyük infrastruktur bina. Bu, sadəcə, heç bir əyləncə var. Auditoriya: Belə ki, söyləyərək mənbə xal artan sürəti prosesi? RICK Houlihan: Artan? Auditoriya: Source xal. RICK Houlihan: Source bal? Auditoriya: məlumat From, harada məlumatlar gəlir? RICK Houlihan: Xeyr Mən deyirəm artır data mağaza arakəsmələr sayı ötürücülük yaxşılaşdırır. Belə ki, nə burada baş istifadəçilər burada EC2 Məsələn gələn, yaxşı, mən bir istifadəçi lazımdır, əgər ki, M A, mən burada getmək lazımdır. N p, mən burada getmək lazımdır. Z P, mən burada getmək lazımdır. Auditoriya: OK, o belə olanlar bütün müxtəlif qovşaqlarının saxlanılır? RICK Houlihan: Bəli. Bu kimi düşünün məlumatların müxtəlif silos. Belə ki, bunu qarşılaşdıqda. Siz nə etmək çalışdığınız əgər Bu, siz çalışdığınız əgər bir relational platforma miqyaslı, bu işle edir. Siz data alaraq edirik və Siz qısaltma edirik. Və siz onu daxilində bölümleme edirik verilənlər bazası çox hallarda. Və bütün idarə etdiyiniz proqram dərəcəli at. Bu, heç bir əyləncə var. Belə ki, nə biz getmək istəyirsiniz? Biz DynamoDB, tam idarə getmək istəyirəm, NoSQL data mağaza, təmin ötürücülük. Biz orta göstəriciləri istifadə edin. Bu əsasən HTTP API və sənəd dəstək daxildir. Belə ki, narahat yoxdur ki bölümleme hər hansı haqqında. Biz sizin üçün bütün yoxdur. Belə ki, indi əvəzinə, yalnız masa yazın. Masa parçalanmış olmalıdır varsa, ki, pərdə arxasında baş verir. Siz tamamilə izolyasiya edirik bir geliştirici kimi ki. Belə ki, haqqında danışmaq edək istifadə halları bəzi biz oyun ortaq daxil ki, oyun ssenariləri leaderboard. Belə ki, istifadəçilər gələn var Onlar BoardNames , bu istifadəçi üçün puanları. Biz UserID on hashing edilə bilər və sonra oyun sıra var. Belə ki, hər bir istifadəçi görmək istəyir o ifa bütün oyun və onun bütün top hesab bütün oyun arasında. Belə ki, onun şəxsi leaderboard var. İndi getmək istəyirik və mən get-- istəyirəm belə ki, mən bu şəxsi leaderboards almaq. Mən bunu istəyirəm almaq go bütün istifadəçilər arasında yüksək hesab. Belə ki, necə ki etməliyəm? Mənim rekord on hashed zaman UserID, oyun idi, mən irəli getmək üçün gedirəm və yenidən, bir GSI yaratmaq və mən ki, data yenidən gedirəm. İndi mən hash gedirəm Oyun BoardName. Mən üst hesab Range gedirəm. İndi müxtəlif buketler yaratdıq. Mən eyni masa istifadə edirəm, Eyni maddə data. Amma verir bucket yaratmaq alıram Mənə oyun yüksək hesab bir toplama. Mən ki, masa sorğu edə bilər ki, məlumat almaq üçün. Belə ki, mən ki, sorğu model müəyyən etdik orta göstəricisi tərəfindən dəstəklənir. İndi onlar BoardName sıralaması edə bilər və asılı olaraq, topscore sıralaması. Gördüyünüz Belə ki, bu növləri Siz oyun almaq hallarda istifadə edin. Biz oyun almaq yaxşı bir istifadə halda mükafat və kim mükafat qazandı s. Və bu böyük istifadə haldır biz seyrək göstəriciləri zəng harada. Seyrək göstəriciləri var yaratmaq imkanı mütləq deyil bir index masa hər bir maddə ehtiva edir. Və niyə? Çünki olan oldu atributu indexed hər bir maddə mövcud deyil. Bu Belə ki, halda istifadə, mən deyirəm, nə, mən gedirəm bilirik Mükafatı adlı atributu yaradır. Mən hər istifadəçi vermək gedirəm ki atributu bir mükafat vardır. İstifadəçilər mükafatlar var yoxdur ki, ki atributu var niyyətində deyil. Beləliklə, mən yaratmaq zaman index, yalnız istifadəçilər göstərir ki, gedir index qədər həqiqətən mükafatlar qazanmışlar olanları. Belə ki, edə bilmək üçün böyük yoldur filtrelenen göstəriciləri yaratmaq üçün deyil ki, çox, çox seçici var index bütün masa var. Beləliklə, biz burada vaxt aşağı əldə edirik. Mən irəli getmək və keçmək üçün gedirəm həyata və bu ssenari keçmək. Bir az danışmaq about-- Auditoriya: Mən tez sual edə bilərəmmi? Bir ağır yazmaq? RICK Houlihan: nədir? Auditoriya: ağır yazın. RICK Houlihan: ağır yazın. Mənə bax edək. Auditoriya: Və ya deyil bir şey yalnız bilərsiniz saniyə içində səs? RICK Houlihan: Biz getmək səsvermə ssenari vasitəsilə. Bu pis deyil. Sizlərin bir neçə dəqiqə var? OLDU. Beləliklə, biz səsvermə haqqında danışmaq lazımdır. Belə ki, real vaxt səs, biz səsvermə üçün tələblər. Tələblər biz imkan verir ki, var hər bir şəxs yalnız bir dəfə səs istifadə edəcək. Biz heç kimin etmək istəyirəm səs dəyişdirmək üçün. Biz real-time aqreqasiya istəyirəm və demoqrafik üçün analytics biz olacaq ki, Saytda istifadəçilər üçün göstərilir. Bu ssenari düşünün. Biz əslində bir çox iş Onlar olduğunuz TV göstərir şeyi bu dəqiq növü edir. Belə ki, ssenari hesab edə bilər, Biz milyonlarla və milyonlarla var orada yeniyetmə qız onların mobil telefonlar və səsvermə və səsvermə, və Onlar kim səs ən məşhur ola bilərsiniz. Belə ki, bu bəzi tələblər biz tökülmək. Və belə ki, ilk almaq bu problemin həllində bir qurmaq olardı çox sadə proqram. Mən bu app var. Mən bəzi seçicilərin həyata var. Onlar səsvermə hit app, gəlib. Mən bəzi xam səs masa var Mən yalnız o səs daxil dump lazımdır. Mən bəzi məcmu lazımdır votes masa ki, Mənim analitik və demoqrafik edəcəyik, və biz orada bütün bu qoymaq lazımdır. Bu böyükdür. Həyat yaxşıdır. Life biz ki, tapmaq qədər yaxşı həmişə yalnız bir və ya iki var seçki məşhur olan insanlar. Yalnız bir və ya iki şey var insanlar həqiqətən qayğı ki. Və səs edirsinizsə miqyaslı, Mən birdən-birə cəhənnəm həyata hammering olacaq iki namizəd, bir və ya iki namizəd. Maddələrin çox məhdud sayda nəfər məşhur ola bilərsiniz. Bu yaxşı dizayn model deyil. Bu, həqiqətən bir deyil çox pis dizayn model yaradır, çünki dəqiq nə biz isti düymələri olan danışıb. Hot düymələri biz kimi deyil bir şey var. Belə ki, necə ki, düzeltirim? Və həqiqətən, bu düzeltmek üçün bir yoldur bu namizəd buketler alaraq və biz hər bir namizəd üçün, biz bir təsadüfi dəyər əlavə olacaq, təsadüfi biz bilirik ki, bir şey, bir və 100 arasında dəyəri, 100 və 1000 arasında, və ya bir və 1000 arasında, lakin bir çox təsadüfi dəyərlər istədiyiniz ki, namizədin sonunda üzərinə əlavə. Mən, həqiqətən, sonra nə edib? Mən namizəd ID kimi istifadə edirəm əgər ümumi səs bucket, Mən təsadüfi əlavə etdik əgər ki, sonuna sayı Mən yaratdığınız indi 10 buketler, bir yüz buketler min buketler Mən arasında səs ümumiləşdirmək alıram. Mən milyonlarla, və milyonlarla var və qeydlər milyonlarla gələn Bu namizədlər üçün, mən indi yayılması edirəm Namizəd A_1 arasında o səs Namizəd A_100 vasitəsilə, çünki bir səs gəlir hər zaman, Mən təsadüfi yaradan alıram bir və 100 arasında dəyəri. Mən sonunda üzərinə tacking alıram şəxsin səs namizədi. Hesab edirəm ki, bucket daxil dempinq alıram. İndi arxa bilirəm Mən yüz buketler var. Mən irəli getmək istədiyiniz zaman və səs məcmu, Mən bütün bu buketler oxumaq. Belə ki, Mən irəli getmək və əlavə edin. Və sonra mən dağıtmaq toplamaq yoxdur Mən çıxmaq və hey deyirlər harada, Bildiyiniz nə, bu namizədin əsas fəzalarında yüz buketler edir. Mən bütün toplamaq üçün gedirəm o yüz buketler olan səs. Mən məcmu gedirəm Onlara və mən demək gedirəm Namizəd A indi x ümumi səslərin sayılması. İndi yazmaq, həm də sorğu və oxu sorğu gözəl payladı Mən rast yazıram, çünki Mən düymələri yüzlərlə arasında oxuyuram. Mən yazılı deyiləm və İndi bir əsas arasında oxu. Belə ki, böyük bir model var. Bu, həqiqətən, yəqin ki, bir deyil ən mühüm dizayn NoSQL miqyaslı üçün nümunələri. Siz bu cür görəcəksiniz hər ləzzət dizayn model. MongoDB, DynamoDB, bu deyil olsun, biz bütün bu var. Siz məşğul olduğunuz zaman, çünki o böyük aggregations ilə, Bir yol anlamaq lazımdır buketler arasında onları yayılmışdır. Belə ki, bu siz bunu bir yoldur. Bütün hüquqlar, belə nə indi edirik Əgər oxumaq off ticarət edirik ki, write genişlənmə üçün dəyəri. Mənim oxumaq dəyəri bir az daha mürəkkəb və mən bir oxumaq getmək üçün var yüz buketler əvəzinə bir. Amma yazmaq edə edirəm. Və mənim qabiliyyəti, mənim yazmaq ötürücülük inanılmaz. Belə ki, adətən qiymətli deyil DynamoDB scaling üçün texnika, və ya məsələ üçün hər hansı bir NoSQL verilənlər bazası. Belə ki, biz bunu miqyaslı necə fiqurlu. Və biz fiqurlu necə Bizim isti düymələri aradan qaldırmaq. Bu fantastik deyil. Və biz bu gözəl sistemi var. Və bizi çox düzgün səsvermə verilmiş biz rekord səslə de-Dupe çünki. Bu DynamoDB daxil oldu. Biz şərti hüquqları haqqında danışdı. Seçici gəldikdə, qoyur masa bir insert, onların seçici ID daxil başqa bir səs əlavə etmək üçün cəhd edin, Mən şərti yazmaq yoxdur. Bu yazmaq yalnız demək Bu mövcud deyil, əgər. Belə ki, tezliklə mən ki, görəcəksiniz kimi ki, səs masa hit, heç kəs olacaq öz səs qoymaq. Və fantastik deyil. Və biz incrementing edirik adayımız counters. Və biz bunu edirik demoqrafik və bütün. Amma nə olur mənim proqram üzərində düşür? İndi birdən səs bütün gələn və mən Onlar emal edirik əgər bilmirəm Mənim analitik və demoqrafik daxil artıq. Və proqram up, necə geri gəlir cəhənnəm Mən səs nə bilirik emal və harada başlar? Belə ki, bu bir real problem zaman deyil ssenari bu növü baxmaq başlayın. Və necə ki, həll edə bilərəm? Biz nə ilə həll biz DynamoDB Akarsu zəng. Akarsu bir vaxt sifariş və hər çıxış parçalanmış dəyişiklik log masa, hər yazmaq masa çıxış. Üçün yazılı hər hansı bir məlumat masa axın göstərir. Bu, əsasən 24 saat növbə var. Items axın edib, Onlar 24 saat yaşayır. Onlar neçə dəfə oxumaq olar. Təslim ediləcək zəmanət yalnız stream bir dəfə, dəfə n sayını oxuya bilər. Belə ki, lakin çox proseslər istədiyiniz ki, məlumat istehlak, siz onu istehlak edə bilərsiniz. Hər yeniləmə görünür. Hər yazacaq yalnız axın dəfə görünür. Belə ki, narahat yoxdur iki dəfə emal haqqında Eyni prosesi. Bu ciddi maddə başına sifariş edir. Biz vaxt deyəndə sifariş və parçalanmış, siz axın bölüm başına görəcəksiniz. Siz maddələr, yenilikləri görəcəksiniz. Biz təmin deyil sen axın hər əməliyyat almaq üçün gedir maddələr rast üçün. Belə ki, axınları idempotent var. Biz bütün idempotent nə deməkdir bilirsinizmi? Idempotent siz bunu edə bilərsiniz deməkdir üzərində və üzərində və üzərində yenidən. nəticə eyni olacaq. Akarsu, idempotent var lakin onlar olmalıdır başlanğıc nöqtəsi ifa, Seçdiyiniz yerdə başa, və ya onlar nəticə verməyəcək Eyni dəyərlər. MongoDB ilə eyni şey. MongoDB bir tikintinin var onlar OPLOG çağırırıq. Bu eyni tikinti edir. Bir çox NoSQL verilənlər bazası Bu tikintinin var. Onlar hər şeyi etmək üçün istifadə kimi təkrarlanması olan məhz biz axınları ilə nə edir. Auditoriya: Bəlkə bir azğın sual, lakin apps s aşağı edir haqqında danışmaq. Axınları üçün təmin edilir bəlkə enmək heç? RICK Houlihan: Bəli, axınları aşağı getmək heç vaxt təmin edilir. Biz infrastrukturun idarə arxasında. avtomatik axınları onların avtomatik scaling qrup yerləşdirmək. Biz bir az keçmək lazımdır nə haqqında bit. Mən onlar deyilik demək deyil aşağı getmək heç vaxt zəmanət. elementləri təmin edilir axın görünür. Və stream əlçatan olacaq. Belə ki, nə enir və ya geri gəlir up ki, altında baş verir. Bu OK covers--. Bütün hüquqlar, müxtəlif almaq ekran off view növləri. bir üçün əhəmiyyətli olan view növləri proqramçı adətən nə var? Mən köhnə görünüşü almaq. Bir yeniləmə masa edib, o lazımdır axın köhnə görünüşü təkan belə data arxivi, və ya dəyişiklik edə bilər kontrol, dəyişiklik müəyyənləşdirilməsi, dəyişdirilməsi idarə. sonra indi nə yeni image, baxımından bir növü var yeniləmə, Siz əldə edə bilərsiniz. Siz köhnə və yeni şəkillər də əldə edə bilərsiniz. Bəlkə onlara həm istəyirəm. Mən bunu nə görmək istəyirik. Mən bunu dəyişib nə görmək istəyirəm. Mən bir uyğunluq növü prosesin ki, çalışır. Bu yoxlamaq lazımdır bunlar dəyişdirmək zaman, onlar müəyyən çərçivəsində olduğunu və ya müəyyən parametrləri çərçivəsində. Və sonra bəlkə mən yalnız dəyişib nə bilmək lazımdır. Mən dəyişib nə maddə qayğı yoxdur. Mən bilmək lazımdır ehtiyac yoxdur Nə dəyişib atributları. Mən yalnız bilmək lazımdır maddələr toxunub olunur. Belə ki, bu Baxışların növləri Siz stream off almaq və ilə qarşılıqlı bilər. proqram stream istehlak, bu işləyir yolu növüdür. DynamoDB müştəri üçün xahiş masalar məlumat basın. Streams biz shards zəng nə yerləşdirmək. Shards ölçeklendirilir müstəqil masa. Onlar tamamilə sıralamaq deyil Sizin masa bölümü. Və səbəbi var onlar xətti, çünki gücü, cari masa gücü. Onlar yerləşdirmək onların öz auto scaling qrup, və onlar asılı olaraq həyata fırlatmaq üçün başlamaq gələn neçə yazır on, neçə reads-- həqiqətən bu yazır. Heç bir reads-- lakin necə çox yazır gəlir. Və sonra geri sonunda, biz nə biz bir KCl, və ya Kinesis Client Kitabxana çağırırıq. Kinesis bir axın data Amazon emal texnologiyası. Və axınları ki, inşa edilmişdir. Belə ki, bir KCL effektiv istifadə proqram stream oxumaq. Kinesis Müştəri Kitabxana həqiqətən Sizin üçün işçi idarə edir. Və bu da bəzi yoxdur maraqlı şeylər. Bəzi masalar qədər yaradacaq Sizin DynamoDB tablespace olan maddələr izlemek üçün işləndi. Belə ki, bu yol, əgər geri düşür əgər artıq düşür və gəlir və olur geri durdu, harada müəyyən edə bilər stream emal idi. Bu zaman çox vacibdir Siz təkrarlanması söhbət edirik. Mən nə bilmək lazımdır data emal edildi və nə data hələ emal edilməlidir. Belə ki, axınları üçün KCL kitabxana olacaq siz ki, funksionallıq bir çox verir. Bu, bütün ev təsərrüfatı qayğısına qalır. Hər Shard üçün bir işçi dayanır. Bu inzibati masa yaradır hər işçi üçün hər Shard üçün. Və bu işçilər yanğın kimi, onlar masalar saxlamaq belə ki, bu rekord bilirik oxumaq və emal edilmişdir. Və sonra yol proses əgər , ölür və online geri gəlir Bu çıxardı harada hüququ davam edə bilərsiniz. Beləliklə, biz üçün istifadə cross-region təkrarlanması. Müştərilərin bir çox lazımdır onların data masalar məlumatın və ya hissələri hərəkət ətrafında müxtəlif bölgələrə. Doqquz rayonlarında var Bütün dünya boyu. Belə ki, bir need-- I ola bilər Asiya istifadəçilər ola bilər, istifadəçilər Amerika Birləşmiş Ştatlarının East Coast. Onlar müxtəlif məlumatlar var ki, yerli paylanacaq lazımdır. Və bəlkə bir istifadəçi uçur Amerika Birləşmiş Ştatları üzərində Asiya, və mən kopya etmək istəyirəm ona data. O təyyarədən olur zaman, belə ki, o mobil app istifadə yaxşı bir təcrübə. Siz cross-bölgəsinə istifadə edə bilərsiniz təkrarlanması kitabxana bunu. Əsasən biz var iki texnologiyaları təmin. One Siz bir konsol proqram var Öz EC2 instansiya durmaq. Bu təmiz yankı çalışır. Və sonra biz kitabxana verdi. kitabxana yaratmaq üçün istifadə edə bilərsiniz Öz proqram, əgər ki, crazy şeyə istəyirəm fel filter, bunun yalnız bir hissəsi kopya , data dönüşümlü bir daxil hərəkət müxtəlif masa, belə ki, və s. Belə ki, kimi görünür növü var. DynamoDB Streams ola bilər biz Lambda zəng nə ilə emal. Biz hadisə haqqında bir az qeyd idarə proqram arxitekturaları. Lambda ki, əsas komponentidir. Lambda tələb edib kodu müəyyən bir hadisə cavab. Bu hadisələrin bir ola bilər axın görünen rekord. Rekord axın görünür varsa, bu Java funksiyası zəng edəcəyik. Bəli, bu JavaScript və Lambda deyil Node.js, Java, Python dəstəkləyir və tezliklə dəstək olacaq digər dillər həmçinin. Və təmiz kod, demək kifayətdir. Java yazmaq, bir sinif müəyyən edir. Siz Lambda daxil JAR up basın. Və sonra siz sinif daxil Tədbirdə cavab zəng. Və sonra Lambda infrastruktur ki, arxasında kod davam edəcək. Ki code emal edə bilərsiniz axın off qeydlər. Bu onunla istədiyi şey edə bilərsiniz. Bu nümunədə bütün biz istəyirik həqiqətən atributları giriş edir edir. Amma bu yalnız kodu. Kodu sağ, bir şey edə bilərsiniz? Belə ki, data dönüşümlü bilər. Siz törəmə görünüşü yarada bilərsiniz. Bu bir sənəd quruluşu varsa, Siz strukturu dümdüz bilər. Siz alternativ göstəriciləri yarada bilərsiniz. Şeyi bütün növ edə bilərsiniz DynamoDB Akarsu ilə. Və həqiqətən, bu kimi görünür nə. Belə ki, bu yenilikləri gələn almaq. Onlar simli off gəlirik. Onlar Lambda funksiyası ilə oxumaq edirik. Onlar məlumatın və fırlanan edirik və törəmə cədvəllərdə onu basmaqla, dəyişiklik xarici sistemləri xəbərdar, və ElastiCache daxil data itələyir. Biz cache qoymaq üçün necə haqqında danışdı ki satış üçün verilənlər bazası qarşısında ssenari. Yaxşı nə olur, əgər mən maddə təsviri yeniləmə? Bəli, mən bir Lambda funksiyası, masa çalışan Mən maddə təsviri yeniləmə əgər, lazımdır axını off rekord almaq, və ElastiCache yeniləyirik yeni məlumatları instansiya. Belə ki, bir çox of var biz Lambda ilə nə. Bu, bağlayıcı yapışqan kodu var. Və bu, həqiqətən verir başlamaq üçün imkanı və çox mürəkkəb applications çalıştırmak üçün xüsusi bir server olmadan həqiqətən, sərin infrastruktur. Belə ki, geri imkan bizim real-time səsvermə memarlıq. Bu yeni və təkmilləşdirilmiş edir bizim axınlarının və KCL effektiv tətbiq. Same, biz əvvəl seçki hər hansı miqyaslı idarə. Biz bu kimi. Biz dağıtmaq toplayan həyata edirik Çox buketler arasında. Biz optimist kilid gedən var. Biz seçicilərin edə bilərsiniz oylarını dəyişən. Onlar yalnız bir dəfə səs verə bilərlər. Bu fantastik deyil. Real-time günah dözümlülük, İndi ölçeklenebilir aqreqasiya. Şey üzərində düşür varsa, özünü yenidən başladın bilir çünki geri gəldiyi zaman biz KCL app istifadə edirik. Və sonra biz də istifadə edə bilərsiniz KCL proqram məlumatların təkan digər Redshift üçün app analytics, və ya istifadə Elastik MapReduce run off real-time streaming aggregations ki, məlumatların. Belə ki, bu şeylər var çox danışılacaq yoxdur. Lakin onlar əlavə etdiyiniz gəlib texnologiyaları Siz aradığınız zaman daşıyırlar ssenarilər bu cür at. Bütün hüquqlar, bu barədə belə DynamoDB Akarsu ilə analytics. Siz de-Dupe toplamaq bilər data, hər cür gözəl məhsullarının məcmu məlumatlar yaddaş, törəmə masalar yaradır. Ki, böyük bir istifadə halda var ki, müştərilərin bir çox nested alaraq ilə cəlb olunur bu JSON sənədlərin xassələri və əlavə göstəriciləri yaradılması. Biz sonunda istəyirik. Mənimlə daşıyan üçün təşəkkür edirik. Belə ki, haqqında danışmaq edək istinad memarlıq. DynamoDB belə ortasında oturur AWS infrastrukturun çox. Əsasən siz çəngəl bilər bir şey qədər istədiyiniz. Applications Dynamo daxildir istifadə inşa Lambda, ElastiCache, CloudSearch, Elastik daxil data təkan MapReduce, DynamoDB idxal ixrac S3, axınları bütün növləri daxil. Amma yəqin ki, yaxşı haqqında danışmaq bir şey, və bu həqiqətən nə maraqlı zaman biz deyil Tədbirdə idarə applications haqqında danışmaq. Bu nümunəsidir daxili layihə Biz, həqiqətən, olduğunuz var ki, nəşriyyat sorğunun nəticələri toplamaq. Bir e-poçt link Belə ki, biz lazımdır, göndərmək bir az link deyərək klik olmaq Burada sorğu cavab. Və bir şəxs klik keçid, nə olar Onlar təhlükəsiz aşağı çəkin S3 HTML sorğu forması. Heç bir server var. Bu yalnız bir S3 obyekt deyil. Ki, forma, gəlir brauzerinizin qədər yükləyir. Bu Backbone var. Bu kompleks JavaScript var ki, çalışan. Belə ki, çox zəngin proqram müştərinin browser çalışır. Onlar deyilik ki, bilmirəm geri sonuna server ilə əlaqə. Bu nöqtədə, bütün browser var. Onlar nəticələri dərc nə biz Amazon API Gateway zəng. API Gateway sadəcə bir web API müəyyən və bağlamaq olar ki, hər hansı istədiyiniz. Bu halda, biz istəyirik bir Lambda funksiyası qədər əyri. Belə ki, mənim POST əməliyyatı heç bir server ilə olur. Əsasən ki API Gateway orada oturur. Mənə insanların qədər heç bir şey başa sağ, ona poçt başlamaq? Lambda funksiyası yalnız orada oturur. Və qədər mənə heç bir şey başa insanlar vuruş başlayır. Belə ki, həcmi görə bilərsiniz ittihamlar gələndə artır ki, var. Mən bir server 7/24 çalışan deyiləm. Belə ki, forma çəkmək aşağı bucket həyata, Mən API vasitəsilə göndərmək Lambda funksiyası daxil Gateway. Və sonra Lambda funksiyası Bildiyiniz deyir nə, mən bir Piis var, bəzi kişisel informasiya bu cavablarda. Mən istifadəçilər gələn şərh almışdır. Mən e-poçt ünvanlarını var. Mən istifadəçi adı var. Oxşar off split imkan verir. Mən bəzi yaratmaq üçün gedirəm Bu rekord off metadata. Mən təkan gedirəm DynamoDB daxil metadata. Mən bütün məlumatları şifrelemek bilər Mən istəyirsinizsə DynamoDB onu basın. Amma bu, mənim üçün asandır irəli bir söz getmək üçün, halda istifadə, Mən xammal məlumat təkan gedirəm şifreli S3 bucket daxil. Beləliklə, mən S3 server tərəfində inşa istifadə şifrələmə və Amazon Key Management Ki, Service, mən bir açar olduğunu müntəzəm interval dönüşümlü bilər, və mən ki, PII data qoruya bilər Bu, bütün iş bir hissəsi kimi. Belə ki, mən nə etmişəm? Mən yalnız bütövlükdə səfərbər etdik Ərizə və heç bir server var. Belə ki, hadisə proqram idarə nə memarlıq sizin üçün. İndi haqqında düşünmək əgər şeylərdir üçün istifadə halda biz söhbət alıram digər müştərilər var bu dəqiq memarlıq edən phenomenally böyük kampaniyaları, run edən bu baxaraq və mənim oh, gedir. İndi, onlar bilər, çünki əsasən orada təkan, yalnız oturmaq ki, kampaniya imkan orada başlayır, və qədər haqqında bir əncir narahat infrastrukturun hansı onu dəstəkləmək üçün orada olacaq. Və sonra tezliklə ki kampaniyası edilir Bu infrastruktur kimi yalnız dərhal üz gedir həqiqətən var, çünki heç bir infrastruktur var. Bu Lambda oturur yalnız kodu var. Bu DynamoDB oturur yalnız məlumat var. Bu inanılmaz bir yoldur applications yaratmaq üçün. Auditoriya: Belə ki, daha onu edir efemer olacağını daha Bu faktiki server saxlanılır əgər? RICK Houlihan: Absolutely. Ki, server, məsələn, çünki bir 7/24 olmalıdır. Bu üçün mövcud olmalıdır kimsə cavab. Yaxşı nə tahmin? S3 7/24 mövcuddur. S3 həmişə cavab verir. Və S3 çox, çox yaxşı obyektlərin xidmət edir. Həmin obyektlərin HTML faylları ola bilər, və ya JavaScript faylları, və ya istədiyiniz hər hansı. Siz çox zəngin web applications çalıştırmak bilər S3 buketler həyata və insanlar. Və belə ki, ideya burada üz şəkildə almaq üçün biz bu barədə düşünmək üçün istifadə olunur. Biz bütün düşünmək üçün istifadə server və Host şərtləri. Bu artıq bu barədə deyil. Bu kod kimi infrastruktur haqqında. Bulud kodu yerləşdirilməsinə və cloud sizin üçün run edək. Və AWS etməyə çalışır budur. Auditoriya: ortada qızıl qutusu So API Gateway, server kimi deyil lakin əvəzinə izlersin deyil RICK Houlihan: Siz hesab edə bilər server fasad kimi. Bu bütün bir HTTP almaq lazımdır deyil tələb və başqa prosesi xəritəyə. Bu nə bütün var. Və bu halda, biz Xəritəçəkmə edirik bir Lambda funksiyası. Bütün hüquqlar, belə ki, mən var bütün var. Çox sağ olun. Mən bunu qiymətləndirirəm. Düşünürəm ki, biz zamanla bir az istəyirəm bilirik. Və inşallah uşaqlar var məlumat bir az Bu gün üz bilər ki. Mən getdi və mən üzr Sizin rəhbərləri bəzi üzərində, lakin yaxşı bir çox var fundamental fundamental bilik Mən hesab edirəm ki, sizin üçün çox qiymətlidir. Belə ki, mənə olan üçün təşəkkür edirik. [Alqış] Auditoriya: [işitilemez] Siz deyirdilər zaman Siz şey keçmək idi əvvəldən sonuna sağ dəyərlər almaq üçün və ya eyni dəyərləri, necə ki dəyərləri [Işitilemez] əgər dəyişir. RICK Houlihan: Oh, idempotent? Dəyərləri necə dəyişə bilər? Bəli, çünki run olmasaydı Bu sonuna bütün yol, sonra dəyişikliklər nə bilmirəm son mil edilmişdir. Bu olmaq niyyətində deyil Mən gördüm nə kimi eyni data. Auditoriya: Oh, belə ki, yalnız Bütün daxil kazanılmış deyil. RICK Houlihan: Sağ. Siz əvvəldən getmək üçün var Sonda, sonra bu ardıcıl dövlət olacaq. Cool. Auditoriya: Siz bizə göstərdi So DynamoDB sənəd və ya əsas dəyər edə bilərsiniz. Və biz çox vaxt sərf bir hash və yolları ilə əsas dəyər ətrafında çevirmek üçün. Bu masa baxanda, ki, sənəd yanaşma geridə buraxaraq? RICK Houlihan: Mən ki onu geridə buraxaraq deyirlər. Auditoriya: Onlar the-- ayrıldı RICK Houlihan: sənədlə yanaşma, DynamoDB sənəd növü yalnız başqa atributu kimi hesab olunur. Bu olan bir atributu var bir hiyerarşik data structure. Və sonra sorğu, Siz xüsusiyyətləri istifadə edə bilərsiniz Object Notation istifadə edərək, bu obyektlərin. Mən bir nested filter bilər JSON sənəd mülkiyyətidir. Auditoriya: Belə istənilən vaxt mən sənəd yanaşma yoxdur, I növ tabular-- gəlmək olar Auditoriya: Absolutely. Auditoriya: --indexes və Yalnız danışdıq şeylər. RICK Houlihan: Bəli, göstəriciləri və bütün ki, zaman index istəyirəm JSON xassələri, biz bunu istədiyiniz yol əgər Bir JSON obyekt və ya bir sənəd daxil Dinamo daxil, siz axınları istifadə edir. Streams daxil oxumaq olardı. Siz JSON ki, almaq istədiyiniz etiraz və OK demək istədiyiniz, Mən index istəyirəm əmlak nədir? Siz törəmə masa yaratmaq. İndi o, sağ indi işləyir yoludur. Biz indeksi sizə imkan vermir birbaşa xassələri. Auditoriya: sənədlər Tabularizing. RICK Houlihan: Məhz, hamarlaşır Bu, məhz, bu tabularizing. Yəni siz bu nə var. Auditoriya: Təşəkkür edirəm. RICK Houlihan: Yep, tamamilə təşəkkür edirəm. Auditoriya: Belə bu cür var Mongo Redis classifers cavab verir. RICK Houlihan: Bəli, bu kimi bir çox var. Ki, bunun üçün yaxşı təsviri var. Cool.