Ohjelmointi

Kuinka hyödyntää Azure Cosmos DB: n ilmaista tasoa

Azurin Cosmos DB on yksi sen parhaista ominaisuuksista. Monimallinen hajautettu tietokanta antaa sinulle perustan todella pilvipohjaisten sovellusten rakentamiseen sarjoilla yhdenmukaisuusmalleja, jotka voidaan kartoittaa sovelluksesi toimintaan. Aloittaminen ei kuitenkaan ole helppoa, ja huonosti määritetty tai suunniteltu sovellus voi nopeasti kalliiksi.

On hyvä nähdä, että Cosmos DB: llä on nyt ilmainen taso, joka voi auttaa sinua aloittamaan sovellusten käyttöön rajoitetun kehitysympäristön ulkopuolella. Uusi taso ei ole suuri: se perustuu Cosmos DB: n vähimmäiskokoonpanoon ja tarjoaa 400 RU / s (pyyntöyksikköä sekunnissa) ja 5 Gt tallennustilaa, ja jopa 25 säilöä jaetussa läpijuontotietokannassa. Se on enemmän kuin tarpeeksi pienelle sovellukselle, joka tarjoaa esimerkiksi enemmän lukuja kuin kirjoituksia ja joka ei ole riippuvainen vahvoista yhdenmukaisuusmalleista.

Sinun on oltava tietoinen siitä, että vaikka Cosmos DB on monialueinen, voit suorittaa vain yhden 400 RU / s -tietokannan vapaassa kerroksessa. Käytännössä tämä rajoittaa sinut yhteen alueeseen, koska muut alueet tarvitsevat kullekin oman 400 RU / s-ilmentymänsä, ja niistä veloitetaan näiden alueiden tavanomaiset hinnat tunnissa.

Aloittaminen ilmaisella Cosmos DB: llä

Sinun on luotava uusi tili, jotta voit hyödyntää ilmaista tasoa. se ei ole käytettävissä laskutusvaihtoehtona olemassa olevissa sovelluksissa. Ilmaisen tason 400 RU / s on pienin määrä, joka voidaan varata Cosmos DB -tietokantaan. Tämä antaa sinulle noin miljardi lukua kuukaudessa, minkä pitäisi olla tarpeeksi, jotta saat sovelluksesi pois kentältä tai voit ottaa käyttöön ja suorittaa sisäisen hajautetun tietokannan osana pilottihanketta. Kun olet saavuttanut ilmaisen RU / s-päästöoikeutesi reunan, voit lisätä kapasiteettia 100 RU / s: n lohkoina, laskutettuna tuntimaksulla.

On syytä ymmärtää, mikä on Cosmos-tietokanta RU. Rautatieyritys on pyyntöyksikkö ja laskutettu rautatieyritys on tietokannan tarjotun läpimenon mitta, joka kattaa kaikki sen toiminnot. Tämä sisältää lukemisen, kirjoittamisen, päivittämisen, poistamisen ja paljon muuta. Microsoft ehdottaa, että 1 RU / s vastaa yhtä lopullisesti yhdenmukaista (hitain ja vähiten prosessia vaativa sakeuden taso Cosmos DB: llä) sekunnissa 1 kt: n nimikettä. Saman 1 kt: n kohteen kirjoittaminen sekunnissa on 5 RU / s. Mitä monimutkaisempi toiminto, sitä enemmän rautatieyrityksiä se kuluttaa.

Pyyntöyksiköiden kulutuksen ymmärtäminen

On vaikea sanoa tarkalleen, kuinka monta RU: ta sovellus kuluttaa. Voit kuitenkin miettiä Cosmos DB -rajoituksia, jotka voivat vaikuttaa tietokannan käyttämiin rautatieyrityksiin. Ensinnäkin sinun on otettava huomioon esineidesi koko. Mitä suurempi kohde, sitä enemmän rautatieyrityksiä se käyttää lukemiseen tai kirjoittamiseen. Vastaavasti indeksointi kuluttaa RU / s, ja jos käytät oletusindeksointimallia, kohteiden kirjoittamiseen tarvittavat resurssit kasvavat, kun lisäät lisää tietokantaan. Sitten on valitsemasi sakeusmallit, joissa sekä vahva että rajoitettu sitkeys tarvitsevat noin kaksinkertaisen määrän RU / s lukemiseen kuin Cosmos DB: n muut, vähemmän tiukat mallit.

