Google Cloud Spanner: Yakanaka, Yakashata, Yakashata

Mhoroi, vagari veKhabrovsk. Semazuva ese, tinoramba tichigovera zvinhu zvinonakidza pamberi pekutanga kwezvidzidzo zvitsva. Nhasi, kunyanya kwauri, takaburitsa chinyorwa nezve Google Cloud Spanner kuti ienderane nekuvhurwa kwekosi "AWS yeVagadziri".

Google Cloud Spanner: Yakanaka, Yakashata, Yakashata

Yakabudiswa mu Lightspeed HQ blog.

Sekambani inopa akasiyana-siyana-yakavakirwa gore-yakavakirwa POS mhinduro kune vatengesi, maresitorendi, uye vatengesi vepamhepo kutenderera pasirese, Lightspeed inoshandisa akati wandei akasiyana marudzi emapuratifomu edatabase kune akasiyana siyana ekutengeserana, ekuongorora, uye ekutsvaga mashandisiro ekushandisa. Imwe neimwe yeaya mapuratifomu edatabase ine simba rayo uye kusasimba kwayo.Nekudaro, Google payakaunza Cloud Spanner kumusika - inovimbisa zvinhu zvisingaonekwe munyika yehukama dhatabhesi, senge unlimited horizontal scalability uye 99,999% sevhisi chibvumirano (SLA), - hatina kukwanisa kupotsa mukana wekuisa maoko edu pairi!

Kuti tipe tarisiro yakazara yechiitiko chedu neCloud Spanner, pamwe nemaitiro ekuongorora atakashandisa, tichafukidza zvinotevera misoro:

  1. Yedu yekuongorora maitiro
  2. Cloud Spanner muchidimbu
  3. Kuongorora kwedu
  4. Zvatinowana

Google Cloud Spanner: Yakanaka, Yakashata, Yakashata

1. Yedu yekuongorora maitiro

Tisati tanyura mune zvakatsanangurwa zveCloud Spanner, kufanana kwayo uye mutsauko nedzimwe mhinduro pamusika, ngatitangei tataura nezvenyaya huru dzekushandisa dzataifunga tichifunga kwekuisa Cloud Spanner muzvivakwa zvedu:

  • Sekutsiva iyo (yakanyanya) yechinyakare SQL dhatabhesi mhinduro
  • Maitiro ekuita OLTP mhinduro neOLAP rutsigiro

Cherechedza: Kuti zvive nyore uye nyore kuenzanisa, chinyorwa ichi chinofananidza Cloud Spanner neMySQL akasiyana eGCP Cloud SQL uye Amazon AWS RDS mhinduro mhuri.

Kushandisa Cloud Spanner sechinotsiva yechinyakare SQL dhatabhesi mhinduro

Munharaunda zvechivanhu dhatabhesi, apo nguva yekupindura yemubvunzo wedatabase inosvika kana kutodarika zvikumbaridzo zvekushandisa zvakafanotaurwa (zvikuru nekuda kwekuwedzera kwenhamba yevashandisi uye/kana zvikumbiro), kune nzira dzakati wandei dzekudzikisa nguva yekupindura kusvika kumatanho anogamuchirwa. Zvisinei, zvizhinji zvezvigadziriswa izvi zvinosanganisira kupindira kwemaoko.

Semuenzaniso, nhanho yekutanga kutora ndeyekutarisa akasiyana-siyana ane chekuita-ane chekuita nedatabase paramita uye gadzirisa iwo kuti aenderane zvakanyanya nemashandisirwo ekushandisa kesi mapatani. Kana izvi zvisina kukwana, unogona kusarudza kuyera dhatabhesi wakatwasuka kana wakachinjika.

Vertical scaling application inosanganisira kusimudzira sevhavha, kazhinji nekuwedzera mamwe ma processors/cores, RAM yakawanda, kukurumidza kuchengetedza, etc. Kuwedzera mamwe hardware zviwanikwa kunoguma nekuwedzera kwekuita kwedatabase, kuyerwa zvakanyanya mukutengesa kwechipiri, uye kutengeserana latency yeOLTP masisitimu. Relational dhatabhesi masisitimu (ayo anoshandisa akawanda-akarukwa nzira) senge MySQL inoyera yakatwasuka.

