I-Google Cloud Spanner: Elungileyo, embi kunye nembi

Molweni, abahlali baseKhabrovsk. Njengesiqhelo, siyaqhubeka nokwabelana ngezinto ezinomdla phambi kokuqala kwezifundo ezitsha. Namhlanje, ngakumbi kuwe, sipapashe inqaku malunga neLifu likaGoogle Spanner ukuze lihambelane nokuqaliswa kwekhosi "I-AWS yabaPhuhlisi".

I-Google Cloud Spanner: Elungileyo, embi kunye nembi

Ipapashwe kuqala kwi Ibhlog ye-Lightspeed HQ.

Njengenkampani ebonelela ngeendidi zezisombululo ze-POS ezisekwe kwilifu kubathengisi, iivenkile zokutyela, kunye nabathengisi be-intanethi kwihlabathi liphela, i-Lightspeed isebenzisa iindidi ezahlukeneyo zamaqonga edatha kwiintlobo ezahlukeneyo zentengiselwano, uhlalutyo, kunye nokukhangela iimeko zokusetyenziswa. Nganye kwezi qonga zedatha zinamandla kunye nobuthathaka bayo.Ngoko ke, xa uGoogle wazisa i-Cloud Spanner kwimarike-izinto ezithembisayo ezingabonwayo kwihlabathi leenkcukacha zolwazi olunxulumeneyo, njengokulinganisa okuthe tyaba okungenamkhawulo kunye nesivumelwano senqanaba lenkonzo ye-99,999% (SLA), β€” besingenako ukuphoswa lithuba lokufumana izandla zethu kulo!

Ukubonelela ngombono obanzi wamava ethu nge-Cloud Spanner, kunye neendlela zokuvavanya esizisebenzisileyo, siya kugubungela ezi zihloko zilandelayo:

  1. Indlela yethu yokuvavanya
  2. Cloud Spanner ngamafutshane
  3. Uvavanyo lwethu
  4. Iziphumo zethu

I-Google Cloud Spanner: Elungileyo, embi kunye nembi

1. Iikhrayitheriya zethu zovavanyo

Ngaphambi kokuntywila kwiinkcukacha ze-Cloud Spanner, ukufana kwayo kunye nokungafani nezinye izisombululo kwimarike, masiqale sithethe malunga namatyala aphambili okusetyenziswa ebesinawo engqondweni xa sijonga indawo yokufaka i-Cloud Spanner kwisiseko sethu:

  • Njengotshintsho lwesisombululo (esiphambili) sesiseko sesiseko sesiseko seSQL
  • Usenza njani isisombululo se-OLTP ngenkxaso ye-OLAP

Qaphela: Ukuze kube lula kunye nokulula ukuthelekisa, eli nqaku lithelekisa i-Cloud Spanner kunye ne-MySQL eyahlukileyo ye-GCP Cloud SQL kunye ne-Amazon AWS isisombululo seentsapho ze-RDS.

Ukusebenzisa i-Cloud Spanner njengokutshintshwa kwesisombululo sesiseko sesiseko se-SQL

Kwimekobume yemveli i-database, xa ixesha lokuphendula umbuzo wesiseko sedatha lisondela okanye lide lidlule kwimida yesicelo echazwe kwangaphambili (ingakumbi ngenxa yokwanda kwenani labasebenzisi kunye / okanye izicelo), kukho iindlela ezininzi zokunciphisa ixesha lokuphendula kumanqanaba amkelekileyo. Nangona kunjalo, uninzi lwezi zisombululo zibandakanya ungenelelo lwezandla.

Umzekelo, inyathelo lokuqala omawulithathe kukujonga iiparamitha zesiseko sedatha enxulumene nomsebenzi kwaye uzilungelelanise ngokufanelekileyo iipatheni zemeko yokusetyenziswa kwesicelo. Ukuba oku akwanelanga, ungakhetha ukukala idatabase ngokuthe nkqo okanye ngokuthe tye.

Ukulinganisa ngokuthe nkqo isicelo kubandakanya ukuphucula umzekelo weseva, ngokuqhelekileyo ngokongeza iiprosesa/iicores ezininzi, i-RAM eninzi, ukugcinwa okukhawulezayo, njl njl. Ukongeza izibonelelo ezininzi ze-hardware kubangela ukwanda kwentsebenzo yesiseko sedatha, kulinganiswe ngokuyinhloko kwintengiselwano kwisesibini, kunye ne-transaction latency kwiinkqubo ze-OLTP. Iinkqubo zesiseko sedatha zobudlelwane (ezisebenzisa indlela enemisonto emininzi) efana ne-MySQL isikali kakuhle ngokuthe nkqo.

