Google Cloud Spanner: E ntle, e mpe le e mpe

Lumela, baahi ba Khabrovsk. Joalo ka tloaelo, re tsoela pele ho arolelana litaba tse khahlisang pele lithuto tse ncha li qala. Kajeno, haholo bakeng sa hau, re phatlalalitse sengoloa mabapi le Google Cloud Spanner ho tsamaisana le ho qala thupelo "AWS bakeng sa Bahlahisi".

Google Cloud Spanner: E ntle, e mpe le e mpe

E phatlalalitsoe ka lekhetlo la pele ho Lightspeed HQ blog.

Joaloka k'hamphani e fanang ka mefuta e fapaneng ea litharollo tsa POS tse thehiloeng marung ho barekisi, barekisi ba lireschorente le barekisi ba marang-rang lefatšeng ka bophara, Lightspeed e sebelisa mefuta e mengata e fapaneng ea liforomo tsa database bakeng sa linyeoe tse fapaneng tsa ts'ebeliso, tlhahlobo le lipatlisiso. E 'ngoe le e 'ngoe ea li-database tsena e na le matla le bofokoli ba eona. Ka hona, ha Google e hlahisa Cloud Spanner 'marakeng - likarolo tse ts'episang tse sa bonahaleng lefats'eng la marang-rang a amanang, joalo ka scalability e sa lekanyetsoang le tumellano ea boemo ba litšebeletso ea 99,999% (SLA), — ha rea ​​ka ra fetoa ke monyetla oa ho fumana matsoho a rona ho eona!

Ho fana ka kakaretso e felletseng ea boiphihlelo ba rona ka Cloud Spanner, hammoho le litekanyetso tsa tlhahlobo tseo re li sebelisitseng, re tla akaretsa lihlooho tse latelang:

  1. Mekhoa ea rona ea tlhahlobo
  2. Cloud Spanner ka bokhutšoanyane
  3. Tekolo ya rona
  4. Liphuputso tsa rona

Google Cloud Spanner: E ntle, e mpe le e mpe

1. Litekanyetso tsa rona tsa tlhahlobo

Pele re kenella ho tse ikhethang tsa Cloud Spanner, ho tšoana le liphapang tsa eona le litharollo tse ling 'marakeng, ha re bueng pele ka linyeoe tsa mantlha tseo re neng re nahanne ka tsona ha re nahana hore na re ka kenya Cloud Spanner hokae lits'ebetsong tsa rona:

  • E le sebaka sa tharollo ea (e ka sehloohong) ea setso sa SQL
  • Mokhoa oa ho rarolla bothata ba OLTP ka tšehetso ea OLAP

Ela hloko: Bakeng sa ho nolofatsa le ho bapisa habonolo, sengoloa sena se bapisa Cloud Spanner le mefuta e fapaneng ea MySQL ea malapa a tharollo ea GCP Cloud SQL le Amazon AWS RDS.

Ho sebelisa Cloud Spanner e le sebaka sa tharollo ea khale ea SQL database

Tikolohong setso polokelongtshedimosetso, ha nako ya karabo ya potso ya polokelongtshedimosetso e atamela kapa esita le ho feta ditekanyetso tse hlalositsweng esale pele tsa kopo (haholo-holo ka lebaka la keketseho ya palo ya basebedisi le/kapa dikopo), ho na le mekgwa e mengata ya ho fokotsa nako ya karabelo maemong a amohelehang. Leha ho le joalo, boholo ba litharollo tsena li kenyelletsa ho kenella ka letsoho.

Mohlala, mohato oa pele oo u lokelang ho o nka ke ho sheba liparamente tse fapaneng tse amanang le ts'ebetso le ho li hlophisa hore li tsamaisane hantle le mekhoa ea linyeoe tsa ts'ebeliso. Haeba sena se sa lekana, o ka khetha ho lekanya database ka ho otloloha kapa ho ea holimo.