Pane zvipingamupinyi zvakati wandei kune iyi nzira, asi inonyanya kujeka ndeye yakakura server saizi pamusika. Kana muganho weiyo yakakura server muenzaniso wasvika, pane imwe chete sarudzo yasara: yakatwasuka kuyera.

Horizontal scaling inzira iyo mamwe maseva anowedzerwa kune sumbu, achiwedzera mashandiro ari mutsetse sezvo nhamba yemaseva inowedzerwa. Vazhinji zvechivanhu Dhatabhesi masisitimu haayere akatwasuka zvakanaka kana kusayera zvachose. Semuenzaniso, MySQL inogona kukwira yakatwasuka yekuverenga mabasa nekuwedzera vaverengi vevaranda, asi haigone kuyera yakatwasuka yekunyora.

Nekune rimwe divi, nekuda kwehunhu hwayo, Cloud Spanner inogona kukwira nyore yakachinjika nekupindira kushoma.

Fully featured DBMS sevhisi inofanira kuongororwa kubva kumativi akasiyana. Sehwaro, takatora inonyanya kufarirwa DBMS mugore - yeGoogle, GCP Cloud SQL uye yeAmazon, AWS RDS. Mukuongorora kwedu takatarisa pazvikamu zvinotevera:

  • Feature mepu: kureba SQL, DDL, DML; kubatanidza maraibhurari / zvibatanidza, tsigiro yekutengeserana, zvichingodaro.
  • Tsigiro yekusimudzira: kusimudzira kuri nyore uye kuyedzwa.
  • Tsigiro yekutonga: semuenzaniso manejimendi - semuenzaniso, kukwira kumusoro / pasi uye kusimudzira zviitiko; SLA, kuchengetedza uye kupora; chengetedzo/kuwana kutonga.

Kushandisa Cloud Spanner seye OLAP-inogonesa OLTP mhinduro

Nepo Google isingatauri pachena kuti Cloud Spanner yakagadzirirwa kuongororwa, inogovera humwe hunhu nedzimwe injini dzakadai seApache Impala & Kudu neYugaByte, dzakagadzirirwa OLAP mabasa.

Kunyangwe dai paingova nemukana mudiki wekuti Cloud Spanner yaisanganisira inopindirana sikero-kunze HTAP (hybrid transactional/analytics process) injini ine (yakawanda kana zvishoma) inogona kushandiswa OLAP seti yemhando, isu tinofunga ingave yakakodzera kutariswa kwedu.

Tichifunga izvi, takatarisa mapoka anotevera:

  • Kurodha data, indexes uye partitioning rutsigiro
  • Query Performance uye DML

2. Cloud Spanner muchidimbu

Google Spanner inobatanidza relational database management system (RDBMS) iyo Google inoshandisa kune akati wandei ayo ayo masevhisi. Google yakaita kuti iwanikwe kune vashandisi veGoogle Cloud Platform kutanga kwa2017.

