Google Cloud Spanner: Ọ dị mma, ọjọọ, jọrọ njọ

Ndewo, ndị bi na Khabrovsk. Dị ka ọ dị na mbụ, anyị na-aga n'ihu na-ekerịta ihe na-atọ ụtọ tupu mmalite nke ọmụmụ ọhụrụ. Taa, ọkachasị maka gị, anyị ebipụtala akụkọ gbasara Google Cloud Spanner ka ọ dabara na mmalite nke nkuzi ahụ. "AWS maka ndị mmepe".

Google Cloud Spanner: Ọ dị mma, ọjọọ, jọrọ njọ

Ebipụtara ya na mbụ Blọọgụ Lightspeed HQ.

Dị ka ụlọ ọrụ na-enye ihe ngwọta POS dị iche iche nke igwe ojii na ndị na-ere ahịa, ndị na-ere ahịa, na ndị na-ere ahịa n'ịntanetị gburugburu ụwa, Lightspeed na-eji ụdị dị iche iche nke nchekwa data dị iche iche maka azụmahịa dị iche iche, nyocha, na nyocha ojiji. Nke ọ bụla n'ime usoro nchekwa data ndị a nwere ike na adịghị ike nke ya. N'ihi ya, mgbe Google webatara Cloud Spanner n'ahịa - atụmatụ ndị na-ekwe nkwa na-adịghị ahụ anya na ụwa nke ọdụ data mmekọrịta, dị ka ihe fọrọ nke nta ka ọ bụrụ scalability na-enweghị njedebe na nkwekọrịta ọkwa ọrụ 99,999% (SLA). - anyị enweghị ike ịhapụ ohere iji nweta aka anyị na ya!

Iji nye nkọwa zuru ezu nke ahụmịhe anyị na Cloud Spanner, yana njirisi nyocha anyị ji, anyị ga-ekpuchi isiokwu ndị a:

  1. Nlele nyocha anyị
  2. Cloud Spanner na nkenke
  3. Ntụle anyị
  4. Nchọpụta anyị

Google Cloud Spanner: Ọ dị mma, ọjọọ, jọrọ njọ

1. Usoro nyocha anyị

Tupu ịbanye n'ime nkọwapụta nke Cloud Spanner, myirịta ya na ọdịiche ya na ngwọta ndị ọzọ na ahịa, ka anyị buru ụzọ kwuo maka isi okwu ndị anyị bu n'uche mgbe anyị na-atụle ebe anyị ga-ebuga Cloud Spanner na akụrụngwa anyị:

  • Dị ka onye nọchiri anya ngwọta nchekwa data SQL omenala (nke kachasị).
  • Otu esi edozi ngwọta OLTP site na nkwado OLAP

Cheta na: Maka ịdị mfe na ịdị mfe ntụnyere, edemede a na-atụnyere Cloud Spanner na ụdị MySQL nke GCP Cloud SQL na Amazon AWS RDS ezinụlọ ngwọta.

Iji Spanner Cloud dị ka nnọchi maka ngwọta nchekwa data SQL ọdịnala