Ho lekanya kopo ho kenyelletsa ho ntlafatsa mohlala oa seva, hangata ka ho eketsa li-processor/cores, RAM e ngata, polokelo e potlakileng, joalo-joalo. Ho eketsa lisebelisoa tsa hardware ho fella ka ho eketseha ha ts'ebetso ea polokelo ea boitsebiso, e lekantsoeng haholo-holo ka transactions ka motsotsoana, le latency ea transaction bakeng sa litsamaiso tsa OLTP. Relational database system (tse sebelisang mokhoa o nang le likhoele tse ngata) joalo ka sekala sa MySQL hantle ka ho otloloha.

Ho na le mefokolo e 'maloa ea mokhoa ona, empa e hlakileng ka ho fetesisa ke boholo ba boholo ba seva 'marakeng. Hang ha moeli oa mohlala o moholo ka ho fetisisa oa seva o fihletsoe, ho na le khetho e le 'ngoe feela e setseng: tekanyo e otlolohileng.

Ho pharalla ka mokhoa o otlolohileng ke mokhoa oo ho oona li-server tse ngata li kenyelletsoang sehlopheng, ka mokhoa o nepahetseng ho eketsa ts'ebetso ka mokhoa o tšoanang ha palo ea li-server e eketsoa. Boholo setso Sistimi ea database ha e hole hantle kapa ha e hole ho hang. Ka mohlala, MySQL e ka phahama ka holimo bakeng sa ts'ebetso ea ho bala ka ho eketsa babali ba makhoba, empa e ke ke ea phahama ka holimo bakeng sa ho ngola.

Ka lehlakoreng le leng, ka lebaka la tlhaho ea eona, Cloud Spanner e ka phahama habonolo ka ho kenella ho fokolang.

E hlahisitsoe ka botlalo DBMS e le tšebeletso e tlameha ho hlahlojoa ho tsoa mahlakoreng a fapaneng. E le motheo, re nkile DBMS e tsebahalang haholo marung - bakeng sa Google, GCP Cloud SQL le bakeng sa Amazon, AWS RDS. Tlhatlhobong ea rona re tsepamisitse maikutlo ho lihlopha tse latelang:

  • 'Mapa oa likarolo: boholo ba SQL, DDL, DML; lilaebrari / lihokelo tsa khokahano, tšehetso ea transaction, joalo-joalo.
  • Ts'ehetso ea nts'etsopele: nts'etsopele le liteko tse bonolo.
  • Tšehetso ea tsamaiso: mohlala oa tsamaiso - mohlala, ho phahamisa / ho theoha le ho ntlafatsa maemo; SLA, bekapo le ho hlaphoheloa; tšireletseho/ taolo ya phihlello.

Ho sebelisa Cloud Spanner joalo ka tharollo ea OLTP e nolofalitsoeng ke OLAP

Leha Google e sa bolele ka ho hlaka hore Cloud Spanner e etselitsoe ts'ebetso ea tlhahlobo, e arolelana litšobotsi tse ling le lienjineri tse ling tse kang Apache Impala & Kudu le YugaByte, tse etselitsoeng mesebetsi e mengata ea OLAP.

Leha ho bile le monyetla o monyane oa hore Cloud Spanner e kenyelletse enjine ea HTAP (hybrid transactional/analytics processing) e nang le sete ea likarolo tsa OLAP (ho feta kapa ka tlase), re nahana hore e tla tšoanela ho e ela hloko.

Re nahanne ka sena, re shebile lihlopha tse latelang:

  • Ho kenya data, li-index le tšehetso ea ho arola
  • Potso Performance le DML

2. Cloud Spanner ka bokhutšoanyane

Google Spanner ke sistimi e kopaneng ea taolo ea polokelo ea litaba (RDBMS) eo Google e e sebelisang bakeng sa lits'ebeletso tsa eona tse 'maloa. Google e entse hore e fumanehe ho basebelisi ba Google Cloud Platform mathoasong a 2017.