Kukho izinto ezininzi ezingalunganga kule ndlela, kodwa eyona nto icacileyo yeyona sayizi yomncedisi omkhulu kwimarike. Nje ukuba umda wowona mzekelo mkhulu weseva ufinyelelwe, kukho ukhetho olunye kuphela olushiyekileyo: ukukala okuthe tye.

Ukulinganisa okuthe tye yindlela apho iiseva ezininzi zongezwa kwiqela, ngokufanelekileyo ukwandisa ukusebenza ngokulandelelana njengoko inani labancedisi longezwa. Uninzi yemveli Iinkqubo zesiseko sedatha azikhuli ngokuthe tye okanye azikhuli kwaphela. Ngokomzekelo, i-MySQL inokulinganisa ngokuthe tye kwimisebenzi yokufunda ngokongeza abafundi bekhoboka, kodwa ayikwazi ukulinganisa ngokuthe tye ukubhala.

Kwelinye icala, ngenxa yobume bayo, i-Cloud Spanner inokukala ngokulula ngokuthe tye ngongenelelo oluncinci.

Ibonakaliswe ngokupheleleyo I-DBMS njengenkonzo kufuneka ivavanywe kwii-engile ezahlukeneyo. Njengesiseko, sithathe eyona DBMS idumileyo kwilifu-yeGoogle, GCP Cloud SQL kunye neAmazon, AWS RDS. Kuvavanyo lwethu sigxile kwezi ndidi zilandelayo:

  • Imephu yophawu: ubungakanani beSQL, DDL, DML; uqhagamshelwano lwamathala eencwadi/iziqhagamshelo, inkxaso yentengiselwano, njalo njalo.
  • Inkxaso yophuhliso: uphuhliso olulula kunye novavanyo.
  • Inkxaso yolawulo: umzekelo wolawulo - umzekelo, ukunyusa/ukwehla nokuphucula iimeko; I-SLA, i-backup kunye nokubuyisela; ukhuseleko/ulawulo lofikelelo.

Ukusebenzisa i-Cloud Spanner njengesisombululo se-OLTP esinikwe amandla yi-OLAP

Ngelixa uGoogle engabango ngokucacileyo ukuba i-Cloud Spanner yenzelwe ukuhlalutya, yabelana ngeempawu kunye nezinye iinjini ezinjenge-Apache Impala & Kudu kunye neYugaByte, eziyilelwe umthwalo we-OLAP.

Nokuba bekukho ithuba elincinci lokuba i-Cloud Spanner iquke i-HTAP engaguqukiyo (i-hybrid transactional/analytics processing) injini ene (ngaphezulu okanye ngaphantsi) esebenzisekayo ye-OLAP iseti yenqaku, sicinga ukuba iyakufanelekela ingqalelo yethu.

Ngoku engqondweni, sijonge ezi ndidi zilandelayo:

  • Ukulayishwa kwedatha, izalathisi kunye nenkxaso yokwahlulahlula
  • Umbuzo wokuSebenza kunye ne-DML

2. Cloud Spanner ngamafutshane

I-Google Spanner yinkqubo yolawulo lwesiseko sedatha edibeneyo (RDBMS) esetyenziswa nguGoogle kwiinkonzo zayo ezininzi. UGoogle wenze ukuba ifumaneke kubasebenzisi bePlatifomu yeLifu likaGoogle ekuqaleni kuka-2017.