Heano mamwe eiyo Cloud Spanner hunhu:

  • Yakanyanya Consistent Scalable RDBMS Cluster: Inoshandisa Hardware nguva kuwiriranisa kuti ive nechokwadi chekuenderana kwedata.
  • Muchinjikwa-tafura yekutengeserana tsigiro: Shanduko dzinogona kutenderedza matafura akawanda - kwete hazvo kugumira patafura imwe (kusiyana neApache HBase kana Apache Kudu).
  • Matafura ekutanga makiyi akavakirwa: Matafura ese anofanirwa kunge aine kiyi yekutanga yakaziviswa (PC), inogona kuve nemakoramu akawanda mutafura. Tabular data inochengetwa muPC kurongeka, ichiita kuti inyatsoita uye inokurumidza kutsvaga PC. Kufanana nemamwe maPC-akavakirwa masisitimu, iko kuita kunofanirwa kuenzanisirwa neyakagadzirirwa-yakagadzirirwa makesi ekushandisa mupfungwa kuti ibudirire kuita kwakanakisa.
  • Matafura ane mitsetse: Matafura anogona kuve nekutsamira kwemuviri kune mumwe nemumwe. Mitsetse iri patafura yemwana inogona kuenzaniswa nemitsara iri patafura yevabereki. Iyi nzira inomhanyisa kutsvaga kwehukama hunogona kuzivikanwa panguva yedanho rekuenzanisa data, sekubatanidza vatengi pamwe nemainvoice avo.
  • Indexes: Cloud Spanner inotsigira sekondari indexes. Indekisi ine makoramu ane indexed uye ese PC makoramu. Kana uchida, index yacho inogonawo kuva nemamwe makoramu asina indexed. Indekisi inogona kupindirana netafura yevabereki kukurumidzira kubvunza. Zvirambidzo zvakati kuti zvinoshanda kumaindekisi, sehuwandu hwehuwandu hwemamwe makoramu akachengetwa muindex. Zvakare, mibvunzo kuburikidza nemaindex inogona kunge isina kutwasuka senge mune mamwe maRDBMS.

"Cloud Spanner inosarudza index otomatiki muzviitiko zvisingawanzo. Kunyanya, Cloud Spanner haingozvisarudziri yechipiri index kana mubvunzo uchikumbira chero makoramu asina kuchengetwa mukati. index ".

  • Service Level Agreement (SLA): Kuendeswa kune imwe nzvimbo ine SLA ye99,99%; multi-regional deployments ne99,999% SLA. Kunyange iyo SLA pachayo ingori chibvumirano uye isiri vimbiso yemhando ipi neipi, ndinotenda kuti vanhu veGoogle vane data rakaoma rekuita kudai kwakasimba. (Kureva, 99,999% inoreva 26,3 masekondi ekusavapo kwesevhisi pamwedzi.)
  • Zvimwe: https://cloud.google.com/spanner/

Cherechedza: Iyo Apache Tephra purojekiti inowedzera yakagadziridzwa yekutengeserana rutsigiro kuApache HBase (zvakare ikozvino yaitwa muApache Phoenix se beta).

3. Kuongorora kwedu

Saka, isu tese takaverenga zvichemo zveGoogle nezve mabhenefiti eCloud Spanner - angangoita asina muganho wakatwasuka kuyera uku uchichengetedza kuenderana kwakanyanya uye yakanyanya SLA. Kunyange zvazvo izvi zvinodiwa, chero zvazvingava, zvakaoma zvikuru kuita, chinangwa chedu chakanga chisiri chokuramba. Pane kudaro, ngatitarisei pane zvimwe zvinhu zvinotariswa nevazhinji vashandisi ve database: parity uye usability.

Isu takaongorora Cloud Spanner sechinotsiva Sharded MySQL

Google Cloud SQL neAmazon AWS RDS, maviri eanonyanyo zivikanwa OLTP DBMS pamusika wegore, ane yakakura kwazvo seti yezvimiro. Nekudaro, kuyera aya dhatabhesi kupfuura saizi yeimwe node, iwe unofanirwa kuita yekugovera application. Iyi nzira inogadzira kuwedzera kuomarara kune ese maapplication uye manejimendi. Isu takatarisa kuti Spanner inopinda sei mumamiriro ekubatanidza shards akawanda kuita chiitiko chimwe uye kuti ndeapi maficha (kana aripo) angangoda kubayirwa.

SQL, DML uye DDL rutsigiro, pamwe nekubatanidza uye maraibhurari?

Kutanga, paunotanga nechero database, unofanirwa kugadzira data data. Kana iwe uchifunga kuti unogona kubatanidza JDBC Spanner kune yako yaunofarira SQL chishandiso, uchaona kuti unogona kubvunza data rako nayo, asi haugone kuishandisa kugadzira tafura kana kushandura (DDL) kana chero kuisa / kugadzirisa / kudzima. mabasa (DML). Google's official JDBC haitsigire chimwe cheizvi.