Mona ke tse ling tsa litšobotsi tsa Cloud Spanner:

  • Cluster ea RDBMS e sa fetoheng haholo: E sebelisa khokahano ea nako ea Hardware ho netefatsa ho tsitsa ha data.
  • Ts'ehetso ea transaction ea litafole: Litšebelisano li ka nka litafole tse ngata - ha li felle feela tafoleng e le 'ngoe (ho fapana le Apache HBase kapa Apache Kudu).
  • Litafole tsa mantlha tsa senotlolo: Litafole tsohle li tlameha ho ba le senotlolo sa mantlha se phatlalalitsoeng (PC), se ka bang le litšiea tse ngata tafoleng. Lintlha tsa Tabular li bolokoa ka tatellano ea PC, e etsa hore e sebetse hantle haholo hape e potlake ho batla PC. Joalo ka lits'ebetso tse ling tse thehiloeng ho PC, ts'ebetsong e tlameha ho etsoa mohlala ka linyeoe tsa ts'ebeliso tse reriloeng esale pele ho fihlella tshebetso e ntle ka ho fetisisa.
  • Litafole tse mebala-bala: Litafole li ka ba le lintho tse itšetlehileng ka 'mele ho tse ling. Mela e ka har'a tafole ea ngoana e ka bapisoa le mela e tafoleng ea motsoali. Mokhoa ona o potlakisa ho batlisisa likamano tse ka tsejoang nakong ea mohlala oa data, joalo ka ho fumana bareki le li-invoice tsa bona.
  • Li-Index: Cloud Spanner e tšehetsa li-index tsa bobeli. Lenane le na le likholomo tse indexed le likholomo tsohle tsa PC. Haeba o lakatsa, index e ka boela ea ba le likholomo tse ling tse sa ngolisoeng. Lenane le ka kopanngoa le tafole ea motsoali ho potlakisa lipotso. Lithibelo tse 'maloa li sebetsa ho li-index, joalo ka palo e phahameng ea likholomo tse bolokiloeng ho index. Hape, lipotso ka li-index li kanna tsa se hlake joalo ka li-RDBMS tse ling.

"Cloud Spanner e khetha index ka bo eona feela maemong a sa tloaelehang. Haholo-holo, Cloud Spanner ha e ikhethele index ea bobeli haeba potso e kopa likholomo tse sa bolokoang ho index ".

  • Tumellano ea Boemo ba Tšebeletso (SLA): Ho romelloa sebakeng se le seng se nang le SLA ea 99,99%; li-deployments tsa libaka tse ngata tse nang le 99,999% SLA. Le hoja SLA ka boeona e le tumellano feela 'me e se tiiso ea mofuta ofe kapa ofe, ke lumela hore batho ba Google ba na le lintlha tse thata ho etsa tseko e matla joalo. (Bakeng sa litšupiso, 99,999% e bolela metsotsoana e 26,3 ea ho se fumanehe ha litšebeletso ka khoeli.)
  • Ho feta: https://cloud.google.com/spanner/

Ela hloko: Morero oa Apache Tephra o eketsa tšehetso e ntlafalitsoeng ea transaction ho Apache HBase (hape e se e kentsoe tšebetsong Apache Phoenix joalo ka beta).

3. Tekolo ea rona

Kahoo, kaofela re balile litletlebo tsa Google mabapi le melemo ea Cloud Spanner - hoo e batlang e le sekala se se nang moeli ha re ntse re boloka botsitso bo phahameng le SLA e phahameng haholo. Le hoja litlhokahalo tsena, leha ho le joalo, li le boima haholo ho li finyella, sepheo sa rōna e ne e se ho li hanyetsa. Sebakeng seo, a re tsepamiseng maikutlo linthong tse ling tseo basebelisi ba bangata ba database ba li tsotellang: tekano le ts'ebeliso.

Re hlahlobile Cloud Spanner e le sebaka sa Sharded MySQL

Google Cloud SQL le Amazon AWS RDS, tse peli tsa OLTP DBMS tse tsebahalang haholo 'marakeng oa maru, li na le likarolo tse ngata haholo. Leha ho le joalo, ho lekanya li-database tsena ho feta boholo ba node e le 'ngoe, o hloka ho etsa karohano ea kopo. Mokhoa ona o baka mathata a eketsehileng bakeng sa likopo le tsamaiso. Re shebile hore na Spanner e lumellana joang le boemo ba ho kopanya li-shards tse ngata ketsahalong e le 'ngoe le hore na ke likarolo life (haeba li teng) tse ka hlokang ho etsoa sehlabelo.

Tšehetso ea SQL, DML le DDL, hammoho le sehokelo le lilaeborari?