Nazi ezinye iimpawu ze-Cloud Spanner:

  • I-Cluster ye-RDBMS ye-Scalable Highly Consistable: Isebenzisa ukulungelelanisa ixesha le-hardware ukuqinisekisa ukuhambelana kwedatha.
  • Inkxaso yentengiselwano yetheyibhile enqamlezayo: Iintengiselwano zinokwenza iitafile ezininzi - azikhawulelwanga kwitafile enye (ngokungafaniyo neApache HBase okanye iApache Kudu).
  • Iitheyibhile eziphambili ezisezitshixo: Zonke iitheyibhile kufuneka zibe nesitshixo esichaziweyo sokuqala (iPC), esinokuqulatha iikholamu ezininzi kwitheyibhile. Idatha yeTabular igcinwa ngokulandelelana kwePC, iyenza isebenze kakhulu kwaye ikhawuleze ukukhangela iPC. Njengezinye iinkqubo ezisekelwe kwi-PC, ukuphunyezwa kufuneka kube yimodeli kunye neemeko zokusetyenziswa ezilungiselelwe kwangaphambili ukuze kuphunyezwe ukusebenza kakuhle.
  • Iitafile ezinemigca: Iitheyibhile zinokuxhomekeka ngokwasemzimbeni enye kwenye. Imiqolo ekwitheyibhile yomntwana inokudityaniswa nemigca ekwitafile yomzali. Le ndlela ikhawuleza ukukhangela ubudlelwane obunokuthi ichongwe ngexesha lesigaba somzekelo wedatha, njengokufumana abathengi kunye nee-invoyisi zabo.
  • Izalathisi: I-Cloud Spanner ixhasa izalathisi zesibini. Isalathiso siqulathe iikholam ezinezalathiso kunye nayo yonke imiqolo yePC. Ukuba uyanqwenelwa, isalathiso sinokuqulatha nezinye iikholamu ezingenasalathiso. Isalathiso sinokushiywa kunye netafile yomzali ukukhawulezisa imibuzo. Izithintelo ezininzi zisebenza kwizalathisi, njengenani eliphezulu leekholamu ezongezelelweyo ezigcinwe kwisalathiso. Kwakhona, imibuzo ngezalathisi isenokungathanga ngqo njengakwezinye ii-RDBMS.

"I-Cloud Spanner ikhetha isalathisi ngokuzenzekelayo kuphela kwiimeko ezinqabileyo. Ngokukodwa, i-Cloud Spanner ayikhethi ngokuzenzekelayo isalathisi sesibini ukuba umbuzo ucela nayiphi na imihlathi engagcinwanga isalathisi Β».

  • Isivumelwano seNqanaba leNkonzo (SLA): Ukusasazwa kwingingqi enye kunye ne-SLA ye-99,99%; ukuthunyelwa kwemimandla emininzi kunye ne-99,999% SLA. Ngelixa i-SLA ngokwayo isisivumelwano nje kwaye ayisosiqinisekiso salo naluphi na uhlobo, ndiyakholelwa ukuba abantu bakwaGoogle banedatha enzima ukwenza ibango elinamandla kangako. (Kwireferensi, i-99,999% ithetha imizuzwana engama-26,3 yokungafumaneki kwenkonzo ngenyanga.)
  • Olungakumbi: https://cloud.google.com/spanner/

Qaphela: Iprojekthi ye-Apache Tephra yongeza inkxaso yentengiselwano eyandisiweyo kwi-Apache HBase (ekwaphunyezwa ngoku e-Apache Phoenix njenge-beta).

3. Uvavanyo lwethu

Ke, sonke siwafundile amabango kaGoogle malunga nezibonelelo ze-Cloud Spanner-ukulinganisa okuthe tye okungenamkhawulo ngelixa ugcina ukungaguquguquki okuphezulu kunye ne-SLA ephezulu kakhulu. Nangona ezi mfuneko, nangayiphi na imeko, kunzima kakhulu ukuziphumeza, injongo yethu yayingekokuziphikisa. Endaweni yoko, masigxininise kwezinye izinto ezikhathalelwa ngabasebenzisi abaninzi be-database: ukulingana kunye nokusebenziseka.

Sivavanye i-Cloud Spanner njengokutshintsha iShared MySQL

I-Google Cloud SQL kunye ne-Amazon AWS RDS, ezimbini ze-OLTP ze-DBMS ezidumileyo kwimarike yefu, zineseti enkulu kakhulu yeempawu. Nangona kunjalo, ukulinganisa ezi nkcukacha zolwazi ngaphaya kobukhulu bendawo enye, kufuneka wenze ulwahlulelo lwesicelo. Le ndlela idala ubunzima obongezelelweyo kuzo zombini izicelo kunye nolawulo. Sijonge ukuba i-Spanner ingena njani kwimeko yokudibanisa i-shards ezininzi kwimeko enye kwaye zeziphi iimpawu (ukuba zikhona) ezinokufuna ukubingelelwa.

Inkxaso ye-SQL, i-DML kunye ne-DDL, kunye nekhonkco kunye namathala eencwadi?

