Google Cloud Spanner: Zabwino, Zoyipa, Zoyipa

Moni, Khabrovites. Mwachikhalidwe, tikupitiriza kugawana zinthu zosangalatsa madzulo a kuyamba kwa maphunziro atsopano. Lero, makamaka kwa inu, tamasulira nkhani yokhudza Google Cloud Spanner, yomwe idayikidwa kuti igwirizane ndi kukhazikitsidwa kwa maphunzirowa. "AWS kwa Madivelopa".

Google Cloud Spanner: Zabwino, Zoyipa, Zoyipa

Adasindikizidwa koyamba mu Lightspeed HQ blog.

Monga kampani yomwe imapereka mayankho osiyanasiyana a POS opangidwa ndi mtambo kwa ogulitsa, odyera, ndi ogulitsa pa intaneti padziko lonse lapansi, Lightspeed imagwiritsa ntchito mitundu ingapo yamapulatifomu azosungiramo zinthu zosiyanasiyana, kusanthula, ndikusaka. Iliyonse mwamapulatifomu awa ali ndi mphamvu zake komanso zofooka zake.Choncho, Google itabweretsa Cloud Spanner pamsika - zolonjeza zomwe sizikuwoneka padziko lonse lapansi zamawu achibale, monga pafupifupi unlimited scalability horizontal ndi mgwirizano wa 99,999% service level (SLA) , Sitinathe kusiya mwayi wokhala naye m'manja mwathu!

Kuti tifotokoze mwatsatanetsatane zomwe takumana nazo ndi Cloud Spanner, komanso njira zowunikira zomwe tidagwiritsa ntchito, tikambirana mitu iyi:

  1. Zoyezera zathu
  2. Cloud Spanner Mwachidule
  3. Kuwunika kwathu
  4. Zotsatira zathu

Google Cloud Spanner: Zabwino, Zoyipa, Zoyipa

1. Zoyezera zathu

Tisanalowe mwatsatanetsatane za Cloud Spanner, kufanana kwake ndi kusiyana kwake ndi mayankho ena pamsika, tiyeni tikambirane kaye za milandu yayikulu yomwe timaganizira poganizira komwe tingatumizire Cloud Spanner pazomangamanga zathu:

  • Monga m'malo mwa (omwe alipo) achikhalidwe cha SQL database yankho
  • Monga yankho la OLTP lothandizidwa ndi OLAP

Taonani: Kuti tifanizire mosavuta, nkhaniyi ikufanizira Cloud Spanner ndi mitundu ya MySQL ya GCP Cloud SQL ndi mabanja a Amazon AWS RDS.

Kugwiritsa ntchito Cloud Spanner m'malo mwa njira yachikhalidwe ya SQL database

Mu chilengedwe mwachikhalidwe nkhokwe, nthawi yoyankhira funso la database ikafika kapena kupitilira zomwe zafotokozedweratu (makamaka chifukwa cha kuchuluka kwa ogwiritsa ntchito ndi/kapena zopempha), pali njira zingapo zochepetsera nthawi yoyankha kuti ikhale yovomerezeka. Komabe, zambiri mwazothetsera izi zimaphatikizapo kuchitapo kanthu pamanja.

Mwachitsanzo, chinthu choyamba kuchita ndikuyang'ana makonda osiyanasiyana okhudzana ndi magwiridwe antchito ndikuwongolera kuti zigwirizane bwino ndi momwe amagwiritsira ntchito. Ngati izi sizokwanira, mutha kusankha kukulitsa nkhokwe molunjika kapena mopingasa.

Kukulitsa pulogalamu kumaphatikizapo kukonzanso zochitika za seva, makamaka powonjezera mapurosesa/macores ambiri, RAM yochulukirapo, kusungirako mwachangu, ndi zina zambiri. Kuwonjezera zida za Hardware kumabweretsa kuchuluka kwa magwiridwe antchito a database, kuyeza makamaka pakugulitsa pa sekondi imodzi, ndi kuchedwa kwa kachitidwe ka machitidwe a OLTP. Machitidwe a database ogwirizana (omwe amagwiritsa ntchito njira yamitundu yambiri) monga MySQL scale molunjika.