"Vatyairi parizvino havatsigire zvirevo zveDML kana DDL."
Spanner Documentation

Mamiriro acho haasi nani neiyo GCP koni - unogona chete kutumira SELECT mibvunzo. Sezvineiwo kune mutyairi weJDBC ane tsigiro yeDML neDDL kubva munharaunda, kusanganisira kutengeserana. github.com/olavloite/spanner-jdbc. Nepo mutyairi uyu achibatsira zvakanyanya, kushomeka kwemutyairi weGoogle JDBC kunoshamisa. Sezvineiwo, Google inopa rutsigiro rwakakwana kumaraibhurari evatengi (zvichienderana negRPC): C#, Go, Java, node.js, PHP, Python, uye Ruby.

Iko kunenge kuri kusungirwa kushandiswa kweCloud Spanner tsika APIs (nekuda kwekushaikwa kweDDL neDML muJDBC) kunoguma mune zvimwe zvipimo kune zvine chekuita nekodhi nzvimbo dzakadai semadziva ekubatanidza kana dhatabhesi inosunga masisitimu (e.g. Spring MVC). Kazhinji, kana uchishandisa JDBC, wakasununguka kusarudza yako yaunofarira dziva rekubatanidza (semuenzaniso HikariCP, DBCP, C3PO, nezvimwewo) inoedzwa uye inoshanda nemazvo. Panyaya yetsika Spanner APIs, isu tinofanirwa kuvimba nematanho / kusunga dziva / zvikamu zvatakazvigadzira isu pachedu.

Iyo yekutanga kiyi (PC) centric dhizaini inobvumira Cloud Spanner kuti ikurumidze kwazvo kana ichisvika data kuburikidza nePC, asi zvakare inosuma dzimwe nyaya dzemibvunzo.

  • Iwe haugone kuvandudza kukosha kwekutanga kiyi; Iwe unofanirwa kutanga wadzima iyo yekupinda kubva kuPC yekutanga uye woidzosera neiyo kukosha kutsva. (Izvi zvakafanana nemamwe maPC akatariswa dhatabhesi / ekuchengetedza injini.)
  • Chero UPDATE uye DELETE statements zvinofanirwa kutsanangura PC muWHERE, saka hapagone kushaikwa DELETA zvese zvirevo - panofanira kugara paine subquery, semuenzaniso: UPDATE xxx WHERE id IN (SARUDZA id KUBVA table1)
  • Kushaikwa kweauto-increment sarudzo kana chero chinhu chakafanana chinogadzirisa kutevedzana kwePC munda. Kuti izvi zvishande, kukosha kunoenderana kunofanirwa kugadzirwa padivi rekushandisa.

Secondary indexes?

Google Cloud Spanner ine yakavakirwa-mukati rutsigiro rwechipiri indexes. Ichi chinhu chakanaka kwazvo chisingawanzo kuwanikwa mune mamwe matekinoroji. Apache Kudu haitsigire sekondari indexes zvachose, uye Apache HBase haitsigire indexes zvakananga, asi inogona kuwedzera ivo kuburikidza neApache Phoenix.

Indexes muKudu neHBase inogona kuenzanisirwa setafura yakaparadzana neyakasiyana kuumbwa kwemakiyi ekutanga, asi atomicity yemabasa anoitwa patafura yevabereki uye anosanganisirwa index matafura anofanirwa kuitwa padanho rekushandisa uye haisi diki kuita nemazvo.

Sezvakataurwa mu Cloud Spanner wongororo, ma indexes ayo anogona kusiyana kubva kuMySQL indexes. Naizvozvo, ngwariro chaiyo inofanira kutorwa pakugadzira mibvunzo uye kunyora nhoroondo kuva nechokwadi chokuti indekisi yakakodzera inoshandiswa painodiwa.