Okokuqala, xa uqala ngayo nayiphi na isiseko sedatha, kufuneka udale imodeli yedatha. Ukuba ucinga ukuba ungaqhagamshela i-JDBC Spanner kwisixhobo sakho se-SQL osithandayo, uya kufumanisa ukuba ungabuza idata yakho ngayo, kodwa awukwazi ukuyisebenzisa ukwenza itafile okanye ukuyiguqula kancinane (DDL) okanye nayiphi na ifake/uhlaziyo/cime. imisebenzi (DML). I-JDBC esemthethweni kaGoogle ayixhasi nanye kwezi.

"Abaqhubi okwangoku abaxhasi iinkcazo ze-DML okanye ze-DDL."
Spanner Documentation

Imeko ayikho ngcono nge-console ye-GCP - ungathumela kuphela imibuzo KHETHA. Ngethamsanqa kukho umqhubi we-JDBC onenkxaso ye-DML kunye ne-DDL evela kuluntu, kuquka ukuthengiselana. github.com/olavloite/spanner-jdbc. Ngelixa lo mqhubi eluncedo kakhulu, ukungabikho komqhubi we-JDBC kaGoogle kuyamangalisa. Ngethamsanqa, uGoogle unikezela ngenkxaso ebanzi ngokufanelekileyo kwiilayibrari zabathengi (ngokusekwe kwi-gRPC): C#, Hamba, Java, node.js, PHP, Python, kunye neRuby.

Ukusetyenziswa okuphantse kunyanzeliswa kwee-APIs zesiko le-Cloud Spanner (ngenxa yokunqongophala kwe-DDL kunye ne-DML kwi-JDBC) kubangela imida ethile yeendawo zekhowudi ezinxulumene namachibi okudibanisa okanye izikhokelo zokubopha i-database (umzekelo, i-Spring MVC). Ngokuqhelekileyo, xa usebenzisa i-JDBC, ukhululekile ukukhetha i-pool yakho yokudibanisa oyithandayo (umzekelo, i-HikariCP, i-DBCP, i-C3PO, njl.) evavanywa kwaye isebenza kakuhle. Kwimeko ye-Spanner APIs yesiko, kufuneka sithembele kwizicwangciso-sikhokelo / ukubopha amachibi / iiseshoni esizenzele zona.

Isitshixo esiphambili (i-PC) uyilo oluphakathi luvumela i-Cloud Spanner ukuba ikhawuleze kakhulu xa ifikelela idatha nge-PC, kodwa yazisa neminye imiba yemibuzo.

  • Awukwazi ukuhlaziya ixabiso eliphambili elingundoqo; Kuya kufuneka uqale ucime ingeniso kwiPC yoqobo kwaye uyibuyisele ngexabiso elitsha. (Oku kuyafana nezinye iinjini zedatha/ugcino lwePC.)
  • Naluphi na uhlaziyo kunye neenkcazo ze-CIMA kufuneka zichaze i-PC kwi-APHO, ngoko ke akunakubakho nto Cima zonke iinkcazo-makusoloko kukho i-subquery, umzekelo: HLAZIYA Xxx PHI id IN (KHETHA id FROM table1)
  • Ukunqongophala kwenketho yokunyusa okuzenzekelayo okanye nayiphi na into efanayo ebeka ulandelelwano kwintsimi yePC. Ukuze oku kusebenze, ixabiso elihambelanayo kufuneka lenziwe kwicala lesicelo.

Izalathisi zesibini?

I-Google Cloud Spanner inenkxaso eyakhelwe-ngaphakathi yezalathisi zesibini. Olu luphawu oluhle kakhulu olungasoloko lukhona kwezinye iitekhnoloji. I-Apache Kudu ayixhasi okwangoku izalathisi zesibini konke konke, kwaye i-Apache HBase ayixhasi izalathi ngokuthe ngqo, kodwa ingazongeza nge-Apache Phoenix.

Izalathisi kwi-Kudu kunye ne-HBase zinokulinganiswa njengetafile ehlukeneyo kunye nokubunjwa okuhlukeneyo kwezitshixo eziphambili, kodwa i-atomicity yemisebenzi eyenziwa kwitheyibhile yomzali kunye neetafile zesalathisi ezihambelanayo kufuneka zenziwe kwinqanaba lesicelo kwaye ayincinci ukuphumeza ngokuchanekileyo.