Na gburugburu ebe obibi omenala ọdụ data, mgbe oge nzaghachi ajụjụ nchekwa data na-abịaru nso ma ọ bụ ọbụna karịa ngwa ngwa eburu ụzọ kọwaa (ọkachasị n'ihi mmụba nke ọnụ ọgụgụ ndị ọrụ na/ma ọ bụ arịrịọ), enwere ọtụtụ ụzọ isi belata oge nzaghachi na ọkwa ndị anabatara. Otú ọ dị, ọtụtụ n'ime ngwọta ndị a na-agụnye aka aka.

Dịka ọmụmaatụ, nzọụkwụ mbụ ị ga-eme bụ ileba anya n'ụdị nchekwa data metụtara arụmọrụ dị iche iche wee dozie ha ka ọ bụrụ usoro ihe eji eme ngwa dabara nke ọma. Ọ bụrụ na nke a ezughi oke, ị nwere ike họrọ ịtụba nchekwa data ahụ n'okirikiri ma ọ bụ kwụ ọtọ.

Ịmepụta ngwa n'ụzọ kwụ ọtọ na-agụnye ịkwalite ihe nkesa, ọ na-abụkarị site n'itinyekwu processors/cores, RAM karịa, nchekwa ngwa ngwa, wdg. Ịgbakwunye akụrụngwa ngwaike ndị ọzọ na-ebute ịrụ ọrụ nchekwa data na-abawanye, nke a tụrụ na azụmahịa na nke abụọ, yana nkwụsị azụmahịa maka sistemụ OLTP. Sistemụ nchekwa data mmekọrịta (nke na-eji usoro nwere ọtụtụ eriri) dị ka ọnụ ọgụgụ MySQL nke ọma.

Enwere ọtụtụ ọghọm dị na ụzọ a, mana nke kacha pụta ìhè bụ nha nkesa kachasị na ahịa. Ozugbo njedebe nke ihe nkesa kachasị ukwuu ruru, enwere naanị otu nhọrọ fọdụrụ: ntugharị kwụ ọtọ.

Ntụle kwụ ọtọ bụ ụzọ ebe agbakwunyere ọtụtụ sava na ụyọkọ, na-abawanye arụmọrụ n'usoro n'usoro ka agbakwunyere ọnụọgụ nke sava. Ọtụtụ omenala Sistemụ nchekwa data anaghị agbatị nke ọma ma ọ bụ ha anaghị atụ ọnụ ma ọlị. Dịka ọmụmaatụ, MySQL nwere ike ịgbatị n'ahịrị maka ịgụ ihe site n'ịgbakwunye ndị na-agụ ohu, mana enweghị ike ịgbatị n'usoro maka ide.

N'aka nke ọzọ, n'ihi ọdịdị ya, Cloud Spanner nwere ike ịgbatị n'ụzọ dị mfe site na obere ntinye aka.

Egosiputara nke oma DBMS dị ka ọrụ a ga-enyocharịrị site n'akụkụ dị iche iche. Dịka ndabere, anyị were DBMS kachasị ewu ewu na igwe ojii - maka Google, GCP Cloud SQL yana maka Amazon, AWS RDS. Na ntule anyị, anyị lekwasịrị anya na ngalaba ndị a:

  • Maapụ atụmatụ: oke SQL, DDL, DML; ọba akwụkwọ njikọ / njikọ, nkwado azụmahịa, na na.
  • Nkwado mmepe: mmepe dị mfe na ule.
  • Nkwado nchịkwa: njikwa ihe atụ - dịka ọmụmaatụ, ịkwalite elu/ala na ịkwalite ọnọdụ; SLA, ndabere na mgbake; njikwa nchekwa/ nweta njikwa.

Iji Cloud Spanner dị ka ihe ngwọta OLTP kwadoro OLAP

Ọ bụ ezie na Google ekwughị hoo haa na Cloud Spanner emebere ya maka nhazi nyocha, ọ na-ekerịta ụfọdụ njirimara na injin ndị ọzọ dị ka Apache Impala & Kudu na YugaByte, nke emebere maka ibu ọrụ OLAP.

Ọbụlagodi na enwere naanị obere ohere na Cloud Spanner gụnyere injin HTAP (ngwakọ azụmahịa/analytics nhazi) nke nwere njiri mara OLAP nwere ike iji (karịa ma ọ bụ obere), anyị chere na ọ ga-abụ nke kwesịrị nlebara anya anyị.

N'iburu nke a n'uche, anyị lere anya na ngalaba ndị a:

  • Ibunye data, ndenye aha na nkwado nkebi
  • Arụmọrụ ajụjụ na DML

2. Cloud Spanner na nkenke

Google Spanner bụ sistemu njikwa nchekwa data nwere njikọ (RDBMS) nke Google na-eji maka ọtụtụ ọrụ nke ya. Google mere ka ọ dịrị ndị ọrụ Google Cloud Platform na mbido 2017.

Nke a bụ ụfọdụ njirimara Cloud Spanner:

  • Ụyọkọ RDBMS na-agbanwe agbanwe nke ukwuu: Na-eji mmekọrịta oge ngwaike iji hụ na ndakọrịta data.
  • Nkwado azụmahịa nke tebụl: Azụmahịa nwere ike gbasaa ọtụtụ tebụl - ọ bụchaghị naanị na otu tebụl (n'adịghị ka Apache HBase ma ọ bụ Apache Kudu).
  • Tebụlụ igodo isi: Tebụlụ niile ga-enwerịrị igodo izizi ekwuputara (PC), nke nwere ike ịnwe ọtụtụ kọlụm na tebụl. A na-echekwa data tabular n'usoro PC, na-eme ka ọ rụọ ọrụ nke ọma na ngwa ngwa maka ịchọ PC. Dị ka usoro ndị ọzọ dabere na PC, a ga-emerịrị mmejuputa ya site na iji okwu emebere emebere n'uche iji nweta kacha mma arụmọrụ.
  • Tebụl ndị a kpụrụ akpụ: Tebụl nwere ike ịdabere n'anụ ahụ na ibe ya. Ahịrị dị na tebụl ụmụaka nwere ike dakọtara na ahịrị na tebụl nne na nna. Ụzọ a na-eme ka ịchọọ mmekọrịta ndị a pụrụ ịmata n'oge usoro nhazi data, dị ka ịchọta ndị ahịa na akwụkwọ ọnụahịa ha.
  • Ndekọ: Cloud Spanner na-akwado ndetu nke abụọ. Ndekọ ndeksi nwere ogidi ndị etinyere na kọlụm PC niile. Ọ bụrụ na-achọrọ, ndeksi nwekwara ike ịnwe kọlụm ndị ọzọ na-abụghị indexed. Enwere ike itinye ndeksi na tebụl nne na nna iji mee ka ajụjụ dị ngwa. Ọtụtụ mmachi na-emetụta indexes, dị ka ọnụ ọgụgụ kachasị nke ogidi ndị ọzọ echekwara na ndeksi. Ọzọkwa, ajụjụ site na ndeksi nwere ike ọ gaghị adị mfe dịka ọ dị na RDBMS ndị ọzọ.

“Cloud Spanner na-ahọrọ ndeksi na-akpaghị aka naanị n'ọnọdụ ndị a na-adịghị ahụkebe. Karịsịa, Cloud Spanner anaghị ahọrọ ndepụta nke abụọ na-akpaghị aka ma ọ bụrụ na ajụjụ arịọrọ kọlụm ọ bụla na-echekwaghị na ya. index ".

  • Nkwekọrịta Ọkwa Ọrụ (SLA): Ntinye n'otu mpaghara nwere SLA nke 99,99%; mbugharị ọtụtụ mpaghara nwere 99,999% SLA. Ọ bụ ezie na SLA n'onwe ya bụ naanị nkwekọrịta na ọ bụghị nkwa nke ụdị ọ bụla, ekwenyere m na ndị mmadụ na Google nwere ụfọdụ data siri ike iji mee nkwupụta siri ike. (Maka ntụaka, 99,999% pụtara 26,3 sekọnd enweghị ọrụ kwa ọnwa.)
  • More: https://cloud.google.com/spanner/

Cheta na: Ọrụ Apache Tephra na-agbakwụnye nkwado azụmahịa emelitere na Apache HBase (a na-emejuputa ya ugbu a na Apache Phoenix dị ka beta).

3. Ntụle anyị

Yabụ, anyị niile agụọla nkwuputa Google banyere uru nke Cloud Spanner - ihe fọrọ nke nta ka ọ bụrụ ọnụ ahịa kwụ ọtọ na-akparaghị ókè ebe ị na-ejigide nkwụsi ike dị elu yana SLA dị elu. Ọ bụ ezie na ihe ndị a chọrọ, n'ọnọdụ ọ bụla, siri ezigbo ike imezu, ebumnuche anyị abụghị ịgbagha ha. Kama, ka anyị lekwasị anya n'ihe ndị ọzọ ọtụtụ ndị ọrụ nchekwa data na-eche banyere: nhata na ojiji.

Anyị tụlere Cloud Spanner dị ka onye nọchiri Sharded MySQL

Google Cloud SQL na Amazon AWS RDS, abụọ n'ime OLTP DBMS kachasị ewu ewu na ahịa igwe ojii, nwere nnukwu atụmatụ atụmatụ. Agbanyeghị, iji tụọ ọdụ data ndị a karịa nha nke otu ọnụ, ịkwesịrị ịme nkewa ngwa. Ụzọ a na-emepụta ihe mgbagwoju anya maka ma ngwa na nchịkwa. Anyị lere anya ka Spanner si daba na ọnọdụ nke ijikọta ọtụtụ shards n'otu ihe atụ yana njirimara (ọ bụrụ na ọ bụla) nwere ike ịdị mkpa ka a chụọ àjà.

Nkwado SQL, DML na DDL, yana njikọ njikọ na ọba akwụkwọ?

Nke mbụ, mgbe ị na-amalite na nchekwa data ọ bụla, ịkwesịrị ịmepụta ụdị data. Ọ bụrụ na ị chere na ị nwere ike jikọọ JDBC Spanner na ngwaọrụ SQL ọkacha mmasị gị, ị ga-achọpụta na ị nwere ike iji ya jụọ data gị, mana ị nweghị ike iji ya mepụta tebụl ma ọ bụ gbanwee (DDL) ma ọ bụ ntinye ọ bụla / melite / ihichapụ. arụ ọrụ (DML). JDBC gọọmentị Google anaghị akwado nke ọ bụla n'ime ihe ndị a.

"Ndị ọkwọ ụgbọala anaghị akwado nkwupụta DML ma ọ bụ DDL ugbu a."
Akwụkwọ Spanner

Ọnọdụ ahụ adịghị mma na njikwa GCP - naanị ị nwere ike izipu ajụjụ SELECT. Ọ dabara nke ọma, enwere onye ọkwọ ụgbọ ala JDBC nwere nkwado maka DML na DDL sitere na obodo, gụnyere azụmahịa github.com/olavloite/spanner-jdbc. Ọ bụ ezie na ọkwọ ụgbọ ala a bara uru nke ukwuu, enweghị onye ọkwọ ụgbọ ala JDBC nke Google nwere bụ ihe ijuanya. Na ihu ọma, Google na-enye nkwado sara mbara maka ọba akwụkwọ ndị ahịa (dabere na gRPC): C #, Go, Java, node.js, PHP, Python, na Ruby.

Ihe fọrọ nke nta ka ọ bụrụ iwu nke Cloud Spanner API omenala (n'ihi enweghị DDL na DML na JDBC) na-ebute ụfọdụ njedebe maka mpaghara koodu ndị metụtara ya dị ka ọdọ mmiri njikọ ma ọ bụ nchekwa data ejikọta (dịka mmiri MVC). Dịka, mgbe ị na-eji JDBC, ị nweere onwe gị ịhọrọ ọdọ mmiri njikọ kachasị amasị gị (dịka HikariCP, DBCP, C3PO, wdg) nke a nwalere ma rụọ ọrụ nke ọma. N'ihe gbasara Spanner API omenala, anyị ga-adabere na frameworks/njikọ ọdọ mmiri / nnọkọ ndị anyị kere onwe anyị.

Igodo isi (PC) centric imewe na-enye ohere Cloud Spanner ịdị ngwa ngwa mgbe ị na-enweta data site na PC, mana na-ewebata ụfọdụ nsogbu ajụjụ.

  • Ị nweghị ike imelite uru igodo mbụ; Ị ga-ebu ụzọ ihichapụ ntinye na PC mbụ wee jiri uru ọhụrụ tinye ya. (Nke a dị ka igwe nchekwa data / nchekwa nchekwa PC ndị ọzọ.)
  • Nkwupụta nkwalite ọ bụla na ihichapụ ga-ezipụta PC n'ebe ebe, yabụ enweghị ike ikpochapụ nkwupụta niile - a ga-enwerịrị subquery mgbe niile, dịka ọmụmaatụ: Melite xxx Ebe id IN (Họrọ id si na tebụl1)
  • Enweghị nhọrọ nkwalite akpaaka ma ọ bụ ihe ọ bụla yiri nke na-edozi usoro maka ubi PC. Ka nke a wee rụọ ọrụ, a ghaghị ịmepụta uru kwekọrọ n'akụkụ ngwa.

Ndekọ nke abụọ?

Google Cloud Spanner enweela nkwado n'ime maka ndenye aha abụọ. Nke a bụ njirimara mara mma nke na-adịghị adị mgbe niile na teknụzụ ndị ọzọ. Apache Kudu anaghị akwado index nke abụọ ugbu a, yana Apache HBase anaghị akwado index ozugbo, mana ọ nwere ike tinye ha site na Apache Phoenix.

Index na Kudu na HBase nwere ike ịdebere dị ka tebụl dị iche iche nke nwere ihe dị iche iche nke igodo isi, ma atomity nke arụmọrụ a na-arụ na tebụl nne na nna na tebụl ndeksi jikọtara ga-emerịrị na ọkwa ngwa na ọ bụghị ihe dị mkpa iji mejuputa nke ọma.

Dịka ekwuru na nyocha Cloud Spanner, ndeksi ya nwere ike ịdị iche na ndeksi MySQL. Ya mere, ekwesịrị ịkpachara anya mgbe ị na-arụ ajụjụ na profaịlụ iji hụ na ejiri ndeksi kwesịrị ekwesị mee ihe n'ebe ọ dị mkpa.

Nnọchianya?

Ihe na-ewu ewu na nke bara uru na nchekwa data bụ echiche. Ha nwere ike ịba uru maka ọnụ ọgụgụ dị ukwuu nke ojiji; ọkacha mmasị m abụọ bụ oyi akwa abstraction ezi uche na nchekwa nchekwa. Ọ dị nwute, Cloud Spanner anaghị akwado nlele. Agbanyeghị, nke a na-amachi anyị naanị otu akụkụ n'ihi na enweghị ikike ịnweta ikike na ọkwa kọlụm ebe echiche nwere ike bụrụ ihe ngwọta dị mma.

Hụ akwụkwọ Cloud Spanner maka ngalaba na-akọwa oke na mmachi (spanner / oke), enwere otu nke nwere ike bụrụ nsogbu maka ụfọdụ ngwa: Cloud Spanner site na igbe nwere oke nke oke data data 100 kwa ọmụmaatụ. N'ụzọ doro anya, nke a nwere ike ịbụ nnukwu nsogbu maka nchekwa data emebere ka ọ bụrụ ihe karịrị 100 ọdụ data. Ọ dabara nke ọma, mgbe anyị na onye nnọchi anya teknụzụ Google anyị kwuchara, anyị chọpụtara na enwere ike ịbawanye oke a ka ọ bụrụ uru ọ bụla site na Nkwado Google.

Nkwado mmepe?

Cloud Spanner na-enye nkwado asụsụ mmemme mara mma maka iji API ya rụọ ọrụ. Ọbá akwụkwọ ndị gọọmentị kwadoro dị na mpaghara C #, Go, Java, node.js, PHP, Python na Ruby. Akwụkwọ a bụ nkọwa zuru oke, mana dị ka ọ dị na teknụzụ ndị ọzọ dị elu, obodo pere mpe ma e jiri ya tụnyere teknụzụ nchekwa data kacha ewu ewu, nke nwere ike ibute oge iji dozie okwu ma ọ bụ nsogbu ndị na-adịkarị obere.

Yabụ kedu maka ịkwado mmepe obodo?

Anyị ahụbeghị ụzọ iji mepụta ihe atụ Cloud Spanner na ụlọ. Ihe kacha nso anyị nwetara bụ onyonyo Docker. ỌkụkụDB, nke yiri ụkpụrụ, ma dị nnọọ iche na omume. Dịka ọmụmaatụ, CockroachDB nwere ike iji PostgreSQL JDBC. Ebe ọ bụ na gburugburu ebe mmepe kwesịrị ịdị nso na ebe mmepụta ihe dị ka o kwere mee, Cloud Spanner adịghị mma ebe ọ bụ na ọ ghaghị ịdabere na ihe atụ Spanner zuru ezu. Ka ịchekwaa ọnụ ahịa, ị nwere ike họrọ ọmụmaatụ otu mpaghara.

Nkwado nchịkwa?

Ịmepụta ihe atụ Cloud Spanner dị nnọọ mfe. Naanị ị ga-ahọrọ n'etiti ịmepụta ọtụtụ mpaghara ma ọ bụ otu mpaghara, kọwaa mpaghara (s) na ọnụọgụ ọnụ. N'ihe na-erughị otu nkeji, ihe atụ gị ga-amalite ma na-agba ọsọ.

A na-enweta ọtụtụ metrik usoro ozugbo site na ibe Spanner na Google Console. A na-enweta echiche zuru ezu karị site na Stackdriver, ebe ị nwekwara ike ịtọ ụzọ metric na amụma njikere.

Ịnweta akụrụngwa?

MySQL na-enye ntọala sara mbara na nke ukwuu maka ikike/ọrụ onye ọrụ. Ị nwere ike ịhazi ohere ịnweta otu tebụl, ma ọ bụ ọbụna naanị obere akụkụ nke kọlụm ya. Spanner Cloud na-eji ngwa Google's Identity & Access Management (IAM), nke na-enye gị ohere ịtọ atumatu na ikike n'ọkwa dị elu. Nhọrọ kacha granular bụ mkpebi data-ọkwa data, nke na-adabaghị n'ọtụtụ ikpe ojiji mmepụta. Mmachi a na-amanye gị itinye usoro nchekwa ndị ọzọ na koodu gị, akụrụngwa ma ọ bụ ha abụọ iji gbochie iji akụrụngwa Spanner na-enwetaghị ikike.

Ndabere?

N'ikwu ya n'ụzọ dị mfe, enweghị nkwado ndabere na mpaghara Cloud Spanner. Ọ bụ ezie na Google chọrọ SLA dị elu nwere ike hụ na ị gaghị efu data ọ bụla n'ihi ngwaike ma ọ bụ ọdịda nchekwa data, njehie mmadụ, ntụpọ ngwa, wdg. Anyị niile maara iwu ahụ: nnweta dị elu abụghị ihe na-anọchi anya atụmatụ ndabere ụda. Ugbu a, naanị ụzọ isi kwadoo data bụ iji mmemme na-ebugharị ya site na nchekwa data gaa na ebe nchekwa dị iche.

Arụmọrụ ajụjụ?

Anyị ji Yahoo! iji buo data wee nwalee ajụjụ. Benchmark na-eje ozi igwe ojii. Tebụlụ dị n'okpuru na-egosi ọrụ YCSB B nwere oke 95% gụrụ ruo 5%.

Google Cloud Spanner: Ọ dị mma, ọjọọ, jọrọ njọ

* A na-anwale ule ibu ahụ na n1-standard-32 Compute Engine (CE) (32 vCPU, 120 GB ebe nchekwa), na ihe nlele ule ahụ abụghị ihe mgbochi na ule.
** Ọnụ ọgụgụ kachasị nke eri n'otu ihe atụ YCSB bụ 400. A ga-agbarịrị mkpokọta isii yiri nke ule YCSB iji nweta ngụkọta nke 2400 eri.

N'ileghachi anya na nsonaazụ benchmark, ọkachasị nchikota nke ibu CPU na TPS, anyị nwere ike ịhụ nke ọma na Cloud Spanner nwere oke nha. A na-ewepụ ibu dị arọ nke ọnụ ọgụgụ dị ukwuu nke eriri mere site na ọnụ ọgụgụ dị ukwuu nke ọnụ ọnụ na ụyọkọ Cloud Spanner. Ọ bụ ezie na latency na-ele anya nke ukwuu, karịsịa mgbe ị na-eji eriri 2400 na-agba ọsọ, ịnwale ọzọ na 6 obere ihe nke igwe compute nwere ike ịdị mkpa iji nweta ọnụọgụ ziri ezi karị. Ihe atụ ọ bụla ga-agba otu ule YCSB kama otu nnukwu ihe atụ CE nwere ule 6 yiri ya. N'ụzọ dị otú a, ọ ga-adị mfe ịmata ọdịiche dị n'etiti Cloud Spanner latency arịrịọ na latency agbakwunyere site na netwọk netwọk n'etiti Cloud Spanner na CE ihe atụ na-agba ọsọ ule.

Kedu ka Cloud Spanner si arụ ọrụ dị ka OLAP?

Nkewa?

Kewaa data n'ime akụkụ anụ ahụ na/ma ọ bụ n'ụzọ ezi uche dị na ya, nke a na-akpọ nkebi, bụ echiche ewu ewu nke achọtara n'ọtụtụ igwe OLAP. Nkebi nwere ike melite arụmọrụ ajụjụ yana ndowe nchekwa data. Ịbanye n'ime nkewa ga-abụ edemede dị iche iche, yabụ ka anyị kwuo naanị mkpa ọ dị inwe atụmatụ nkewa na nkebi nkebi. Ikike iweda data n'ime nkebi na ọbụna n'ihu n'ime nkebi bụ isi ihe na-arụ ọrụ nyocha.

Spanner Cloud anaghị akwado nkewa dị ka nke a. Ọ na-ekewa data n'ime ihe a na-akpọ Kewaa-s dabere na oke igodo isi. A na-eme nkewa na-akpaghị aka iji dozie ibu dị na ụyọkọ Spanner Cloud. Akụkụ bara uru nke Cloud Spanner bụ nkewa nke isi tebụl nne na nna (tebụl na-adịghị etinye aka na onye ọzọ). Spanner na-achọpụta ozugbo ma ọ nwere Kewaa data nke a na-agụ ugboro ugboro karịa data na ndị ọzọ Kewaa-ah, ma nwee ike ikpebi nkewa ọzọ. N'ụzọ dị otú a, ọtụtụ ọnụ nwere ike itinye aka na arịrịọ, nke na-abawanye mmepụta nke ọma.

Na-ebu data?

Usoro Spanner Cloud maka nnukwu data bụ otu maka nbudata nkịtị. Iji nweta oke arụmọrụ, ịkwesịrị ịgbaso ntuziaka ụfọdụ, gụnyere:

  • Hazie data gị site na igodo isi.
  • Kewaa ha na 10*ọnụ ọgụgụ nke ọnụ iche iche ngalaba.
  • Mepụta otu ọrụ ọrụ na-ebu data n'otu oge.

Ibu data a na-eji ọnụ Cloud Spanner niile.

Anyị ji arụ ọrụ YCSB A iji wepụta dataset nke ahịrị 10M.

Google Cloud Spanner: Ọ dị mma, ọjọọ, jọrọ njọ

* A na-anwale ule ibu ahụ na n1-standard-32 compute engine (32 vCPU, 120 GB memory), na ihe nlele ule ahụ abụbeghị ihe mgbochi na ule ahụ.
** A naghị atụ aro nhazi otu ọnụ maka ọrụ mmepụta ọ bụla.

Dịka ekwuru n'elu, Cloud Spanner na-ahazi nkewa na-akpaghị aka dabere na ibu ha, yabụ nsonaazụ na-akawanye mma mgbe ọtụtụ ugboro ugboro ugboro ugboro ugboro. Nsonaazụ ewepụtara ebe a bụ nsonaazụ kacha mma anyị nwetara. N'ileghachi anya na ọnụ ọgụgụ ndị dị n'elu, anyị nwere ike ịhụ ka Cloud Spanner si agba (nke ọma) ka ọnụ ọgụgụ ọnụ ọgụgụ dị na ụyọkọ ahụ na-abawanye. Ọnụọgụ ndị pụtara ìhè bụ obere latencies dị oke ala, nke dị iche na nsonaazụ maka ibu ọrụ agwakọta (95% na-agụ na 5% dee) dịka akọwara na ngalaba dị n'elu.

Ịtụle?

Ịbawanye na ibelata ọnụ ọgụgụ nke Cloud Spanner nodes bụ ọrụ otu pịa. Ọ bụrụ na ịchọrọ ibunye data ngwa ngwa, ị nwere ike ịtụle ịkwalite ihe atụ gị ruo n'ókè (n'ọnọdụ anyị ọ bụ 25 nodes na US-EAST mpaghara) wee belata ọnụ ọgụgụ ọnụ ọgụgụ ndị ruru eru maka ibu nkịtị gị ozugbo data niile dị. nchekwa data, na-ezo aka na njedebe 2TB/node.

Echetara anyị oke a ọbụlagodi na nchekwa data pere mpe. Mgbe ọtụtụ ule nyocha nke ibu gasịrị, nchekwa data anyị dị ihe dịka 155 GB n'ogo, ma mgbe a gbadara ya na ihe atụ 1, anyị nwetara njehie a:

Google Cloud Spanner: Ọ dị mma, ọjọọ, jọrọ njọ

Anyị jisiri ike gbadata site na ugboro 25 ruo 2, mana anyị rapaara na ọnụ abụọ.

Ịbawanye na ibelata ọnụ ọgụgụ ọnụ ọnụ na ụyọkọ Spanner Cloud nwere ike megharịa ya na iji REST API. Nke a nwere ike ịba uru karịsịa maka ibelata ibu sistemu na-abawanye n'oge awa ọrụ na-arụsi ọrụ ike.

Arụmọrụ ajụjụ OLAP?

Anyị bu ụzọ mee atụmatụ itinye nnukwu oge na nyocha Spanner na akụkụ a. Mgbe ọtụtụ SELECT COUNTs gasịrị, anyị chọpụtara ozugbo na nnwale ga-adị mkpụmkpụ yana Spanner agaghị abụ injin dabara adaba maka OLAP. N'agbanyeghị ọnụ ọgụgụ nke ọnụ ọnụ na ụyọkọ ahụ, naanị ịhọrọ ọnụọgụ nke ahịrị na tebụl 10M were n'etiti 55 na 60 sekọnd. Na mgbakwunye, ajụjụ ọ bụla chọrọ ebe nchekwa karịa iji chekwaa nsonaazụ etiti dara na mperi OOM.

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

Enwere ike ịhụ ụfọdụ ọnụọgụ maka ajụjụ TPC-H na edemede Todd Lipcon Nosql-kudu-spanner-slides.html, slide 42 na 43. Ọnụọgụ ndị a kwekọrọ na nsonaazụ nke anyị (ọ dị nwute).

Google Cloud Spanner: Ọ dị mma, ọjọọ, jọrọ njọ

4. Nkwubi okwu anyị

Nyere ọnọdụ njirimara Cloud Spanner dị ugbu a, ọ siri ike iche na ọ bụ nnọchi dị mfe maka ngwọta OLTP gị dị ugbu a, ọkachasị mgbe mkpa gị tolitere. A ga-etinye oge dị ukwuu iji wuo ihe ngwọta gburugburu adịghị ike Cloud Spanner.

Mgbe anyị malitere ịtụle Cloud Spanner, anyị tụrụ anya na njirimara njikwa ya ga-adaba na, ma ọ bụ opekata mpe, adịghị anya na ngwọta Google SQL ndị ọzọ. Mana ọ tụrụ anyị n'anya maka enweghị nkwado ndabere zuru oke na njikwa oke maka ịnweta akụrụngwa. Ọ bụghị ikwupụta echiche ọ bụla, enweghị mpaghara mmepe mpaghara, usoro na-akwadoghị, JDBC na-enweghị nkwado DML na DDL, na ihe ndị ọzọ.

Yabụ kedu ebe onye kwesịrị ịtụba nchekwa data azụmahịa na-aga? Ọ dị ka ọ dịghị otu ngwọta na ahịa dabara niile ojiji ikpe. Enwere ọtụtụ ihe ngwọta mechiri emechi na nke mepere emepe (ụfọdụ n'ime ndị a kpọtụrụ aha n'isiokwu a), nke ọ bụla nwere ike na adịghị ike nke ya, mana ọ nweghị nke ọ bụla n'ime ha na-enye SaaS na 99,999% SLA na nkwụsi ike dị elu. Ọ bụrụ na SLA dị elu bụ isi ihe mgbaru ọsọ gị ma ị chọghị ịmepụta ihe ngwọta igwe ojii dị iche iche, Cloud Spanner nwere ike ịbụ ngwọta ị na-achọ. Ma i kwesịrị ịma ihe niile ọ na-agaghị emeli.

Iji mee ihe ziri ezi, Cloud Spanner bụ naanị ka a tọhapụrụ ọha na eze na mmiri nke 2017, ya mere ọ bụ ihe ezi uche dị na ya ịtụ anya na ụfọdụ n'ime adịghị ike ya ugbu a nwere ike mechaa pụọ ​​(na-atụ anya), na mgbe ha mere, ọ nwere ike ịbụ onye na-agbanwe egwuregwu. E kwuwerị, Cloud Spanner abụghị naanị ọrụ akụkụ maka Google. Google na-eji ya dị ka ntọala maka ngwaahịa Google ndị ọzọ. Ma mgbe Google jiri Cloud Spanner dochie Megastore n'oge na-adịbeghị anya na Google Cloud Storage, o kwere ka Google Cloud Storage ghọọ nke ukwuu na-agbanwe agbanwe maka ndepụta nke ihe na ụwa (nke ka na-abụghị ikpe maka Amazon S3).

Ya mere, a ka nwere olile anya...anyị na-atụ anya.

Ọ gwụla. Dị ka onye edemede nke akụkọ ahụ, anyị na-anọgidekwa na-atụ anya, ma gịnị ka ị chere banyere nke a? Dee na nkọwa

Anyị na-akpọ onye ọ bụla ka ọ bịa na nke anyị webinar efu n'ime nke anyị ga-agwa gị n'ụzọ zuru ezu banyere N'ezie "AWS maka ndị mmepe" sitere na OTUS.

isi: www.habr.com

Tinye a comment