Kumiririra?

Chinhu chakakurumbira uye chinobatsira mune dhatabhesi maonero. Dzinogona kubatsira kune nhamba huru yemakesi ekushandisa; dzangu mbiri dzandinoda ndiyo inonzwisisika abstraction layer uye yekuchengetedza layer. Nehurombo, Cloud Spanner HAI tsigire maonero. Nekudaro, izvi zvinongotiganhurira zvishoma nekuti hapana granularity yemvumo yekuwana pachikamu chekoramu uko maonero anogona kunge ari mhinduro inoshanda.

Ona Cloud Spanner zvinyorwa zvechikamu chinotsanangura quotas nezvirambidzo (spanner/quotas), pane imwe chete inogona kunetsa kune mamwe maapplication: Cloud Spanner kunze kwebhokisi ine muganho wepamusoro we100 dhatabhesi pamuenzaniso. Zviripachena, iyi inogona kuve bhodhoro hombe kune dhatabhesi rakagadzirirwa kukwira kune anopfuura zana dhatabhesi. Sezvineiwo, mushure mekutaura nemumiriri wedu weGoogle tekinoroji, takaona kuti muganho uyu unogona kuwedzerwa kusvika kune chero kukosha kuburikidza neGoogle Support.

Rutsigiro rwebudiriro?

Cloud Spanner inopa yakanakisa dhizaini yemutauro tsigiro yekushanda neAPI yayo. Maraibhurari anotsigirwa zviri pamutemo ari munzvimbo dzeC#, Go, Java, node.js, PHP, Python uye Ruby. Zvinyorwa zvakanyatsotsanangurwa, asi semamwe matekinoroji epamberi, nharaunda idiki chaizvo kana ichienzaniswa neanonyanya kufarirwa dhatabhesi tekinoroji, izvo zvinogona kutungamira kune yakawanda nguva inopedzerwa kugadzirisa mashoma akajairika ekushandisa kana matambudziko.

Saka zvakadini nekutsigira budiriro yenzvimbo?

Hatina kuwana nzira yekugadzira Cloud Spanner muenzaniso pane-nzvimbo. Chinhu chepedyo chatakawana yaive Docker mufananidzo. JongweDB, iyo yakafanana mumusimboti, asi yakasiyana kwazvo mukuita. Semuenzaniso, CockroachDB inogona kushandisa PostgreSQL JDBC. Sezvo nharaunda yekusimudzira inofanirwa kunge iri padyo nenzvimbo yekugadzira sezvinobvira, Cloud Spanner haina kunaka sezvo ichifanirwa kuvimba neSpanner yakazara muenzaniso. Kuti uchengetedze mari, unogona kusarudza imwe-dunhu muenzaniso.

Kutsigira kwehutungamiri?

Kugadzira Cloud Spanner muenzaniso iri nyore. Iwe unongoda kusarudza pakati pekugadzira yakawanda-dunhu kana imwechete-dunhu muenzaniso, tsanangura dunhu (s) uye nhamba yemanodhi. Musingasviki miniti imwe chete, yako chiitiko chinenge chave kushanda.

Anoverengeka rudimentary metrics anowanikwa zvakananga kubva kuSpanner peji muGoogle Console. Mamwe mawonero akadzama anowanikwa kuburikidza neStackdriver, kwaunogona zvakare kuseta metric zvikumbaridzo uye yambiro marongero.

Kuwana zviwanikwa?

MySQL inopa zvakakura uye zvakanyanya granular zvigadziriso zvemvumo yevashandisi / mabasa. Iwe unogona kugadzirisa nyore nyore kuwana kune yakatarwa tafura, kana kunyange subset yemakoramu ayo. Cloud Spanner inoshandisa Google's Identity & Access Management (IAM) chishandiso, chinokutendera iwe chete kuseta marongero uye mvumo padanho repamusoro. Iyo yakanyanya granular sarudzo ndeye dhatabhesi-level resolution, iyo isingakodzeri mune akawanda ekugadzira makesi ekushandisa. Izvi zvinokumanikidza kuti uwedzere mamwe matanho ekuchengetedza kukodhi yako, zvivakwa, kana zvese kudzivirira kushandiswa kusingatenderwe kweSpanner zviwanikwa.