Ntlha ea pele, ha u qala ka database leha e le efe, u lokela ho etsa mohlala oa data. Haeba u nahana hore u ka hokahanya JDBC Spanner ho sesebelisoa seo u se ratang sa SQL, u tla fumana hore u ka botsa lintlha tsa hau ka eona, empa u ke ke ua e sebelisa ho etsa tafole kapa ho fetola (DDL) kapa ho kenya / ho ntlafatsa / ho hlakola. ts'ebetso (DML). JDBC ea semmuso ea Google ha e tšehetse e 'ngoe ea tsena.

"Hajoale bakhanni ha ba tšehetse lipolelo tsa DML kapa DDL."
Litokomane tsa Spanner

Boemo ha bo betere ka khomphutha ea GCP - o ka romella feela lipotso tsa KHETHA. Ka lehlohonolo ho na le mokhanni oa JDBC ea nang le ts'ehetso ea DML le DDL ho tsoa sechabeng, ho kenyelletsa le litšebelisano. github.com/olavloite/spanner-jdbc. Le ha mokhanni enoa a le molemo haholo, ho haella ha mokhanni oa Google oa JDBC hoa makatsa. Ka lehlohonolo, Google e fana ka tšehetso e pharalletseng bakeng sa lilaebrari tsa bareki (ho ipapisitse le gRPC): C#, Go, Java, node.js, PHP, Python, le Ruby.

Tšebeliso e batlang e tlama ea Cloud Spanner APIs (ka lebaka la khaello ea DDL le DML ho JDBC) e fella ka mefokolo e itseng bakeng sa libaka tse amanang le khoutu tse kang matamo a khokahanyo kapa li-database tse tlamang liforeimi (mohlala, Spring MVC). Ka tloaelo, ha u sebelisa JDBC, u lokolohile ho khetha letamo la khokahanyo leo u le ratang (mohlala, HikariCP, DBCP, C3PO, joalo-joalo) le lekiloeng le ho sebetsa hantle. Tabeng ea tloaelo ea Spanner APIs, re tlameha ho itšetleha ka meralo/matamo a tlamang/likopano tseo re iketselitseng tsona.

Moralo oa mantlha oa senotlolo (PC) o lumella Cloud Spanner hore e potlake haholo ha o fumana data ka PC, empa hape e hlahisa litaba tse ling tsa lipotso.

  • Ha o khone ho ntlafatsa boleng ba senotlolo sa mantlha; O tlameha ho qala ka ho hlakola ho kena ho PC ea mantlha ebe o e kenya hape ka boleng bo bocha. (Sena se tšoana le lienjineri tse ling tsa polokelo ea polokelo ea PC.)
  • Lipolelo life kapa life tsa UPDATE le DELETE li tlameha ho hlakisa PC ho WHERE, ka hona ho ke ke ha e-ba le letho HLAKOLA lipolelo tsohle - ho tlameha hore kamehla ho be le subquery, mohlala: UPDATE xxx WHERE id IN (KHETHA id HO TSOA tafoleng1)
  • Ho haella ha khetho ea boiketsetso kapa eng kapa eng e ts'oanang e behang tatellano ea sebaka sa PC. E le hore sena se sebetse, boleng bo lumellanang bo tlameha ho etsoa ka lehlakoreng la kopo.

Li-index tsa bobeli?

Google Cloud Spanner e na le tšehetso e hahelletsoeng bakeng sa li-index tsa bobeli. Ena ke tšobotsi e ntle haholo eo hangata e seng teng ho mahlale a mang. Apache Kudu hajoale ha e tšehetse li-index tsa bobeli ho hang, mme Apache HBase ha e tšehetse li-index ka kotloloho, empa e ka li eketsa ka Apache Phoenix.

Li-Index ho Kudu le HBase li ka etsoa e le tafole e arohaneng e nang le sebopeho se fapaneng sa linotlolo tsa mantlha, empa atomicity ea ts'ebetso e etsoang tafoleng ea motsoali le litafole tse amanang le index li tlameha ho etsoa boemong ba kopo mme ha se ntho e nyane ho e kenya ts'ebetsong ka nepo.