Pali zovuta zingapo panjira iyi, koma chodziwikiratu ndi kuchuluka kwa seva pamsika. Mukafika malire akulu kwambiri a Server Instance, patsala njira imodzi yokha: tulukani.

Scale-out ndi njira yomwe imawonjezera ma seva ambiri pagulu kuti awonjezere magwiridwe antchito motsatira ma seva ochulukirapo. Ambiri mwachikhalidwe machitidwe a database samakula bwino kapena samakula konse. Mwachitsanzo, MySQL imatha kuwerengera zowerengera powonjezera owerenga akapolo, koma sangathe kupitilira kulemba.

Kumbali ina, chifukwa cha chikhalidwe chake, Cloud Spanner imatha kukulira mopingasa mosavuta ndi kulowererapo kochepa.

Zowonetsedwa kwathunthu DBMS ngati ntchito ziyenera kuunika mosiyanasiyana. Monga maziko, tidatenga DBMS yotchuka kwambiri pamtambo - ya Google, GCP Cloud SQL ndi Amazon, AWS RDS. Pakuwunika kwathu, tidayang'ana kwambiri magulu awa:

  • Mapu a mawonekedwe: SQL kukula, DDL, DML; kugwirizana malaibulale / zolumikizira, kuthandizira pazochitika, ndi zina zotero.
  • Thandizo lachitukuko: Kumasuka kwa chitukuko ndi kuyesa.
  • Thandizo loyang'anira: Kuwongolera zochitika monga kukweza / kutsika ndi kukweza zochitika; SLA, zosunga zobwezeretsera ndi kuchira; chitetezo / njira yolowera.

Kugwiritsa ntchito Cloud Spanner ngati OLAP-Enabled OLTP Solution

Ngakhale Google sinena momveka bwino kuti Cloud Spanner ndi ya analytics, imagawana zinthu zina ndi injini zina monga Apache Impala & Kudu ndi YugaByte zomwe zimapangidwira ntchito za OLAP.

Ngakhale panali mwayi wochepa woti Cloud Spanner idaphatikizepo injini yokhazikika ya HTAP (Hybrid Transactional/Analytic Processing) yokhala ndi seti (yambiri kapena yochepera) yogwiritsiridwa ntchito ya OLAP, tikuganiza kuti ingatiyenerere.

Poganizira izi, tinayang'ana magulu otsatirawa:

  • Kutsitsa kwa data, ma index ndi chithandizo chogawa
  • Kufunsa mafunso ndi DML

2. Cloud Spanner Mwachidule

Google Spanner ndi clustered relational database management system (RDBMS) yomwe Google imagwiritsa ntchito pazinthu zake zingapo. Google idapangitsa kuti izipezeka poyera kwa ogwiritsa ntchito Google Cloud Platform koyambirira kwa 2017.