Njengoko kukhankanyiwe kuphononongo lwe-Cloud Spanner, ii-indexes zayo zinokwahluka kwi-MySQL indexes. Ngoko ke, kufuneka kuqwalaselwe ngokukhethekileyo xa kusakhiwa imibuzo naxa kusenziwa iprofayili ukuqinisekisa ukuba kusetyenziswa isalathiso esifanelekileyo apho sifuneka khona.

Ukumelwa?

Into ethandwa kakhulu kwaye iluncedo kwisiseko sedatha iimbono. Zinokuba luncedo kwinani elikhulu leemeko zokusetyenziswa; ezimbini endizithandayo ngumaleko abstraction esengqiqweni kunye umaleko yokhuseleko. Ngelishwa, i-Cloud Spanner ayixhasi iimbono. Nangona kunjalo, oku kusikhawulela kuphela ngenxa yokuba akukho granularity kwiimvume zokufikelela kwinqanaba lekholomu apho iimbono zinokuba sisisombululo esisebenzayo.

Jonga uxwebhu lwe-Cloud Spanner yecandelo elineenkcukacha zezabelo kunye nezithintelo (isipana/izabelo), kukho enye ngokukodwa enokuba yingxaki kwezinye izicelo: I-Cloud Spanner ngaphandle kwebhokisi inomda we-database ephezulu ye-100 ngomzekelo ngamnye. Ngokucacileyo, oku kunokuba ngumqobo omkhulu wesiseko sedatha esenzelwe ukulinganisa ngaphezulu kwe-100 yedatha. Ngethamsanqa, emva kokuthetha nommeli wethu wezobuchwepheshe weGoogle, sifumene ukuba lo mda unokunyuswa phantse kulo naliphi na ixabiso ngeNkxaso kaGoogle.

Inkxaso yophuhliso?

I-Cloud Spanner inikezela ngenkxaso efanelekileyo yolwimi lwenkqubo yokusebenza kunye ne-API yayo. Amathala eencwadi axhaswa ngokusemthethweni akwiindawo zeC #, Go, Java, node.js, PHP, Python kunye neRuby. Uxwebhu luneenkcukacha ezininzi, kodwa njengobunye ubuchwephesha obuphambili, uluntu luncinci kakhulu xa luthelekiswa nolona lwazi ludumileyo lwetekhnoloji yedatha, enokukhokelela kwixesha elininzi elichithwe ekusombululeni iimeko zosetyenziso olungaqhelekanga okanye iingxaki.

Ngoko ke kuthekani ngokuxhasa uphuhliso lwasekuhlaleni?

Asikafumani ndlela yokwenza umzekelo we-Cloud Spanner kwindawo. Eyona nto ikufutshane esinayo yayingumfanekiso weDocker. IphenyaneDB, efana nomgaqo, kodwa eyahlukileyo kakhulu ekusebenzeni. Ngokomzekelo, i-CockroachDB inokusebenzisa i-PostgreSQL JDBC. Ekubeni indawo yophuhliso kufuneka isondele kwindawo yokuvelisa ngokusemandleni, i-Cloud Spanner ayifanelekanga kuba kufuneka ithembele kumzekelo opheleleyo we-Spanner. Ukugcina iindleko, ungakhetha umzekelo wengingqi enye.

Inkxaso yolawulo?

Ukwenza umzekelo we-Cloud Spanner kulula kakhulu. Ufuna nje ukukhetha phakathi kokudala ingingqi ezininzi okanye umzekelo wengingqi enye, khankanya ummandla(s) kunye nenani leendawo. Ngaphantsi komzuzu, umzekelo wakho uya kube uyasebenza kwaye uyasebenza.

Iimetriki ezininzi ezinqabileyo zifikeleleka ngokuthe ngqo kwiphepha leSpanner kwiKhonsoli kaGoogle. Iimbono ezineenkcukacha ezininzi ziyafumaneka nge-Stackdriver, apho unokuseta imida yemetric kunye nemigaqo-nkqubo yesilumkiso.

Ukufikelela kwimithombo?