Joalokaha ho boletsoe tlhahlobisong ea Cloud Spanner, li-index tsa eona li ka fapana le li-index tsa MySQL. Ka hona, ho lokela ho hlokomeloa ka ho khethehileng ha ho etsoa lipotso le ha ho etsoa tlaleho ho tiisa hore ho sebelisoa index e nepahetseng moo e hlokahalang.

Boemeli?

Ntho e tsebahalang haholo le e sebetsang sebakeng sa polokelo ea litaba ke maikutlo. Li ka ba molemo bakeng sa palo e kholo ea linyeoe tsa tšebeliso; tseo ke li ratang tse peli ke lera le utloahalang la ho tlosa le lera la tšireletso. Ka bomalimabe, Cloud Spanner HA E tšehetse maikutlo. Leha ho le joalo, sena se re thibela ka mokhoa o itseng hobane ha ho na granularity bakeng sa tumello ea phihlello boemong ba kholomo moo maikutlo e ka bang tharollo e sebetsang.

Sheba litokomane tsa Cloud Spanner bakeng sa karolo e nang le lintlha tse qaqileng tsa quotas le lithibelo (spanner/quotes), ho na le e 'ngoe ka ho khetheha e ka bang bothata bakeng sa lits'ebetso tse ling: Cloud Spanner ntle le lebokose e na le moeli oa ho fihla ho 100 database ka mohlala. Ho hlakile hore sena e ka ba tšitiso e kholo bakeng sa database e etselitsoeng ho fihla ho li-database tse fetang 100. Ka lehlohonolo, kamora ho bua le moemeli oa rona oa tekheniki oa Google, re fumane hore moeli ona o ka eketsoa hoo e batlang e le boleng bofe kapa bofe ka Tšehetso ea Google.

Tšehetso ea ntlafatso?

Cloud Spanner e fana ka tšehetso e ntle ea puo ea lenaneo bakeng sa ho sebetsa le API ea eona. Lilaebrari tse tšehetsoeng ka molao li libakeng tsa C #, Go, Java, node.js, PHP, Python le Ruby. Litokomane li na le lintlha tse ngata, empa joalo ka litheknoloji tse ling tse tsoetseng pele, sechaba se nyane haholo ha se bapisoa le theknoloji e tsebahalang haholo ea database, e ka lebisang nako e ngata e sebelisoang ho rarolla linyeoe kapa mathata a ts'ebeliso e fokolang.

Joale ho thoe'ng ka ho tšehetsa tsoelo-pele ea lehae?

Ha re so fumane mokhoa oa ho etsa mohlala oa Cloud Spanner sebakeng sa rona. Ntho e haufi haholo eo re e fumaneng ke setšoantšo sa Docker. LepheleDB, e tšoanang ka molao-motheo, empa e fapane haholo ka ts'ebetso. Ka mohlala, CockroachDB e ka sebelisa PostgreSQL JDBC. Kaha tikoloho ea nts'etsopele e lokela ho ba haufi le tikoloho ea tlhahiso ka hohle kamoo ho ka khonehang, Cloud Spanner ha e ntle kaha e tlameha ho itšetleha ka mohlala o feletseng oa Spanner. Ho boloka litšenyehelo, o ka khetha mohlala oa sebaka se le seng.

Tšehetso ea tsamaiso?

Ho theha mohlala oa Cloud Spanner ho bonolo haholo. U hloka feela ho khetha pakeng tsa ho theha sebaka sa libaka tse ngata kapa sebaka se le seng, hlalosa libaka le palo ea li-node. Ka nako e ka tlase ho motsotso, mohlala oa hau o tla be o sebetsa.

Lintlha tse 'maloa tsa khale li fumaneha ka kotloloho ho tsoa leqepheng la Spanner ho Google Console. Maikutlo a nang le lintlha tse qaqileng haholoanyane a fumaneha ka Stackdriver, moo o ka behang meeli ea metric le maano a tlhokomeliso.

Ho fihlella lisebelisoa?