Nazi zina mwazinthu za Cloud Spanner:

  • Kusasinthika Kwambiri, Cluster ya RDBMS Yowonongeka: Imagwiritsa ntchito kulumikizana kwa nthawi ya hardware kuti zitsimikizire kusasinthika kwa data.
  • Thandizo lochitapo kanthu patebulo: Zochita zimatha kukhala ndi matebulo angapo - osangokhala patebulo limodzi (mosiyana ndi Apache HBase kapena Apache Kudu).
  • Matebulo Ofunika Kwambiri: Matebulo onse ayenera kukhala ndi Key Key (PC), yomwe ingakhale ndi magawo angapo atebulo. Deta ya tabular imasungidwa mu dongosolo la PC, zomwe zimapangitsa kuti zikhale zogwira mtima komanso zachangu pakufufuza pa PC. Mofanana ndi machitidwe ena a PC, kukhazikitsidwa kuyenera kutsatiridwa motsutsana ndi zochitika zomwe zimagwiritsidwa ntchito kale kuti zitheke ntchito yabwino.
  • Matebulo amizeremizere: Matebulo amatha kudalirana wina ndi mnzake. Mizere ya tebulo la mwana ikhoza kufananizidwa ndi mizere ya tebulo la makolo. Njirayi imafulumizitsa kufufuza maubwenzi omwe angatsimikizidwe pa siteji yowonetsera deta, mwachitsanzo, poyika makasitomala ndi ma invoice awo pamodzi.
  • Ma index: Cloud Spanner imathandizira ma index achiwiri. Mlozera umakhala ndi mizere yolozera ndi magawo onse a PC. Mwachidziwitso, mlozerawu ukhozanso kukhala ndi zigawo zina zomwe sizinalembedwe. Mndandandawu ukhoza kulumikizidwa ndi tebulo la makolo kuti mafunso afulumizitse. Zoletsa zingapo zimagwira ntchito pama index, monga kuchuluka kwa magawo owonjezera omwe angasungidwe mu index. Komanso, mafunso kudzera m'ma index sangakhale olunjika monga mu RDBMS ina.

"Cloud Spanner imasankha index yokha nthawi zina. Makamaka, Cloud Spanner samangosankha index yachiwiri ngati funso likufuna mizati yomwe sinasungidwemo. index ".

  • Mgwirizano Wachigawo cha Utumiki (SLA): Kutumizidwa kwa dera limodzi ndi 99,99% SLA; kutumizidwa kwamadera ambiri ndi 99,999% SLA. Ngakhale SLA palokha ndi mgwirizano chabe osati chitsimikizo cha mtundu uliwonse, ndikukhulupirira kuti anthu a Google ali ndi deta yolimba kuti anene mwamphamvu chotero. (Pofotokoza, 99,999% imatanthauza masekondi 26,3 a nthawi yopuma pantchito pamwezi.)
  • Zambiri: https://cloud.google.com/spanner/

Taonani: Pulojekiti ya Apache Tephra imawonjezera chithandizo chapamwamba ku Apache HBase (yomwe yakhazikitsidwa ku Apache Phoenix ngati beta).

3. Kuwunika kwathu

Chifukwa chake, tonse tawerenga zonena za Google zokhuza maubwino a Cloud Spanner - makulitsidwe opingasa mopanda malire kwinaku akusunga kusasinthika kwakukulu komanso SLA yapamwamba kwambiri. Ngakhale kuti zonenazi zili zovuta kwambiri kukwaniritsa, cholinga chathu sichinali kutsutsa. M'malo mwake, tiyeni tiyang'ane pa zinthu zina zomwe ogwiritsa ntchito ambiri a database amasamala nazo: kufanana ndi kugwiritsidwa ntchito.

Tidavotera Cloud Spanner ngati m'malo mwa Sharded MySQL

Google Cloud SQL ndi Amazon AWS RDS, nkhokwe ziwiri zodziwika bwino za OLTP pamsika wamtambo, zili ndi mawonekedwe akulu kwambiri. Komabe, kuti muwonjezere nkhokwezi kupitilira kukula kwa node imodzi, muyenera kuchita kugawa kwa mapulogalamu. Njirayi imapanga zovuta zowonjezera pazogwiritsa ntchito komanso kuwongolera. Tidayang'ana momwe Spanner ikulowera muzochitika zophatikizira ma shards angapo kukhala chochitika chimodzi ndi mawonekedwe (ngati alipo) omwe angafunikire kuperekedwa nsembe.

Thandizo la SQL, DML ndi DDL, komanso cholumikizira ndi malaibulale?