I-MySQL inikezela ngoseto olubanzi kunye negranular kwiimvume/iindima zomsebenzisi. Ungaqwalasela ngokulula ukufikelela kwitafile ethile, okanye nokuba iseti esezantsi yeentsika zayo. I-Cloud Spanner isebenzisa isixhobo sikaGoogle soSazisi kunye noLawulo lokuFikelela (IAM), ekuvumela kuphela ukuba ubeke imigaqo-nkqubo kunye neemvume kwizinga eliphezulu kakhulu. Olona khetho lwegranular lusisombululo senqanaba lesiseko sedatha, esingangeniyo kwiimeko ezininzi zokusetyenziswa kwemveliso. Lo mda kukunyanzela ukuba ungeze amanyathelo okhuseleko ongezelelweyo kwikhowudi yakho, iziseko zophuhliso, okanye zombini ukuthintela ukusetyenziswa okungagunyaziswanga kwezixhobo zeSpanner.

Ugcino?

Ukuyibeka ngokulula, akukho zigcino kwi-Cloud Spanner. Nangona iimfuno ze-SLA eziphezulu ze-Google zingaqinisekisa ukuba awulahlekelwa nayiphi na idatha ngenxa ye-hardware okanye i-database yokungaphumeleli, iimpazamo zabantu, iziphene zesicelo, njl. Okwangoku, ekuphela kwendlela yokuxhasa idatha kukuyihambisa ngokwenkqubo ukusuka kwisiseko sedatha ukuya kwindawo eyahlukileyo yokugcina.

Umbuzo wokwenziwa komsebenzi?

Sisebenzise iYahoo! ukulayisha idatha kunye nemibuzo yokuvavanya. Cloud Serving Benchmark. Itheyibhile engezantsi ibonisa umsebenzi we-YCSB B ene-95% yokufunda ukuya kwisi-5% somlinganiselo wokubhala.

I-Google Cloud Spanner: Elungileyo, embi kunye nembi

* Uvavanyo lomthwalo luqhutywe kwi-n1-standard-32 Compute Engine (CE) (32 vCPU, imemori ye-120 GB), kwaye umzekelo wokuvavanya awuzange ube ngumqobo kwiimvavanyo.
** Elona nani liphezulu lemisonto kumzekelo omnye we-YCSB ngama-400. Itotali yezihlandlo ezintandathu ezinxuseneyo zeemvavanyo ze-YCSB kuye kwafuneka ziqhutywe ukuze kufumaneke iyonke imisonto engama-2400.

Ukujonga iziphumo zebenchmark, ngakumbi indibaniselwano yomthwalo we-CPU kunye ne-TPS, sinokubona ngokucacileyo ukuba i-Cloud Spanner isikali kakuhle. Umthwalo onzima owenziwe ngenani elikhulu leentambo uhlaziywa ngamanani amakhulu kwi-Cloud Spanner cluster. Ngelixa i-latency ibonakala iphezulu kakhulu, ngakumbi xa isebenza ngeentambo ze-2400, ukuvavanywa kwakhona ngeemeko ezincinci ezi-6 ze-injini ye-computing kunokuba yimfuneko ukufumana amanani achanekileyo. Umzekelo ngamnye uya kuqhuba uvavanyo olunye lwe-YCSB endaweni yomzekelo omnye weCE omkhulu oneemvavanyo ezi-6 ezihambelanayo. Ngale ndlela, kuya kuba lula ukwahlula phakathi kwe-Cloud Spanner yesicelo sokubambezeleka kunye ne-latency eyongezwe lunxibelelwano lwenethiwekhi phakathi kwe-Cloud Spanner kunye nomzekelo we-CE oqhuba uvavanyo.

Isebenza njani i-Cloud Spanner njenge-OLAP?

Ukwahlulahlula?

Ukwahlula idatha ibe ngamacandelo ngokwasemzimbeni kunye/okanye ngokwengqiqo azimeleyo, abizwa ngokuba zizahlulo, ngumbono odume kakhulu ofumaneka kwiinjini ezininzi ze-OLAP. Izahlulo zinokuphucula kakhulu ukusebenza kwemibuzo kunye nokugcinwa kwedatha. Ukungena nzulu ekwahluleni kuya kuba linqaku elahlukileyo (ama) nqaku, ngoko ke masikhankanye ukubaluleka kokuba nenkqubo yokwahlulahlula kunye nokwahlulahlula. Ukukwazi ukwahlula idatha phantsi kwizahlulo kwaye nangaphezulu kwi-subpartitions ngundoqo ekusebenzeni kombuzo wokuhlalutya.