MySQL e fana ka litlhophiso tse pharalletseng le tse ngata haholo bakeng sa tumello ea mosebelisi / mesebetsi. O ka hlophisa habonolo phihlello ea tafole e itseng, kapa esita le karoloana ea litšiea tsa eona. Cloud Spanner e sebelisa sesebelisoa sa Identity & Access Management (IAM) sa Google, se u lumellang feela ho beha maano le litumello maemong a holimo haholo. Khetho e kholo ka ho fetisisa ke tharollo ea boemo ba database, e sa lumellaneng le linyeoe tse ngata tsa tšebeliso ea tlhahiso. Moeli ona o o qobella ho eketsa mehato ea ts'ireletso ho khoutu ea hau, lisebelisoa tsa motheo, kapa ka bobeli ho thibela tšebeliso e sa lumelloeng ea lisebelisoa tsa Spanner.

Li-backups?

Ho e beha habonolo, ha ho na li-backups ho Cloud Spanner. Le hoja litlhoko tse phahameng tsa SLA tsa Google li ka etsa bonnete ba hore ha u lahleheloe ke data leha e le efe ka lebaka la ho hlōleha ha hardware kapa database, liphoso tsa batho, liphoso tsa kopo, joalo-joalo. Kaofela re tseba molao ona: ho fumaneha ho phahameng ha ho nke sebaka sa leano la ho boloka molumo. Hajoale, tsela e le 'ngoe feela ea ho boloka data ke ho e tsamaisa ka mokhoa o hlophisitsoeng ho tloha polokelong ea polokelo ho ea sebakeng se arohaneng sa polokelo.

U batla ho botsa?

Re sebelisitse Yahoo! ho kenya data le lipotso tsa liteko. Cloud Serving Benchmark. Tafole e ka tlase e bonts'a mosebetsi oa YCSB B o nang le tekanyo ea 95% e baloang ho isa ho 5%.

Google Cloud Spanner: E ntle, e mpe le e mpe

* Teko ea mojaro e ne e etsoa ho N1-standard-32 Compute Engine (CE) (32 vCPU, 120 GB memory), 'me mohlala oa teko ha ho mohla e kileng ea e-ba bothata litekong.
** Palo e phahameng ea likhoele ketsahalong e le 'ngoe ea YCSB ke 400. Kakaretso ea mehlala e ts'eletseng e bapelang ea liteko tsa YCSB e ile ea tlameha ho etsoa ho fumana kakaretso ea likhoele tse 2400.

Ha re sheba liphetho tsa benchmark, haholo-holo motsoako oa CPU load le TPS, re ka bona ka ho hlaka hore Cloud Spanner sekala hantle. Mojaro o boima o entsoeng ke palo e kholo ea likhoele o fokotsoa ke palo e kholo ea li-node ho sehlopha sa Cloud Spanner. Le ha latency e shebahala e phahame haholo, haholo ha e sebetsa ka likhoele tse 2400, ho etsa liteko hape ka makhetlo a 6 a manyane a enjine ea komporo ho ka hlokahala ho fumana linomoro tse nepahetseng haholoanyane. Mohlala o mong le o mong o tla etsa tlhahlobo e le 'ngoe ea YCSB ho fapana le mohlala o le mong o moholo oa CE o nang le liteko tse 6 tse tšoanang. Ka tsela ena, ho tla ba bonolo ho khetholla pakeng tsa nako ea kopo ea Cloud Spanner le latency e kentsoeng ke khokahano ea marang-rang pakeng tsa Cloud Spanner le mohlala oa CE o etsang tlhahlobo.

Cloud Spanner e sebetsa joang joalo ka OLAP?

Partitioning?

Ho arola lintlha ka likarolo tse ikemetseng tsa 'mele le/kapa tse ikemetseng, tse bitsoang li-partitions, ke mohopolo o tsebahalang haholo o fumanehang lienjineng tse ngata tsa OLAP. Li-partitions li ka ntlafatsa haholo ts'ebetso ea lipotso le ho boloka database. Ho kenella hare ho karohano e ka ba sengoloa (li)kahare, ka hona, ha re boleleng bohlokoa ba ho ba le leano la ho arola le ho arola. Bokhoni ba ho arola data ka likarolo le ho feta ho likaroloana ke senotlolo sa ts'ebetso ea tlhahlobo ea lipotso.