Choyamba, poyambira ndi database iliyonse, muyenera kupanga chitsanzo cha data. Ngati mukuganiza kuti mutha kulumikiza JDBC Spanner ku chida chomwe mumakonda cha SQL, mupeza kuti mutha kufunsira deta yanu, koma simungagwiritse ntchito kupanga tebulo kapena kusintha (DDL) kapena kuyika / kusintha / kufufuta. ntchito (DML). JDBC yovomerezeka ya Google sichigwirizananso.

"Madalaivala sakugwirizana ndi mawu a DML kapena DDL."
Zolemba za Spanner

Zinthu sizili bwino ndi cholumikizira cha GCP - mutha kungotumiza SELECT mafunso. Mwamwayi pali dalaivala wa JDBC yemwe ali ndi chithandizo cha DML ndi DDL kuchokera kumudzi kuphatikizapo zochitika github.com/olavloite/spanner-jdbc. Ngakhale dalaivala uyu ndiwothandiza kwambiri, kusowa kwa woyendetsa wa Google wa JDBC ndikodabwitsa. Mwamwayi, Google imapereka chithandizo chalaibulale yamakasitomala (yotengera gRPC): C#, Go, Java, node.js, PHP, Python, ndi Ruby.

Kugwiritsa ntchito pafupifupi kovomerezeka kwa Cloud Spanner's APIs (chifukwa chosowa DDL ndi DML mu JDBC) kumabweretsa malire a magawo okhudzana ndi ma code monga kugwirizanitsa kapena zomangira za database (monga Spring MVC). Nthawi zambiri, mukamagwiritsa ntchito JDBC, muli ndi ufulu wosankha malo omwe mumawakonda (monga HikariCP, DBCP, C3PO, etc.) omwe amayesedwa ndikugwira ntchito bwino. Pankhani ya ma Spanner APIs, tiyenera kudalira ma frameworks/binding/session pools omwe tapanga tokha.

Mapangidwe oyambira makiyi (PC) amalola Cloud Spanner kukhala yothamanga kwambiri mukapeza deta kudzera pa PC, komanso imayambitsa mafunso ena.

  • Simungathe kusintha mtengo wa kiyi yoyamba; Choyamba muyenera kuchotsa cholowa choyambirira cha PC ndikuchiyikanso ndi mtengo watsopano. (Izi ndizofanana ndi ma PC ena opangira database/mainjini osungira.)
  • ZOCHITIKA ZONSE ndi KUFUTA ziganizo ziyenera kulongosola PC mu KUTI, kotero, sipangakhale kanthu FUFUTA mawu onse - nthawi zonse payenera kukhala zongopeka, mwachitsanzo: UPDATE xxx PALI id IN (SKHANI id KUCHOKERA table1)
  • Kupanda njira yowonjezera-yowonjezera kapena china chofananira chomwe chimayika mndandanda wa gawo la PC. Kuti izi zitheke, mtengo wofananira uyenera kupangidwa kumbali yogwiritsira ntchito.

Ma indices achiwiri?

Google Cloud Spanner ili ndi chithandizo chokhazikika cha ma index achiwiri. Ichi ndi chinthu chabwino kwambiri chomwe sichipezeka nthawi zonse mumatekinoloje ena. Apache Kudu sichikuthandizira ma index achiwiri konse, ndipo Apache HBase samathandizira ma index mwachindunji, koma akhoza kuwonjezera kudzera pa Apache Phoenix.

Zolozera ku Kudu ndi HBase zitha kutsatiridwa ngati tebulo losiyana lomwe lili ndi mafungulo osiyanasiyana oyambira, koma ma atomiki azomwe zimachitika patebulo la makolo ndi matebulo okhudzana ndi index ayenera kuchitidwa pamlingo wofunsira ndipo sizochepera kuti akwaniritse bwino.

Monga tafotokozera mu ndemanga ya Cloud Spanner, ma index ake akhoza kusiyana ndi ma index a MySQL. Chotero, chisamaliro chapadera chiyenera kuchitidwa pakupanga mafunso ndi kulemba mbiri yawo kuonetsetsa kuti mlozera wolondola wagwiritsidwa ntchito pamene ukufunika.