Koska ilmaisella tasolla on rajoitettu määrä rautatieyrityksiä, saatat haluta kiertää nämä rajoitteet kulutuksen pitämiseksi minimissä. Yksi vaihtoehto on poistaa kaikki indeksoinnit tietokannastasi, vaikka käytännössä saatat haluta rajoittaa indeksoinnin tiettyihin ominaisuuksiin jokaisessa tallennetussa JSON-asiakirjassa. Samaan aikaan sinun on harkittava, miten sovelluksesi toimii ja onko parempi käyttää jotain istunnon yhtenäisyyttä parantamaan käyttäjien käsityksiä suorituskyvystä ja vähentämään käytettyjä rautatieyrityksiä.

Koska rautatieyritykset perustuvat toimintaan, voit käyttää kyselyn suunnittelua kulutuksen pitämiseksi minimissä. Tähän saattaa liittyä tuloksien määrän rajoittaminen kyselyä kohti, hallitsemalla tallentamiesi tietojen määrää tai käyttämällä mahdollisimman vähän käyttäjän määrittelemiä toimintoja, tallennettuja toimintoja ja laukaisimia.

Tietokannan perustaminen on tarpeeksi helppoa. Luo uusi Cosmos DB -tili Azure-portaalissa ja luo uusi tietokanta Azure Data Explorerista. Aloita antamalla sille tunnus ja antamalla sitten sen suorituskyky. Aseta tämä arvoon 400 RU / s. Suuremmat summat näyttävät kustannusarvioita, mutta kun asetat ilmaista esiintymää, tätä ei tarvitse kokeilla. Et ole rajoitettu portaaliin; voit käyttää Azure CLI: tä, PowerShelliä tai jopa ohjelmallisesti Cosmos DB SDK: n sisältä.

Rakenna sovelluksia Cosmos DB: n ilmaiseen tasoon

Cosmos DB: ssä tietokanta on joukko kontteja, joita käytetään osioiden käsittelyyn Azure-alueella ja jakeluun alueiden välillä, joissa käytät tietokantaa. Jokainen tietokanta voidaan määrittää tietylle mallille: NoSQL (sekä MongoDB että Cassandra), SQL, Gremlin ja taulukot. Suurin osa sovelluksista toimii sen kanssa NoSQL-asiakirjatietokantana, joka tallentaa JSON-tietoja.

Kun olet määrittänyt tietokannan ja valinnut mallin, voit ajatella Cosmos DB -säiliötä siitä, miten tietokanta skaalautuu. Vapaan tason ulkopuolella voit asettaa läpijuoksun rautatieyrityksissä kontteittain; ilmaisella kerroksella, jonka jaat tuotannon kaikissa tietokannan säilöissä, joten et voi ennustaa minkään tietyn säilön läpäisykykyä. Maksettuihin instansseihin on liitetty palvelutasosopimus, minkä vuoksi niiden avulla voit asettaa suoritustason säiliökohtaisesti.

Säiliöiden välinen työskentely tällä tavalla vastaa klusterin käyttöä NoSQL-tietokannassa ja toimii hyvin tämän tyyppiselle työmäärälle. Käyttämällä samaa osioavainta kaikissa säilöissäsi, Cosmos DB jakaa suoritustehon automaattisesti niiden välillä. Voit käyttää tätä lähestymistapaa ilmaisen tason 25 säiliön kanssa vähentääksesi pullonkauloja sovelluksesi käyttäjille. Jos käsittelet sitä sirpaleisena, klusteroituna NoSQL-tietokantana, sinun pitäisi olla suhteellisen helppo sisällyttää se sovelluksiisi käyttämällä sitä viitteiden isännöimiseen muuhun sisältöön kuin itse sisältöön.

Työskentely ilmaisen palvelutarjonnan kanssa voi olla hankalaa, mutta jos otat järkeviä varotoimia, Cosmos DB: n uuden tason tulisi olla mahdollista käyttää osana sovelluksen loppupäätä. Saatat joutua uhraamaan joitain palvelun skaalautuvuusominaisuuksia, mutta sen ei pitäisi vaikuttaa sovelluksiin merkittävästi, jos teet huolellisia suunnitteluaikaisia ​​päätöksiä.

On tärkeää miettiä, kuinka hyödyntää hajautettua tietokantaa, kuten Cosmos DB, sen sijaan, että yksinkertaisesti siirrät olemassa olevat työmäärät siihen - tuskin he tekevät hyvää ottelua. Ajattele sen sijaan mahdollisuutesi rakentaa todella pilvipohjainen, hajautettu sovellus. Tässä tapauksessa 400 RU / s on enemmän kuin tarpeeksi käynnistääksesi uuden sovelluksen ja saamaan sen toimimaan kohtuullisen määrän käyttäjien kanssa.

$config[zx-auto] not found$config[zx-overlay] not found