Cloud Spanner ha e tšehetse likarolo tse joalo. E arola data ka hare ho seo ho thoeng ke Arohane- e ipapisitse le mekhahlelo ea mantlha ea linotlolo. Karohano e etsoa ka bo eona ho leka-lekanya mojaro ka har'a sehlopha sa Cloud Spanner. Karolo ea bohlokoa haholo ea Cloud Spanner ke ho arola moroalo oa motheo oa tafole ea motsoali (tafole e sa kopanngoeng le e 'ngoe). Spanner e iphumanela hore na e na le Arohane data e baloang khafetsa ho feta data ho tse ling Arohane-ah, mme a ka etsa qeto ka karohano e eketsehileng. Ka tsela ena, li-node tse ngata li ka ameha kopong, e leng eona e eketsang katleho.

E kenya lintlha?

Mokhoa oa Cloud Spanner bakeng sa data e ngata o tšoana le oa ho kenya o tloaelehileng. Ho fumana ts'ebetso e phahameng, o hloka ho latela litataiso tse ling, ho kenyelletsa:

  • Hlopha lintlha tsa hau ka senotlolo sa mantlha.
  • Li arole ka 10*palo ea li-node likarolo tse arohaneng.
  • Theha sehlopha sa mesebetsi e tsamaisang data ka ho bapisa.

Ho kenya data ho sebelisa li-node tsohle tsa Cloud Spanner.

Re sebelisitse mosebetsi oa YCSB A ho hlahisa pokello ea data ea mela e 10M.

Google Cloud Spanner: E ntle, e mpe le e mpe

* Teko ea mojaro e ne e tsamaisoa ho enjine ea komporo ea n1-standard-32 (32 vCPU, memori ea 120 GB), mme mohlala oa teko ha ho mohla e kileng ea e-ba bothata litekong.
** Ho seta ha node e le 'ngoe ha ho khothalletsoe bakeng sa mosebetsi ofe kapa ofe oa tlhahiso.

Joalokaha ho boletsoe ka holimo, Cloud Spanner e iketsetsa karohano ho latela mojaro oa bona, kahoo liphetho li ntlafala kamora ho pheta-pheta liteko tse ngata tse latellanang. Liphetho tse hlahisitsoeng mona ke liphetho tse ntlehali tseo re li fumaneng. Ha re sheba lipalo tse ka holimo, re ka bona kamoo Cloud Spanner e lekanyang (hantle) ha palo ea li-node sehlopheng e ntse e eketseha. Linomoro tse hlahelletseng ke li-latency tse tlase haholo, tse fapaneng le liphetho tsa meroalo e fapaneng ea mosebetsi (95% bala le 5% ba ngola) joalo ka ha ho hlalositsoe karolong e kaholimo.

Ho phahamisa?

Ho eketsa le ho fokotsa palo ea li-node tsa Cloud Spanner ke mosebetsi oa ho penya hanngoe feela. Haeba u batla ho kenya data ka potlako, u ka nahana ka ho eketsa mohlala oa hau ho ea holimo (ho rona e ne e le li-node tse 25 sebakeng sa US-EAST) ebe u fokotsa palo ea li-node tse loketseng mojaro oa hau o tloaelehileng hang ha data eohle e kene. database , e buang ka moeli oa 2TB/node.

Re ile ra hopotsoa ka moeli ona leha re na le database e nyane haholo. Kamora liteko tse 'maloa tsa liteko tsa mojaro, database ea rona e ne e ka ba boholo ba 155 GB, mme ha e theotsoe ho mohlala oa node e le 1, re fumane phoso e latelang:

Google Cloud Spanner: E ntle, e mpe le e mpe

Re khonne ho theola maemo a 25 ho isa ho a 2, empa re ne re tsitsitse libakeng tse peli.

Ho eketsa le ho fokotsa palo ea li-node ho Cloud Spanner cluster ho ka etsoa ka ho iketsa ho sebelisa REST API. Sena se ka ba molemo ka ho khetheha bakeng sa ho fokotsa boima ba sistimi nakong ea lihora tsa mosebetsi tse maphathaphathe.

Ts'ebetso ea lipotso tsa OLAP?