Oimira?

Chinthu chodziwika kwambiri komanso chothandiza mu database ndikuwona. Zitha kukhala zothandiza pazinthu zambiri zogwiritsira ntchito; zokonda zanga ziwiri ndizosanjikiza zomveka komanso chitetezo. Tsoka ilo, Cloud Spanner SIImathandizira malingaliro. Komabe, izi zimangochepetsa pang'ono, chifukwa palibe kuchuluka kwa magawo a zilolezo pomwe malingaliro angakhale yankho lovomerezeka.

Onani zolemba za Cloud Spanner za gawo lofotokoza za magawo ndi malire (spanner/quotas), pali imodzi makamaka yomwe ingakhale yovuta pazinthu zina: Cloud Spanner kunja kwa bokosi ili ndi ma database opitilira 100 nthawi iliyonse. Mwachiwonekere, ichi chikhoza kukhala chopinga chachikulu kwa database yomwe yapangidwa kuti ifike ku 100 databases. Mwamwayi, titalankhula ndi woimira zaukadaulo wa Google, tidapeza kuti malirewa atha kukulitsidwa pafupifupi mtengo uliwonse kudzera pa Google Support.

Thandizo lachitukuko?

Cloud Spanner imapereka chithandizo chabwino kwambiri cha chilankhulo chogwirira ntchito ndi API yake. Ma library omwe amathandizidwa ndi boma ali mdera la C #, Go, Java, node.js, PHP, Python, ndi Ruby. Zolembazo ndi zatsatanetsatane, koma monga momwe zimakhalira ndi matekinoloje ena otsogola, anthu ammudzi ndi ochepa poyerekeza ndi matekinoloje odziwika bwino a database, zomwe zingapangitse kuti nthawi yochulukirapo iwonongedwe pazovuta kapena zovuta zomwe zimagwiritsidwa ntchito nthawi zambiri.

Nanga bwanji thandizo lachitukuko mdera lanu?

Sitinapeze njira yopangira mawonekedwe a Cloud Spanner pamalopo. Chapafupi kwambiri chomwe tili nacho ndi chithunzi cha Docker ChiphuphuDBzomwe ziri zofanana kwenikweni, koma zosiyana kwambiri muzochita. Mwachitsanzo CockroachDB ikhoza kugwiritsa ntchito PostgreSQL JDBC. Popeza malo otukuka ayenera kukhala pafupi kwambiri ndi malo opanga, Cloud Spanner si yabwino chifukwa muyenera kudalira chitsanzo cha Spanner. Kuti musunge ndalama, mutha kusankha gawo limodzi.

Thandizo la utsogoleri?

Kupanga chitsanzo cha Cloud Spanner ndikosavuta. Mukungoyenera kusankha pakati pa kupanga madera ambiri kapena gawo limodzi, tchulani madera ndi kuchuluka kwa node. Pasanathe miniti imodzi, chochitikacho chidzakhala chikugwira ntchito.

Ma metric angapo oyambira amapezeka mwachindunji patsamba la Spanner mu Google Console. Malingaliro atsatanetsatane akupezeka kudzera pa Stackdriver, pomwe mutha kukhazikitsanso ma metric ndi mfundo zochenjeza.

Kupeza zothandizira?

MySQL imapereka chilolezo chochulukirapo komanso chosavuta kwambiri cha ogwiritsa ntchito. Mutha kusintha mosavuta mwayi wopezeka patebulo linalake, kapenanso kagawo kakang'ono kake. Cloud Spanner imagwiritsa ntchito chida cha Google Identity & Access Management (IAM), chomwe chimangokulolani kukhazikitsa ndondomeko ndi zilolezo pamlingo wapamwamba kwambiri. Njira yayikulu kwambiri ndi chilolezo cha database, chomwe sichikwanira nthawi zambiri zopanga. Kuletsa uku kumakukakamizani kuti muwonjezere chitetezo ku code yanu, zomangamanga, kapena zonse ziwiri kuti mupewe kugwiritsa ntchito zinthu za Spanner mosaloledwa.