Backups?

Kuzvitaura zviri nyore, hapana ma backups mu Cloud Spanner. Kunyange zvazvo Google's high SLA zvinodiwa zvinogona kuvimbisa kuti haurasi chero data nekuda kwe hardware kana database kukundikana, kukanganisa kwevanhu, kukanganisa kwekushandisa, etc. Isu tose tinoziva mutemo: kuwanikwa kwepamusoro hakusi kutsiva nzira yekuchengetedza inzwi. Parizvino, nzira chete yekudzosera data ndeyekuifambisa kubva kudhatabhesi kuenda kune imwe nzvimbo yekuchengetedza.

Query performance?

Takashandisa Yahoo! kurodha data nebvunzo mibvunzo. Cloud Serving Benchmark. Tafura iri pazasi inoratidza YCSB basa rekuita B ine 95% kuverenga kusvika 5% kunyora reshiyo.

Google Cloud Spanner: Yakanaka, Yakashata, Yakashata

* Muedzo wemutoro wakamhanyiswa pa n1-standard-32 Compute Engine (CE) (32 vCPU, 120 GB ndangariro), uye muenzaniso wekuyedza hauna kumbobvira waita bhodhoro mubvunzo.
** Huwandu hwema threads mune imwe YCSB muenzaniso i400. Huwandu hwematanhatu akada kufanana ebvunzo dzeYCSB aifanira kuitwa kuti awane mazana maviri nemazana mana eshinda.

Tichitarisa mhinduro dzebhenji, kunyanya kusanganiswa kweCPU mutoro uye TPS, tinogona kuona zvakajeka kuti Cloud Spanner inoyera chaizvo. Huremu hunorema hwakagadzirwa nehuwandu hukuru hweshinda hunogadziriswa nehuwandu hukuru hwemanodhi muCloud Spanner cluster. Nepo iyo latency ichitaridzika yakakwira zvakanyanya, kunyanya kana uchimhanya ne2400 tambo, kuyedza zvakare ne6 madiki matukisi einjini yekombuta zvingave zvakakosha kuti uwane huwandu hwakanyanya. Imwe neimwe muenzaniso inomhanyisa YCSB bvunzo pachinzvimbo cheimwe yakakura CE muenzaniso ine 6 yakafanana bvunzo. Nenzira iyi, zvichave nyore kusiyanisa pakati pe Cloud Spanner chikumbiro latency uye latency yakawedzerwa netiweki yekubatanidza pakati pe Cloud Spanner uye CE muenzaniso uchimhanyisa bvunzo.

Cloud Spanner inoita sei seOLAP?

Partitioning?

Kugovanisa data kuita zvidimbu zvenyama uye/kana zvine musoro zvakazvimiririra, zvinodaidzwa kuti partitions, ipfungwa ine mukurumbira inowanikwa mumainjini mazhinji eOLAP. Zvikamu zvinogona kuvandudza zvakanyanya kuita kwemubvunzo uye kuchengetedza dhatabhesi. Kuenda zvakadzika mukukamura kungave chinyorwa (s), saka ngatingotaura kukosha kwekuve nechikamu uye sub-partitioning chirongwa. Iko kugona kuputsa dhata pasi kuita zvikamu uye kunyange kuenderera mberi muzvikamu zvidiki kwakakosha kune analytic query performance.