I-Cloud Spanner ayixhasi izahlulo ezinjalo. Yahlula idatha ngaphakathi kwinto ebizwa bahlukana-s isekelwe kwizitshixo eziphambili. Ukwahlula kwenziwa ngokuzenzekelayo ukulinganisa umthwalo kwiqela le-Cloud Spanner. Uphawu oluluncedo kakhulu lwe-Cloud Spanner kukwahlulwa komthwalo wesiseko setafile yomzali (itafile engadityaniswanga nenye). I-Spanner izibona ngokuzenzekelayo ukuba iqulethe bahlukana idatha efundwa rhoqo kunedatha kwezinye bahlukana-ah, kwaye banokugqiba ngokwahlukana okungaphezulu. Ngale ndlela, ii-node ezininzi zinokubandakanyeka kwisicelo, nto leyo eyandisa ngempumelelo i-throughput.

Ilayisha idatha?

Indlela ye-Cloud Spanner yedatha eninzi iyafana nokulayisha okuqhelekileyo. Ukufezekisa ukusebenza okuphezulu, kufuneka ulandele izikhokelo ezithile, ezibandakanya:

  • Hlela idatha yakho ngeqhosha lokuqala.
  • Bahlule ngo 10*inani leendawo amacandelo ahlukeneyo.
  • Yenza uluhlu lwemisebenzi elayisha idatha ngokuhambelanayo.

Oku kulayishwa kwedatha kusebenzisa zonke iindawo ze-Cloud Spanner.

Sisebenzise umthwalo we-YCSB we-A ukuvelisa idatha ye-10M yemigca.

I-Google Cloud Spanner: Elungileyo, embi kunye nembi

* Uvavanyo lomthwalo lwaqhutywa kwi-injini ye-n1-standard-32 compute (32 vCPU, imemori ye-120 GB), kwaye umzekelo wokuvavanya awuzange ube ngumqobo kwiimvavanyo.
**Ukuseta i-node enye ayikhuthazwa kuwo nawuphi na umthwalo wokuvelisa.

Njengoko kukhankanyiwe ngasentla, i-Cloud Spanner isebenza ngokuzenzekelayo ukwahlula ngokusekwe kumthwalo wabo, ke iziphumo ziyaphucuka emva kokuphindaphindwa kovavanyo oluninzi olulandelelanayo. Iziphumo ezithiwe thaca apha zezona ziphumo sizifumeneyo. Ukujonga amanani apha ngasentla, sinokubona ukuba i-Cloud Spanner ilinganisa njani (kakuhle) njengoko inani leenodi kwiqela lenyuka. Amanani agqamayo ngowomndilili ophantsi kakhulu wokubambezeleka, ochasene neziphumo zomthwalo oxubeneyo womsebenzi (i-95% ifundwe kwaye isi-5% ibhale) njengoko kuchaziwe kwicandelo elingasentla.

Ukukala?

Ukwandisa kunye nokunciphisa inani le-Cloud Spanner nodes ngumsebenzi wokucofa okukodwa. Ukuba ufuna ukulayisha idatha ngokukhawuleza, unokuqwalasela ukunyusa umzekelo wakho ukuya phezulu (kwimeko yethu yayiyi-25 nodes kummandla we-US-EAST) kwaye unciphise inani leendawo ezifanelekileyo kumthwalo wakho oqhelekileyo xa yonke idatha ingaphakathi. idatabase , ibhekisa kumda we-2TB/node.

Siye sakhunjuzwa ngalo mda nkqu nesiseko sedatha esincinci kakhulu. Emva kweemvavanyo ezininzi zovavanyo lomthwalo, i-database yethu yayimalunga ne-155 GB ngobukhulu, kwaye xa ihla yaya kumzekelo we-node enye, sifumene impazamo elandelayo:

I-Google Cloud Spanner: Elungileyo, embi kunye nembi

Sikwazile ukuthoba ukusuka kwi-25 ukuya kwi-2 iimeko, kodwa besibambekile kwiindawo ezimbini.

Ukwandisa kunye nokunciphisa inani lee-nodes kwi-Cloud Spanner cluster ingenziwa ngokuzenzekelayo usebenzisa i-REST API. Oku kunokuba luncedo ngakumbi ekunciphiseni ukunyuka komthwalo wenkqubo ngexesha leeyure zokusebenza ezixakekileyo.

Ukusebenza kwemibuzo ye-OLAP?