Zosunga zobwezeretsera?

Kunena mwachidule, palibe zosunga zobwezeretsera mu Cloud Spanner. Ngakhale zofunikira za SLA za Google zingatsimikizire kuti simutaya deta iliyonse chifukwa cha hardware kapena zolephera za database, zolakwika zaumunthu, zolakwika za ntchito, ndi zina zotero. Tonse timadziwa lamuloli: kupezeka kwakukulu sikungalowe m'malo mwa njira yosunga zobwezeretsera mwanzeru. Pakalipano, njira yokhayo yosungira deta ndikuyiyika mwadongosolo kuchokera ku database kupita kumalo osungirako osiyana.

Kufunsa momwe?

Tidagwiritsa ntchito Yahoo! kutsitsa data ndikuyesa mafunso. Cloud Serving Benchmark. Gome ili pansipa likuwonetsa kuchuluka kwa ntchito za B YCSB ndi 95% yowerengedwa mpaka 5%.

Google Cloud Spanner: Zabwino, Zoyipa, Zoyipa

* Mayeso olemetsa adayendetsedwa pa n1-standard-32 Compute Engine (CE) (32 vCPUs, 120 GB memory) ndipo kuyesa sikunali kovutirapo pamayesero.
** Kuchuluka kwa ulusi mu nthawi imodzi ya YCSB ndi 400. Zonse, maulendo asanu ndi limodzi ofananira a mayeso a YCSB anayenera kuyendetsedwa kuti apeze ulusi wokwana 2400.

Kuyang'ana zotsatira za benchmark, makamaka kuphatikiza kwa CPU katundu ndi TPS, titha kuwona kuti Cloud Spanner imakula bwino. Katundu wamkulu wopangidwa ndi ulusi wambiri amachotsedwa ndi ma node ambiri mugulu la Cloud Spanner. Ngakhale latency ikuwoneka yokwera kwambiri, makamaka ikathamanga pa ulusi wa 2400, pangakhale kofunikira kuti muyesenso ndi kagawo kakang'ono ka 6 ka injini yowerengera kuti mupeze manambala olondola. Chitsanzo chilichonse chidzayesa mayeso a YCSB m'malo mwa chitsanzo chimodzi chachikulu cha CE chokhala ndi mayeso 6 ofanana. Izi zipangitsa kuti kukhale kosavuta kusiyanitsa pakati pa kuchedwa kwa pempho la Cloud Spanner ndi kuchedwa komwe kumalumikizidwa ndi netiweki pakati pa Cloud Spanner ndi nthawi ya CE yomwe ikuyesa.

Kodi Cloud Spanner imagwira ntchito bwanji ngati OLAP?

Kugawa?

Kugawa deta m'magawo odziyimira pawokha komanso/kapena odziyimira pawokha, otchedwa magawo, ndi lingaliro lodziwika bwino lomwe limapezeka mumainjini ambiri a OLAP. Ma partitions amatha kusintha kwambiri magwiridwe antchito a mafunso komanso kusamalidwa kwa database. Kupitiliza kugawa kungakhale nkhani yosiyana, kotero tiyeni tingotchula kufunikira kokhala ndi dongosolo logawa ndi magawo. Kutha kugawa deta m'magawo komanso kupitilira m'magawo ang'onoang'ono ndikofunikira kwambiri pakufufuza kwamafunso.