Cloud Spanner haitsigire zvikamu saizvozvo. Iyo inoparadzanisa data mukati mune izvo zvinonzi split-s yakavakirwa pamakiyi ekutanga. Partitioning inoitwa otomatiki kuenzanisa mutoro muCloud Spanner cluster. Chinhu chinobatsira kwazvo cheCloud Spanner kupatsanurwa kweiyo tafura yevabereki mutoro (tafura isina kupindirana neimwe). Spanner inoona otomatiki kuti ine split data inoverengwa kakawanda kupfuura data mune mamwe split-ah, uye vanogona kusarudza pane kumwe kuparadzana. Nenzira iyi, node dzakawanda dzinogona kubatanidzwa mukukumbira, izvo zvakare zvinobudirira zvinowedzera throughput.

Kurodha data?

Iyo Cloud Spanner nzira yedata rakawandisa yakafanana neyeyakajairwa kurodha. Kuti uwane kuita kwakanyanya, unofanirwa kutevedzera mamwe nhungamiro, kusanganisira:

  • Ronga data rako nekiyi yekutanga.
  • Vagovane negumi*nhamba yemanodhi zvikamu zvakasiyana.
  • Gadzira seti yemabasa ebasa anoremedza data mukuwirirana.

Uku kurodha data kunoshandisa ese Cloud Spanner node.

Takashandisa YCSB workload A kugadzira dataset ye10M mitsara.

Google Cloud Spanner: Yakanaka, Yakashata, Yakashata

* Muedzo wemutoro wakamhanyiswa pane n1-standard-32 compute injini (32 vCPU, 120 GB ndangariro), uye muenzaniso wekuyedza hauna kumbobvira waita bhodhoro mubvunzo.
** Single node setup haina kukurudzirwa kune chero basa rekugadzira basa.

Sezvambotaurwa pamusoro, Cloud Spanner inogadzirisa kupatsanurwa zvichienderana nemutoro wavo, saka mibairo inovandudza mushure mekudzokorora kwakateedzana bvunzo. Mibairo yaratidzwa pano ndiyo mibairo yakanaka kwazvo yatakawana. Tichitarisa nhamba dziri pamusoro, tinogona kuona kuti Cloud Spanner inoyera sei (zvakanaka) sezvo nhamba yemanodhi musumbu inowedzera. Nhamba dzinomira pachena ndedzakanyanya kuderera pakati pekunonoka, izvo zvinopesana nemhedzisiro yebasa rakasanganiswa (95% kuverenga uye 5% kunyora) sekutsanangurwa kwazvino muchikamu chiri pamusoro.

Kuyera?

Kuwedzera uye kudzikisira huwandu hwe Cloud Spanner node ibasa rekudzvanya kamwe. Kana iwe uchida kurodha data nekukasira, unogona kufunga kuwedzera chiitiko chako kusvika pakakwirira (munyaya yedu yaive node makumi maviri neshanu mudunhu reUS-EAST) wobva wadzikisa huwandu hwemanodhi anokodzera mutoro wako wakajairika kana data rese rapinda. iyo dhatabhesi, zvichireva iyo 25TB/node muganho.

Takayeuchidzwa nezvemuganho uyu kunyangwe nedatabase diki. Mushure mekumhanya kwakati wandei kwekuyedzwa kwemutoro, dhatabhesi yedu yaive ingangoita 155 GB muhukuru, uye payakaderedzwa kusvika kune 1 node muenzaniso, takagamuchira chikanganiso chinotevera:

Google Cloud Spanner: Yakanaka, Yakashata, Yakashata

Isu takakwanisa kudzika kubva pamakumi maviri neshanu kusvika pamakumi maviri, asi isu takanga takamira pamanodhi maviri.

Kuwedzera uye kudzikisira nhamba yemanodhi muCloud Spanner cluster inogona otomatiki uchishandisa iyo REST API. Izvi zvinogona kunyanya kubatsira kudzikisa kuwedzera sisitimu mutoro panguva yebasa rakabatikana.

Kuita kwe OLAP mibvunzo?