Ekuqaleni besicwangcise ukuchitha ixesha elininzi kuvavanyo lwethu lweSpanner kweli candelo. Emva kwee-COUNTs ezininzi ezikhethiweyo, ngokukhawuleza saqonda ukuba uvavanyo luya kuba lufutshane kwaye i-Spanner AYIYI kuba yinjini efanelekileyo ye-OLAP. Nokuba lingakanani na inani leenodi kwiqela, ukukhetha nje inani lemiqolo kwitheyibhile yomqolo eyi-10M kuthathe phakathi kwemizuzwana engama-55 ukuya kuma-60. Ukongeza, nawuphi na umbuzo ofuna imemori eyongezelelekileyo yokugcina iziphumo eziphakathi awuphumelelanga ngempazamo ye-OOM.

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

Amanye amanani emibuzo ye-TPC-H anokufumaneka kwinqaku likaTodd Lipcon Nosql-kudu-spanner-slides.html, izilayidi 42 kunye no-43. La manani ahambelana neziphumo zethu (ngelishwa).

I-Google Cloud Spanner: Elungileyo, embi kunye nembi

4. Izigqibo zethu

Ngenxa yemeko yangoku yeempawu ze-Cloud Spanner, kunzima ukucinga ukuba iyinto elula yokutshintsha isisombululo sakho se-OLTP esele sikhona, ngakumbi xa iimfuno zakho zingaphezu kwayo. Isixa esibalulekileyo sexesha kuya kufuneka sichithe ukwakha isisombululo malunga neentsilelo ze-Cloud Spanner.

Xa saqala ukuvavanya i-Cloud Spanner, besilindele ukuba iimpawu zayo zolawulo zihambelane, okanye ubuncinci zingabi kude kakhulu, ezinye izisombululo zeGoogle SQL. Kodwa samangaliswa kukungabikho ngokupheleleyo kwee-backups kunye nolawulo olulinganiselweyo lokufikelela kwizixhobo. Ungakhankanyi ukuba akukho mbono, akukho ndawo yophuhliso lwendawo, ukulandelelana okungaxhaswanga, i-JDBC ngaphandle kwe-DML kunye nenkxaso ye-DDL, njalo njalo.

Ke umntu ofuna ukonyusa isiseko sedatha yentengiselwano uya phi? Akubonakali kukho isisombululo esinye kwimarike esilingana nazo zonke iimeko zokusetyenziswa. Kukho izisombululo ezininzi ezivaliweyo nezivulekileyo (ezinye zazo zikhankanywe kweli nqaku), ngamnye unamandla kunye nobuthathaka bakhe, kodwa akukho namnye kubo onika i-SaaS nge-99,999% ye-SLA kunye nokuhambelana okuphezulu. Ukuba i-SLA ephezulu yeyona njongo yakho iphambili kwaye awutyekelanga ekwakheni isisombululo samafu amaninzi, i-Cloud Spanner inokuba sisisombululo osifunayo. Kodwa kufuneka uqaphele yonke imida yayo.

Ukuba nobulungisa, i-Cloud Spanner yakhululwa kuphela kuluntu ngentwasahlobo ka-2017, ngoko kunengqiqo ukulindela ukuba ezinye zeentsilelo zayo zangoku zinokuthi ekugqibeleni zihambe (ngethemba), kwaye xa zisenza, zingatshintsha umdlalo. Emva kwayo yonke loo nto, i-Cloud Spanner ayiyoprojekthi yecala kaGoogle. UGoogle uyisebenzisa njengesiseko sezinye iimveliso zikaGoogle. Kwaye xa uGoogle esanda kutshintsha iMegastore kwiLifu likaGoogle loGcino ngeLifu le Spanner, yavumela uGcino lweLifu likaGoogle ukuba luhambelane kakhulu noluhlu lwezinto kumhlaba jikelele (okusekusenjalo Amazon S3).

Ngoko, kusekho ithemba ... siyathemba.

Kuko konke. Njengombhali wenqaku, nathi siyaqhubeka sinethemba, kodwa ucinga ntoni ngale nto? Bhala kwizimvo

Simema wonke umntu ukuba atyelele wethu i-webinar yasimahla apho siza kukuxelela ngokweenkcukacha malunga nekhosi "I-AWS yabaPhuhlisi" ukusuka OTUS.

umthombo: www.habr.com

Yongeza izimvo