Cloud Spanner sigwirizana ndi magawo pa sek. Imalekanitsa deta mkati mwa otchedwa Gawa-s kutengera mafungulo oyambira. Kugawa kumangochitika zokha kuti muchepetse katundu pagulu la Cloud Spanner. Chinthu chothandiza kwambiri cha Cloud Spanner ndikugawaniza katundu wa tebulo la makolo (tebulo lomwe silinagwirizane ndi lina). Spanner imadzizindikira yokha ngati ili Gawa deta yomwe imawerengedwa mobwerezabwereza kuposa deta ina Gawa-ah, ndipo akhoza kusankha kupatukana kwina. Chifukwa chake, ma node ochulukirapo amatha kuphatikizidwa ndi pempho, zomwe zimawonjezeranso bwino ntchito.

Mukutsegula data?

Njira ya Cloud Spanner ya data yochuluka ndi yofanana ndi yolowetsa nthawi zonse. Kuti mugwiritse ntchito kwambiri, muyenera kutsatira malangizo ena, kuphatikiza:

  • Sinthani deta yanu ndi kiyi yoyamba.
  • Agaweni ndi 10*chiwerengero cha nodes zigawo payekha.
  • Pangani gulu la ntchito za ogwira ntchito zomwe zimadzaza data molumikizana.

Deta iyi imagwiritsa ntchito ma node onse a Cloud Spanner.

Tidagwiritsa ntchito kuchuluka kwa ntchito ya A YCSB kupanga mizere ya 10M.

Google Cloud Spanner: Zabwino, Zoyipa, Zoyipa

* Mayeso olemetsa adayendetsedwa pa injini ya n1-standard-32 compute (32 vCPUs, 120 GB memory) ndipo kuyesa sikunali kovutirapo pamayeserowo.
** Kukhazikitsa kwa node 1 sikuvomerezeka pantchito iliyonse yopanga.

Monga tafotokozera pamwambapa, Cloud Spanner imangodzigawanitsa kutengera katundu wawo, kotero zotsatira zake zimakhala bwino pambuyo poyeserera kangapo motsatizana. Zotsatira zomwe zaperekedwa apa ndi zotsatira zabwino kwambiri zomwe talandira. Kuyang'ana manambala omwe ali pamwambapa, titha kuwona momwe Cloud Spanner imakulira (chabwino) pomwe kuchuluka kwa node mumagulu kumawonjezeka. Ziwerengero zomwe zimawonekera ndizochepa kwambiri za latency, zomwe zimasiyana ndi zotsatira za ntchito zosakanikirana (95% kuwerenga ndi 5% kulemba) monga momwe tafotokozera m'chigawo pamwambapa.

Kukulitsa?