Qalong re ne re rerile ho qeta nako e ngata re hlahloba Spanner karolong ena. Kamora 'maloa a KHETHA COUNT, hang-hang re ile ra hlokomela hore tlhahlobo e tla ba khutšoanyane le hore Spanner E KA SE be enjene e loketseng bakeng sa OLAP. Ho sa tsotelehe palo ea li-node sehlopheng, ho khetha feela palo ea mela ka har'a tafole ea mela ea 10M ho nkile pakeng tsa metsotsoana e 55 le 60. Ho feta moo, potso efe kapa efe e hlokang mohopolo o mongata ho boloka liphetho tsa mahareng e hlolehile ka phoso ea OOM.

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

Linomoro tse ling tsa lipotso tsa TPC-H li ka fumanoa ho sengoloa sa Todd Lipcon Nosql-kudu-spanner-slides.html, li-slides 42 le 43. Linomoro tsena li lumellana le liphetho tsa rona (ka bomalimabe).

Google Cloud Spanner: E ntle, e mpe le e mpe

4. Liqeto tsa rona

Ka lebaka la boemo ba hajoale ba likarolo tsa Cloud Spanner, ho thata ho nahana hore e ka ba phetisetso e bonolo ea tharollo ea OLTP ea hau e teng, haholo ha litlhoko tsa hau li feta. Nako e ngata e ne e tla tlameha ho sebelisoa ho haha ​​​​tharollo mabapi le mefokolo ea Cloud Spanner.

Ha re qala ho lekola Cloud Spanner, re ne re lebelletse hore likarolo tsa eona tsa taolo li tsamaisane, kapa bonyane li se hole haholo le, litharollo tse ling tsa Google SQL. Empa re ile ra makatsoa ke khaello e felletseng ea li-backups le taolo e fokolang haholo ea phihlello ea lisebelisoa. Re sa bue ka maikutlo, ha ho na tikoloho ea ntlafatso ea lehae, tatelano e sa tšehetsoeng, JDBC ntle le tšehetso ea DML le DDL, joalo-joalo.

Joale motho ea hlokang ho lekanya database ea transaction o ea hokae? Ha ho bonahale ho na le tharollo e le 'ngoe' marakeng e lumellanang le linyeoe tsohle tsa tšebeliso. Ho na le litharollo tse ngata tse koetsoeng le tse bulehileng (tseo tse ling tsa tsona li boletsoeng sehloohong sena), e mong le e mong o na le matla le mefokolo ea hae, empa ha ho le ea mong oa bona ea fanang ka SaaS e nang le 99,999% SLA le maemo a phahameng. Haeba SLA e phahameng e le sepheo sa hau se seholo 'me ha u na tšekamelo ea ho haha ​​​​tharollo e tloaelehileng ea maru a mangata, Cloud Spanner e ka ba tharollo eo u e batlang. Empa u lokela ho hlokomela mefokolo eohle ea eona.

Ho bua ka toka, Cloud Spanner e ile ea lokolloa feela ho sechaba nakong ea selemo ea 2017, kahoo hoa utloahala ho lebella hore mefokolo e meng ea hona joale e ka 'na ea fela (ka tšepo),' me ha e etsa joalo, e ka ba phetoho ea papali. Ntle le moo, Cloud Spanner ha se morero oa lehlakore feela oa Google. Google e e sebelisa e le motheo oa lihlahisoa tse ling tsa Google. 'Me ha Google e sa tsoa nkela Megastore ho Google Cloud Storage ka Cloud Spanner, e ile ea lumella Google Cloud Storage hore e lumellane haholo le lethathamo la lintho lefatšeng ka bophara (e leng hore ho ntse ho se joalo bakeng sa Amazon's S3).

Kahoo, tšepo e ntse e le teng ... rea tšepa.

Ke phetho. Joalo ka mongoli oa sengoloa, le rona re tsoela pele ho tšepa, empa u nahana eng ka see? Ngola litlhalosong

Re mema bohle ho etela rona mahala webinar moo re tla u bolella ka botlalo mabapi le thupelo "AWS bakeng sa Bahlahisi" ho tloha OTUS.

Source: www.habr.com

Eketsa ka tlhaloso