Isu pakutanga takaronga kushandisa yakakosha nguva mukuongorora kwedu kweSpanner pane ichi chikamu. Mushure mema SELECT COUNTs akati wandei, takabva taona kuti kuyedzwa kwaizove kupfupi uye kuti Spanner HAIZOVA injini yakakodzera yeOLAP. Pasinei nenhamba yemanodhi musumbu, kungosarudza nhamba yemitsara mutafura yemutsara we10M kwakatora pakati pe55 ne60 seconds. Pamusoro pezvo, chero muvhunzo waida ndangariro yakawandisa kuchengetedza yepakati mhedzisiro yakundikana neOOM kukanganisa.

SELECT COUNT(DISTINCT(field0)) FROM usertable; β€” (10M distinct values)-> SpoolingHashAggregateIterator ran out of memory during new row.

Dzimwe nhamba dzeTPC-H mibvunzo dzinogona kuwanikwa muchinyorwa chaTodd Lipcon Nosql-kudu-spanner-slides.html, masiraidhi 42 uye 43. Nhamba idzi dzinoenderana nemigumisiro yedu pachedu (zvinosuruvarisa).

Google Cloud Spanner: Yakanaka, Yakashata, Yakashata

4. Mhedziso dzedu

Tichifunga nezve mamiriro azvino e Cloud Spanner's maficha, zvakaoma kufungidzira kuti iri nyore kutsiva yako iripo OLTP mhinduro, kunyanya kana zvaunoda zvikakura. Yakakura yakawanda yenguva yaizofanira kushandiswa kuvaka mhinduro yakatenderedza Cloud Spanner kukanganisa.

Patakatanga kuongorora Cloud Spanner, taitarisira kuti manejimendi ayo anoenderana, kana kuti kwete kure zvakanyanya kubva, mamwe maGoogle SQL mhinduro. Asi isu takashamiswa nekushaikwa kwakakwana kwe backups uye kushomeka kwekutonga pamusoro pekuwana zviwanikwa. Tisingatauri hapana maonero, hapana nharaunda yekusimudzira nharaunda, isina kutsigirwa inoteedzana, JDBC isina DML uye DDL rutsigiro, zvichingodaro.

Saka munhu anoda kuyera dhatabhesi rekutengesa anoenda kupi? Iko kunoratidzika kunge kusina mhinduro imwe chete pamusika inokodzera ese ekushandisa kesi. Kune akawanda akavharwa uye akavhurika sosi mhinduro (mamwe ayo anotaurwa muchinyorwa chino), mumwe nemumwe ane simba rake uye kushaya simba, asi hapana kana mumwe wavo anopa SaaS ine 99,999% SLA uye yakakwirira kuenderana. Kana iyo SLA yakakwira chiri chinangwa chako chikuru uye usingade kuvaka tsika yakawanda-makore mhinduro, Cloud Spanner inogona kunge iri mhinduro yauri kutsvaga. Asi iwe unofanirwa kuziva nezvese zvausingakwanisi.

Kutaura chokwadi, Cloud Spanner yakangoburitswa kune veruzhinji muchirimo che2017, saka zvine musoro kutarisira kuti zvimwe zvikanganiso zvazvino zvinogona kupedzisira zvaenda (netariro), uye kana vadaro, inogona kunge iri shanduko yemutambo. Mushure mezvose, Cloud Spanner haingori purojekiti yepadivi yeGoogle. Google inoishandisa sehwaro hwezvimwe zvigadzirwa zveGoogle. Uye Google ichangobva kutsiva Megastore muGoogle Cloud Storage neCloud Spanner, yakabvumira Google Cloud Storage kuti ienderane zvakanyanya kune zvinyorwa zvezvinhu pasi rose (zvisati zviri izvo kune. Amazon's S3).

Saka, kuchine tariro ... tinovimba.

Ndizvo zvose. Kufanana nemunyori wechinyorwa, isuwo tinoramba tichitarisira, asi iwe unofungei pamusoro peizvi? Nyora mumashoko

Tinokoka munhu wese kuti ashanyire yedu webinar yemahara mukati umo isu tichakuudza zvakadzama nezve kosi "AWS yeVagadziri" kubva kuOTUS.

Source: www.habr.com

Voeg