Kuchulukitsa ndi kuchepetsa chiwerengero cha Cloud Spanner node ndi ntchito yongodina kamodzi. Ngati mukufuna kukweza deta mwachangu, mungafunike kulingalira kukulitsa chitsanzocho mpaka pamlingo waukulu (kwathu kunali ma node 25 m'chigawo cha US-EAST) ndiyeno muchepetse kuchuluka kwa ma node oyenera katundu wanu wamba pambuyo pa data yonse. mu nkhokwe, kukumbukira malire a 2 TB/node.

Tinakumbutsidwa za malire awa ngakhale ndi database yaying'ono kwambiri. Pambuyo poyesedwa kangapo, nkhokwe yathu inali pafupi kukula kwa 155 GB, ndipo itatsitsidwa ku 1 node chitsanzo, tinali ndi zolakwika zotsatirazi:

Google Cloud Spanner: Zabwino, Zoyipa, Zoyipa

Tidatha kutsika kuchokera ku 25 mpaka 2, koma tidakhazikika pamagawo awiri.

Kukweza ndi kuchepetsa chiwerengero cha nodes mu Cloud Spanner cluster kungakhale kogwiritsa ntchito REST API. Izi zitha kukhala zothandiza makamaka pakuchepetsa kuchuluka kwa katundu pamakina panthawi yotanganidwa.

Kodi OLAP imagwira ntchito bwanji?

Tidakonza zokhala ndi nthawi yayitali pakuwunika kwathu Spanner pagawoli. Pambuyo ZOSANKHIDWA pang'ono, tidazindikira nthawi yomweyo kuti mayesowo adzakhala achidule komanso kuti Spanner SINGAKHALE injini yoyenera ya OLAP. Mosasamala kanthu za kuchuluka kwa node mu tsango, kungosankha kuchuluka kwa mizere mu tebulo la mzere wa 10M kunatenga masekondi 55 mpaka 60. Komanso, funso lililonse lomwe limafunikira kukumbukira zambiri kuti lisunge zotsatira zapakatikati linalephera ndi cholakwika cha OOM.

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

Nambala zina zamafunso a TPC-H zitha kupezeka m'nkhani ya Todd Lipcon nosql-kudu-spanner-slides.html, zithunzi 42 ndi 43. Manambalawa akugwirizana ndi zotsatira zathu (mwatsoka).

Google Cloud Spanner: Zabwino, Zoyipa, Zoyipa

4. Zomwe tapeza

Poganizira momwe Cloud Spanner ilili pano, ndizovuta kuziwona ngati choloweza m'malo mwa njira yomwe ilipo ya OLTP, makamaka ngati zosowa zanu zikukulirakulira. Zingatenge nthawi yayitali kuti mupange yankho mozungulira zofooka za Cloud Spanner.

Pamene tidayamba kuwunika Cloud Spanner, tinkayembekezera kuti kasamalidwe kake kakhale kofanana, kapena osati kutali, ndi mayankho ena a Google SQL. Koma tidadabwa ndi kusowa kwathunthu kwa zosunga zobwezeretsera komanso kuwongolera kocheperako kwazinthu. Osanenapo mawonedwe, palibe malo otukuka am'deralo, kutsatizana kosathandizidwa, JDBC popanda thandizo la DML ndi DDL, ndi zina zotero.

Ndiye, mungapite kuti kwa munthu yemwe akufunika kukulitsa database yamalonda? Palibe yankho limodzi pamsika pano lomwe likugwirizana ndi zochitika zonse zogwiritsidwa ntchito. Pali mayankho ambiri otsekedwa ndi otseguka (ena omwe akutchulidwa m'nkhaniyi), aliyense ali ndi mphamvu zake ndi zofooka zake, koma palibe amene amapereka SaaS ndi 99,999% SLA komanso kusinthasintha kwakukulu. Ngati SLA yapamwamba ndiye cholinga chanu chachikulu ndipo simukufuna kupanga yankho la mitambo ingapo, Cloud Spanner ikhoza kukhala yankho lomwe mukuyang'ana. Koma muyenera kudziwa malire ake onse.

Kunena zowona, Cloud Spanner idangotulutsidwa kwa anthu kumapeto kwa chaka cha 2017, kotero ndizomveka kuyembekezera kuti zolakwika zake zina zitha kutha (mwachiyembekezo), ndipo zikatero, zitha kukhala zosintha masewera. Kupatula apo, Cloud Spanner si ntchito yapambali ya Google. Google imagwiritsa ntchito ngati maziko azinthu zina za Google. Ndipo pamene Google posachedwapa yasintha Megastore mu Google Cloud Storage ndi Cloud Spanner, inalola Google Cloud Storage kuti ikhale yosasinthasintha pamndandanda wazinthu padziko lonse lapansi (zomwe sizili choncho kwa Amazon S3).

Kotero, pali chiyembekezo ... tikuyembekeza.

Ndizomwezo. Monga mlembi wa nkhaniyi, tikupitirizabe kuyembekezera, koma mukuganiza bwanji za izi? Lembani mu ndemanga

Tikuyitanitsa aliyense kuti adzacheze kwathu webinar yaulere momwe tidzakuuzani mwatsatanetsatane za maphunzirowa "AWS kwa Madivelopa" kuchokera ku OTUS.

Source: www.habr.com

Kuwonjezera ndemanga