Google Cloud Spanner: Tsara, Ratsy, Ratsy

Salama ry Khabrovites. Amin'ny fomba mahazatra, manohy mizara fitaovana mahaliana izahay amin'ny ankatoky ny fanombohan'ny fampianarana vaovao. Androany, indrindra ho anao, dia nandika lahatsoratra momba ny Google Cloud Spanner izahay, nifanandrify tamin'ny fanombohan'ny fampianarana. "AWS ho an'ny mpamorona".

Google Cloud Spanner: Tsara, Ratsy, Ratsy

Navoaka voalohany tao amin'ny Lightspeed HQ bilaogy.

Amin'ny maha-orinasa manolotra vahaolana POS mifototra amin'ny rahona ho an'ny mpivarotra, trano fisakafoanana ary mpivarotra an-tserasera manerana an'izao tontolo izao, Lightspeed dia mampiasa karazana sehatra angon-drakitra isan-karazany ho an'ny karazana transactional, analytics ary tranga fampiasana fikarohana. Samy manana ny tanjany sy ny fahalemeny ny tsirairay amin'ireo sehatra angon-drakitra ireo. Noho izany, rehefa nampidirin'i Google eny an-tsena ny Cloud Spanner - ireo endri-javatra mampanantena tsy hita eo amin'ny tontolon'ny angon-drakitra mifandraika, toy ny scalability horizontally tsy misy fetra ary fifanarahana 99,999% service level (SLA) , Tsy afaka nandà ny fahafahana nitana azy teo an-tananay izahay!

Mba hanomezana topimaso feno momba ny traikefanay tamin'ny Cloud Spanner, ary koa ny fepetra fanombanana nampiasanay, dia hodinihinay ireto lohahevitra manaraka ireto:

  1. Ny fepetra fanombanana anay
  2. Cloud Spanner amin'ny teny fohy
  3. Ny tombanay
  4. Ny valiny

Google Cloud Spanner: Tsara, Ratsy, Ratsy

1. Fepetra fanombanana

Alohan'ny hidirana amin'ny antsipiriany momba ny Cloud Spanner, ny fitoviana sy ny mahasamihafa azy amin'ny vahaolana hafa eny an-tsena, andao aloha hiresaka momba ireo tranga fampiasa lehibe tao an-tsainay rehefa mandinika ny toerana hametrahana ny Cloud Spanner amin'ny fotodrafitrasantsika:

  • Ho solon'ny vahaolana (manjaka) nentim-paharazana SQL database
  • Amin'ny maha vahaolana OLTP afaka OLAP

Fanamarihana: Ho fanamorana ny fampitahana, ity lahatsoratra ity dia mampitaha ny Cloud Spanner amin'ireo variana MySQL an'ny fianakaviana vahaolana GCP Cloud SQL sy Amazon AWS RDS.

Mampiasa Cloud Spanner ho solon'ny vahaolana angona SQL mahazatra

Ao amin'ny tontolo iainana nentim-paharazana angon-drakitra, rehefa manakaiky na mihoatra ny fetran'ny fampiharana efa voafaritra mialoha ny fotoana famaliana ny fangatahan'ny angon-drakitra (noho ny fitomboan'ny isan'ny mpampiasa sy/na ny fangatahana), dia misy fomba maro hampihenana ny fotoana famaliana amin'ny ambaratonga azo ekena. Na izany aza, ny ankamaroan'ireo vahaolana ireo dia misy fidirana an-tànana.

Ohatra, ny dingana voalohany tokony hatao dia ny mijery ireo toe-javatra isan-karazany mifandraika amin'ny angon-drakitra ary mampifanaraka azy ireo mba hifanaraka tsara indrindra amin'ny lamina momba ny fampiasana fampiharana. Raha tsy ampy izany dia azonao atao ny misafidy ny hanesorana ny angon-drakitra mitsangana na mitsivalana.

Ny fampitomboana ny rindranasa iray dia mitaky fanavaozana ny ohatra mpizara, amin'ny ankapobeny amin'ny fampidirana processeur/cores bebe kokoa, RAM bebe kokoa, fitehirizana haingana kokoa, sns. Ny fampitomboana loharanon-drakitra bebe kokoa dia miteraka fampitomboana ny angon-drakitra, refesina voalohany indrindra amin'ny fifampiraharahana isan-tsegondra, ary ny faharetan'ny fifanakalozana ho an'ny rafitra OLTP. Ny rafitra angon-drakitra mifandraika (izay mampiasa fomba fiasa maromaro) toy ny MySQL mitsangana tsara.

Misy lesoka maromaro amin'ity fomba fiasa ity, fa ny tena miharihary dia ny haben'ny mpizara ambony indrindra eny an-tsena. Rehefa tratra ny fetran'ny Server Instance lehibe indrindra dia lalana iray sisa no tavela: scaling.

Ny Scale-out dia fomba iray manampy mpizara bebe kokoa amin'ny kluster iray mba hampitomboana ny fahombiazany amin'ny tsipika rehefa ampiana mpizara bebe kokoa. maro an'isa nentim-paharazana Ny rafitra database dia tsy mi-scale tsara na tsy mi-scale mihitsy. Ohatra, ny MySQL dia afaka manitatra ny famakiana amin'ny alàlan'ny fampidirana mpamaky andevo, saingy tsy afaka manitatra ny fanoratana.

Amin'ny lafiny iray, noho ny toetrany, ny Cloud Spanner dia afaka manitsy mora foana amin'ny alàlan'ny fidirana kely.

Asongadina feno DBMS ho serivisy tsy maintsy tombanana amin'ny fomba fijery samihafa. Ho fototra dia noraisinay ny DBMS malaza indrindra amin'ny rahona - ho an'ny Google, GCP Cloud SQL ary ho an'ny Amazon, AWS RDS. Tamin'ny fanombanana dia nifantoka tamin'ireto sokajy manaraka ireto izahay:

  • Sarintany misy endri-javatra: haben'ny SQL, DDL, DML; trano famakiam-boky / mpampitohy, fanohanana ara-barotra, sy ny sisa.
  • Fanohanana ny fampandrosoana: Mora ny fampandrosoana sy ny fitsapana.
  • Fanohanana ny fitantanan-draharaha: Fitantanan-draharaha toy ny fanamafisam-peo / fampidinana sy fanavaozana ny tranga; SLA, backup ary fanarenana; fiarovana / fanaraha-maso ny fidirana.

Mampiasa Cloud Spanner ho vahaolana OLTP OLAP-Enabled

Na dia tsy milaza mazava aza ny Google fa ny Cloud Spanner dia natao ho an'ny fanadihadiana, dia mizara toetra sasany amin'ny motera hafa toa an'i Apache Impala & Kudu ary YugaByte izay natao ho an'ny enta-mavesatra OLAP.

Na dia kely aza ny mety hisian'ny Cloud Spanner hampiditra motera HTAP (Hybrid Transactional/Analytic Processing) tsy miovaova miaraka amin'ny endri-javatra OLAP azo ampiasaina (mihoatra na latsaka), dia heverinay fa mendrika ny sainay izany.

Miaraka amin'izany, dia nijery ireto sokajy manaraka ireto izahay:

  • Fampidirana data, fanondroana ary fanohanana fisarahana
  • Fametrahana fanontaniana sy DML

2. Cloud Spanner amin'ny fomba fohy

Google Spanner dia rafitra fitantanana angon-drakitra mifandraika (RDBMS) mivondrona izay ampiasain'ny Google amin'ny serivisy manokana. Nataon'i Google ho azon'ny besinimaro ho an'ny mpampiasa Google Cloud Platform izany tamin'ny fiandohan'ny taona 2017.

Ireto ny sasany amin'ireo toetran'ny Cloud Spanner:

  • Kluster RDBMS tsy miovaova be sy azo ekena: Mampiasa fampifanarahana ny fotoanan'ny fitaovana mba hiantohana ny tsy fitovian'ny angona.
  • Fanohanana fifampiraharahana eo amin'ny latabatra: Ny fifampiraharahana dia afaka mivelatra latabatra maromaro - tsy voatery ho voafetra amin'ny latabatra tokana (tsy toy ny Apache HBase na Apache Kudu).
  • Tabilao mifototra amin'ny lakile fototra: Ny latabatra rehetra dia tsy maintsy manana lakile fototra (PC) nambara, izay mety ahitana tsanganana latabatra maromaro. Ny angon-drakitra tabilao dia voatahiry amin'ny filaharan'ny PC, izay mahatonga azy io ho mahomby sy haingana amin'ny fikarohana PC. Tahaka ny amin'ny rafitra hafa mifototra amin'ny PC, ny fampiharana dia tsy maintsy atao modely amin'ny tranga fampiasana efa nomanina mba hahatratrarana fampisehoana tsara indrindra.
  • Tabilao mibaribary: Mety misy fiankinan-doha ara-batana ny latabatra. Ny andalana amin'ny latabatra ankizy dia azo ampifandraisina amin'ny andalana amin'ny latabatra ray aman-dreny. Ity fomba fiasa ity dia manafaingana ny fitadiavana fifandraisana izay azo faritana amin'ny dingana fanodinkodinana data, ohatra, rehefa mametraka ny mpanjifa sy ny faktiorany miaraka.
  • Fanondroana: Manohana fanondro faharoa ny Cloud Spanner. Ny fanondroana dia misy tsanganana voatanisa sy tsanganana PC rehetra. Raha azo atao dia mety ahitana tsanganana hafa tsy voatanisa ihany koa ny tondro. Ny fanondroana dia azo ampifandraisina amin'ny latabatra ray aman-dreny mba hanafainganana ny fanontaniana. Fameperana maro no mihatra amin'ny fanondroana, toy ny isan'ny tsanganana fanampiny azo tehirizina ao anaty tondro. Ary koa, ny fanontaniana amin'ny alàlan'ny index dia mety tsy ho tsotra toy ny ao amin'ny RDBMS hafa.

"Ny Cloud Spanner dia misafidy tondro ho azy amin'ny tranga tsy fahita firy. Indrindra indrindra, ny Cloud Spanner dia tsy mifidy tondro faharoa ho azy raha toa ka mangataka tsanganana tsy voatahiry ao ny fanontaniana. Fanondroana ".

  • Fifanarahana amin'ny serivisy (SLA): Fametrahana faritra tokana miaraka amin'ny SLA 99,99%; fametrahana faritra maro miaraka amin'ny SLA 99,999%. Na dia fifanarahana fotsiny aza ny SLA fa tsy antoka na inona na inona, mino aho fa manana angon-drakitra sarotra ny olona Google mba hanaovana fitakiana mafy toy izany. (Ho fanondroana, 99,999% dia midika hoe 26,3 segondra amin'ny tsy fahampian'ny serivisy isam-bolana.)
  • More: https://cloud.google.com/spanner/

Fanamarihana: Ny tetikasa Apache Tephra dia manampy fanohanana ara-barotra mandroso amin'ny Apache HBase (ampidirina ao amin'ny Apache Phoenix ho beta ihany koa ankehitriny).

3. Ny fanombananay

Noho izany, efa namaky ny fanambaran'i Google momba ny tombontsoa azo avy amin'ny Cloud Spanner isika rehetra - ny fanamafisam-peo mitsivalana tsy misy fetra nefa mitazona tsy miovaova sy SLA avo dia avo. Na dia sarotra hotratrarina aza ireo filazana ireo, na ahoana na ahoana, dia tsy ny handà izany no tanjonay. Andao kosa hifantoka amin'ny zavatra hafa izay tena ikarakaran'ny ankamaroan'ny mpampiasa angon-drakitra: ny fitoviana sy ny fampiasana.

Nosokahinay ho solon'ny Sharded MySQL ny Cloud Spanner

Google Cloud SQL sy Amazon AWS RDS, roa amin'ireo angona OLTP malaza indrindra ao amin'ny tsenan'ny rahona, dia manana endri-javatra tena lehibe. Na izany aza, mba hanesorana ireo angon-drakitra ireo mihoatra ny haben'ny node tokana dia mila manao fisarahana fampiharana ianao. Ity fomba fiasa ity dia miteraka fahasarotana fanampiny ho an'ny fampiharana sy ny fitantanana. Nijery ny fomba hifandraisan'i Spanner amin'ny scenario fampifangaroana shards maromaro ho ohatra iray sy ny endri-javatra (raha misy) mety tsy maintsy atao sorona.

Fanohanana ny SQL, DML ary DDL, ary koa ny mpampitohy sy ny tranomboky?

Voalohany, rehefa manomboka amin'ny angon-drakitra rehetra ianao dia mila mamorona modely data. Raha mieritreritra ianao fa afaka mampifandray ny JDBC Spanner amin'ny fitaovana SQL tianao indrindra, dia ho hitanao fa afaka manontany ny angonao miaraka aminy ianao, saingy tsy azonao ampiasaina izany mba hamoronana latabatra na fanavaozana (DDL) na izay ampidiro / fanavaozana / famafana. asa (DML). Tsy manohana ihany koa ny JDBC ofisialin'ny Google.

"Tsy manohana ny fanambarana DML na DDL ny mpamily amin'izao fotoana izao."
Spanner Documentation

Tsy tsara kokoa ny toe-javatra amin'ny console GCP - fanontaniana SELECT ihany no azonao alefa. Soa ihany fa misy mpamily JDBC miaraka amin'ny fanohanana DML sy DDL avy amin'ny vondrom-piarahamonina ao anatin'izany ny fifampiraharahana github.com/olavloite/spanner-jdbc. Na dia tena ilaina aza ity mpamily ity, dia mahagaga ny tsy fisian'ny mpamily JDBC an'ny Google. Soa ihany fa Google dia manolotra fanohanan'ny tranomboky mpanjifa malalaka (mifototra amin'ny gRPC): C#, Go, Java, node.js, PHP, Python, ary Ruby.

Ny fampiasana saika tsy maintsy atao amin'ny API mahazatra an'ny Cloud Spanner (noho ny tsy fahampian'ny DDL sy DML ao amin'ny JDBC) dia miteraka famerana sasany ho an'ny faritra mifandraika amin'ny kaody toy ny famoriam-pifandraisana na rafitra fatorana angon-drakitra (toy ny Spring MVC). Amin'ny ankapobeny, rehefa mampiasa JDBC ianao dia afaka misafidy ny dobo fifandraisana tianao indrindra (oh HikariCP, DBCP, C3PO, sns) izay voasedra sy miasa tsara. Raha ny API Spanner mahazatra dia tsy maintsy miantehitra amin'ireo dobo firafitra/famatotra/session izay noforoninay izahay.

Ny famolavolana miompana amin'ny lakile fototra (PC) dia mamela ny Cloud Spanner ho haingana be rehefa miditra amin'ny angona amin'ny alàlan'ny PC, fa mampiditra olana amin'ny fangatahana ihany koa.

  • Tsy afaka manavao ny sandan'ny fanalahidy fototra ianao; Tsy maintsy esorinao aloha ny fidirana PC tany am-boalohany ary ampidiro indray miaraka amin'ny sanda vaovao. (Ity dia mitovy amin'ny motera angon-drakitra / fitahirizana PC hafa.)
  • Ny fanambarana UPDATE sy DELETE rehetra dia tsy maintsy manondro ny PC ao amin'ny WHERE, noho izany dia tsy tokony hisy foana ny DELETE ny fanambarana rehetra - tsy maintsy misy subquery foana, ohatra: UPDATE xxx WHERE id IN (SELECT id FROM table1)
  • Ny tsy fahampian'ny safidy auto-increment na zavatra mitovy amin'izany izay mametraka ny filaharana ho an'ny sehatry ny PC. Mba hanaovana izany, dia tsy maintsy mamorona ny sanda mifanaraka amin'izany eo amin'ny lafiny fampiharana.

Fanondro faharoa?

Google Cloud Spanner dia manana fanohanana an-trano ho an'ny fanondro faharoa. Ity dia endri-javatra tena tsara izay tsy hita amin'ny teknolojia hafa. Apache Kudu dia tsy manohana ny fanondro faharoa amin'izao fotoana izao, ary ny Apache HBase dia tsy manohana mivantana ny fanondroana, fa afaka manampy azy ireo amin'ny alàlan'ny Apache Phoenix.

Ny Indexes ao Kudu sy HBase dia azo atao modely ho toy ny latabatra misaraka amin'ny firafitry ny fanalahidy fototra samy hafa, fa ny atomicity ny asa atao eo amin'ny ray aman-dreny latabatra sy ny index tabilao dia tsy maintsy tanterahina eo amin'ny ambaratonga fampiharana ary tsy zava-dehibe ny fampiharana araka ny tokony ho.

Araka ny voalaza ao amin'ny fanadihadian'ny Cloud Spanner, ny fanondroana azy dia mety tsy mitovy amin'ny index MySQL. Noho izany, mila mitandrina manokana amin'ny fananganana fanontaniana sy ny mombamomba azy mba hahazoana antoka fa ampiasaina amin'ny toerana ilana azy ny fanondroana marina.

Solontena?

Ny zavatra tena malaza sy mahasoa ao anaty angon-drakitra dia ny fijerena. Izy ireo dia mety ho ilaina amin'ny tranga fampiasana marobe; Ny ankafiziko roa dia ny sosona abstraction lojika sy ny sosona fiarovana. Indrisy fa TSY manohana fijery ny Cloud Spanner. Na izany aza, mametra antsika amin'ny ampahany ihany izany, satria tsy misy tsipika amin'ny haavon'ny tsanganana ho an'ny fahazoan-dàlana hidirana izay mety ho vahaolana azo ekena ny fomba fijery.

Jereo ny antontan-taratasin'ny Cloud Spanner ho an'ny fizarana manazava ny fetra sy ny fetra (spanner/quota), misy iray manokana izay mety ho olana amin'ny fampiharana sasany: Cloud Spanner ivelan'ny boaty dia manana tahiry 100 ambony indrindra isaky ny tranga. Mazava ho azy fa mety ho sakana lehibe ho an'ny angon-drakitra iray izay natao hanesorana ny angona 100 mahery izany. Soa ihany fa rehefa avy niresaka tamin'ny solontenanay ara-teknika Google izahay dia hitanay fa azo ampitomboina amin'ny sanda rehetra amin'ny alàlan'ny Google Support io fetra io.

Fanohanana fampandrosoana?

Cloud Spanner dia manolotra fanohanana amin'ny fiteny fandaharana tsara ho an'ny fiaraha-miasa amin'ny API. Ao amin'ny faritry ny C#, Go, Java, node.js, PHP, Python ary Ruby ireo tranomboky tohanana ofisialy. Ny antontan-taratasy dia somary amin'ny antsipiriany, fa toy ny amin'ny teknolojia manara-penitra hafa, ny vondrom-piarahamonina dia kely dia kely raha oharina amin'ny ankamaroan'ny teknolojia angona malaza, izay mety hiteraka fotoana bebe kokoa lany amin'ny tranga tsy fahita firy na olana.

Dia ahoana ny amin’ny fanohanana fampandrosoana eto an-toerana?

Tsy nahita fomba hamoronana ohatra Cloud Spanner an-toerana izahay. Ny akaiky indrindra azonay dia sary Docker kalalaoDBizay mitovy amin'ny foto-kevitra, fa tena samy hafa amin'ny fampiharana. Ohatra, CockroachDB dia afaka mampiasa PostgreSQL JDBC. Satria ny tontolon'ny fampandrosoana dia tokony ho akaiky araka izay azo atao amin'ny tontolo famokarana, tsy mety ny Cloud Spanner satria mila miantehitra amin'ny ohatra Spanner feno ianao. Mba hitsitsiana ny sarany dia azonao atao ny misafidy ohatra faritra iray.

Fanohanana fitantanana?

Tena tsotra ny famoronana ohatra Cloud Spanner. Mila misafidy fotsiny ianao eo amin'ny famoronana faritra maro na faritra tokana, mamaritra ny faritra sy ny isan'ny nodes. Afaka iray minitra latsaka dia hivoaka sy hivoaka ilay ohatra.

Metrika fototra maromaro no hita mivantana ao amin'ny pejy Spanner ao amin'ny Google Console. Ny fomba fijery amin'ny antsipiriany kokoa dia azo alaina amin'ny alàlan'ny Stackdriver, izay ahafahanao mametraka fetra metrika sy politika fanairana.

Fidirana amin'ny loharanon-karena?

Ny MySQL dia manolotra fanomezan-dàlana / anjara asa be dia be sy be dia be. Azonao atao ny manamboatra mora foana ny fidirana amin'ny latabatra iray manokana, na ny ampahany kely amin'ny tsanganany. Cloud Spanner dia mampiasa ny fitaovana Google Identity & Access Management (IAM), izay ahafahanao mametraka politika sy fahazoan-dàlana amin'ny ambaratonga avo indrindra. Ny safidy lehibe indrindra dia ny fahazoan-dàlana amin'ny database, izay tsy mety amin'ny ankamaroan'ny tranga famokarana. Ity famerana ity dia manery anao hampiditra fepetra fiarovana fanampiny amin'ny kaody, fotodrafitrasa, na izy roa mba hisorohana ny fampiasana tsy nahazoana alalana ny loharanon'i Spanner.

Backups?

Raha tsorina dia tsy misy backup ao amin'ny Cloud Spanner. Raha toa ny fepetra SLA avo lenta ao amin'ny Google dia afaka miantoka fa tsy very angon-drakitra noho ny tsy fahombiazan'ny fitaovana na ny angon-drakitra, ny fahadisoan'ny olona, ​​ny tsy fahampian'ny fampiharana, sns. Amin'izao fotoana izao, ny hany fomba hamerenana ny angona dia ny fandefasana azy amin'ny programa avy amin'ny angon-drakitra mankany amin'ny tontolo fitahirizana misaraka.

Fametrahana fanontaniana?

Nampiasa Yahoo! izahay hampiditra angona sy fanontaniana fitsapana. Cloud Serving Benchmark. Ny tabilao etsy ambany dia mampiseho ny enta-mavesatry ny B YCSB miaraka amin'ny tahan'ny fanoratana 95% hatramin'ny 5%.

Google Cloud Spanner: Tsara, Ratsy, Ratsy

* Ny fitsapana entana dia natao tamin'ny n1-standard-32 Compute Engine (CE) (32 vCPUs, 120 GB fahatsiarovana) ary ny fitsapana dia tsy ny bottleneck tamin'ny fitsapana.
** Ny isan'ny kofehy ambony indrindra amin'ny ohatra YCSB iray dia 400. Amin'ny fitambarany, tranga enina mifanitsy amin'ny fitsapana YCSB no tsy maintsy natao mba hahazoana kofehy 2400.

Raha jerena ny valin'ny benchmark, indrindra ny fampifangaroana ny enta-mavesatra CPU sy ny TPS, dia hitantsika mazava tsara fa mizana tsara ny Cloud Spanner. Ny enta-mavesatra lehibe noforonin'ny kofehy marobe dia voafehin'ny node marobe ao amin'ny cluster Cloud Spanner. Na dia toa avo lenta aza ny fahatarana, indrindra rehefa mandeha amin'ny kofehy 2400, dia mety ilaina ny averina amin'ny toe-javatra 6 kely kokoa amin'ny motera kajy mba hahazoana isa marina kokoa. Ny tranga tsirairay dia hanao fitsapana YCSB iray fa tsy ohatra CE lehibe iray misy fitsapana 6 mifanitsy. Izany dia hanamora ny fanavahana ny fahatarana amin'ny fangatahana Cloud Spanner sy ny fahatarana ampian'ny fifandraisan'ny tambajotra eo amin'ny Cloud Spanner sy ny ohatra CE manao ny fitsapana.

Ahoana no fiasan'ny Cloud Spanner amin'ny maha OLAP?

Fizarazarana?

Ny fizarana angon-drakitra ho fizarana tsy miankina ara-batana sy/na ara-lojika, antsoina hoe fizarazarana, dia hevitra tena malaza hita amin'ny ankamaroan'ny motera OLAP. Ny partitions dia afaka manatsara ny fahombiazan'ny fangatahana sy ny fikojakojana ny angon-drakitra. Ny fandinihana bebe kokoa momba ny fizarazarana dia mety ho lahatsoratra misaraka, noho izany andao lazaina fotsiny ny maha-zava-dehibe ny fananana rafitra fisarahana sy fizarana. Ny fahafahana manasaraka angon-drakitra ho fizarazarana ary na dia lavitr'ezaka ho sub-partitions aza dia fanalahidin'ny fampandehanana ny fangatahana famakafakana.

Cloud Spanner dia tsy mahazaka partitions per se. Manasaraka ny angona anatiny ho antsoina hoe Saraho-s mifototra amin'ny laharana fanalahidy fototra. Ny fisarahana dia atao ho azy mba handanjalanjana ny entana ao amin'ny cluster Cloud Spanner. Ny endri-javatra tena mora ampiasaina amin'ny Cloud Spanner dia ny manasaraka ny enta-mavesatra amin'ny latabatra misy ray aman-dreny (latabatra tsy mifamatotra amin'ny hafa). Ny Spanner dia mahita ho azy raha misy Saraho angona vakiana matetika kokoa noho ny angona any amin'ny hafa Saraho-ah, ary mety hanapa-kevitra amin'ny fisarahana fanampiny. Noho izany, ny nodes bebe kokoa dia afaka mandray anjara amin'ny fangatahana iray, izay mampitombo ihany koa ny famokarana.

Loading data?

Ny fomba Cloud Spanner ho an'ny angona betsaka dia mitovy amin'ny fampiakarana mahazatra. Mba hahazoana fahombiazana ambony indrindra dia mila manaraka torolàlana vitsivitsy ianao, ao anatin'izany:

  • Sokafy ny angonao amin'ny fanalahidy fototra.
  • Zarao amin'ny 10*isan'ny nodes fizarana tsirairay.
  • Mamorona andiana asan'ny mpiasa izay mampiditra angona mifanitsy.

Ity entana angona ity dia mampiasa ny node Cloud Spanner rehetra.

Nampiasa ny enta-mavesatra A YCSB izahay mba hamoronana angon-drakitra andalana 10M.

Google Cloud Spanner: Tsara, Ratsy, Ratsy

* Ny andrana enta-mavesatra dia natao tamin'ny motera compute n1-standard-32 (32 vCPUs, 120 GB fitadidiana) ary ny ohatra fitsapana dia tsy ny bottleneck mihitsy tamin'ny fitsapana.
** Ny fananganana node 1 dia tsy soso-kevitra amin'ny asa famokarana rehetra.

Araka ny voalaza etsy ambony, ny Cloud Spanner dia mizara ho azy arakaraka ny entany, noho izany dia mihatsara ny vokatra aorian'ny famerimberenan'ny fitsapana maromaro. Ny vokatra aseho eto no vokatra tsara indrindra azonay. Raha jerena ireo isa etsy ambony dia hitantsika ny fomba mizana (tsara) ny Cloud Spanner rehefa mitombo ny isan'ny node ao amin'ny cluster. Ny isa misongadina dia faran'izay ambany salan'isa, izay mifanohitra amin'ny valin'ny enta-mavesatra mifangaro (95% mamaky sy manoratra 5%), araka ny voalaza ao amin'ny fizarana etsy ambony.

Fanamafisana?

Ny fampitomboana sy ny fampihenana ny isan'ny node Cloud Spanner dia asa iray kitiho. Raha te hampiditra angon-drakitra haingana ianao dia azonao atao ny mieritreritra ny hampitombo ny ohatra ho ambony indrindra (raha ny anay dia 25 nodes any amin'ny faritra US-EAST) ary avy eo ahena ny isan'ny nodes mety amin'ny entanao mahazatra aorian'ny angon-drakitra rehetra. ao amin'ny angon-drakitra, mitadidy ny fetra 2 TB/node.

Nampahatsiahivana an'io fetra io izahay na dia misy tahiry kely kokoa aza. Taorian'ny fitsapam-pitaterana entana maromaro, dia manodidina ny 155 GB ny haben'ny angon-drakitray, ary rehefa nihena ho ohatra 1 node dia nahazo izao hadisoana manaraka izao izahay:

Google Cloud Spanner: Tsara, Ratsy, Ratsy

Afaka nihena 25 ka hatramin'ny 2 tranga izahay, saingy tafahitsoka tamin'ny node roa.

Ny fampiakarana sy fampihenana ny isan'ny node ao amin'ny cluster Cloud Spanner dia azo atao mandeha ho azy amin'ny alàlan'ny REST API. Tena ilaina tokoa izany amin'ny fampihenana ny enta-mavesatra mitombo ao amin'ny rafitra mandritra ny ora be atao.

Fahombiazan'ny fanontaniana OLAP?

Tany am-boalohany dia nikasa ny hanokana fotoana be izahay amin'ny fanombanana ny Spanner amin'ity ampahany ity. Taorian'ny fanisana SELECT vitsivitsy dia tsikaritray avy hatrany fa ho fohy ny fitsapana ary TSY ho maotera sahaza ho an'ny OLAP ny Spanner. Na inona na inona isan'ny node ao amin'ny cluster, ny fisafidianana fotsiny ny isan'ny andalana ao amin'ny latabatra andalana 10M dia naharitra 55 ka hatramin'ny 60 segondra. Ary koa, izay fanontaniana mila fitadidiana bebe kokoa hitahirizana valiny manelanelana dia tsy nahomby tamin'ny fahadisoana OOM.

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

Ny isa sasany ho an'ny fanontaniana TPC-H dia hita ao amin'ny lahatsoratr'i Todd Lipcon nosql-kudu-spanner-slides.html, sary mihetsika 42 sy 43. Ireo isa ireo dia mifanaraka amin'ny vokatray manokana (indrisy).

Google Cloud Spanner: Tsara, Ratsy, Ratsy

4. Ny zavatra hitanay

Raha jerena ny toetry ny Cloud Spanner amin'izao fotoana izao, sarotra ny mahita azy io ho fanoloana tsotra ho an'ny vahaolana OLTP efa misy, indrindra rehefa mihoatra noho izany ny filanao. Fotoana be dia be no tsy maintsy lany amin'ny fananganana vahaolana momba ny lesoka amin'ny Cloud Spanner.

Rehefa nanomboka nanombantombana ny Cloud Spanner izahay, dia nanantena izahay fa hifanaraka amin'ny, na farafaharatsiny tsy lavitra, vahaolana Google SQL hafa. Saingy gaga izahay tamin'ny tsy fahampian'ny backups sy ny fifehezana ny fidirana amin'ny loharano voafetra. Tsy lazaina intsony hoe tsy misy fijery, tsy misy tontolo fampandrosoana eo an-toerana, filaharana tsy tohanana, JDBC tsy misy fanohanana DML sy DDL, sy ny sisa.

Noho izany, aiza no halehana ho an'ny olona iray izay mila manara-penitra angon-drakitra transactional? Toa tsy mbola misy vahaolana tokana eny an-tsena izay mifanaraka amin'ny tranga rehetra ampiasaina. Betsaka ny vahaolana mihidy sy misokatra (ny sasany amin'izy ireo no voalaza ato amin'ity lahatsoratra ity), samy manana ny tanjany sy ny fahalemeny, saingy tsy misy amin'izy ireo manolotra SaaS miaraka amin'ny 99,999% SLA sy ny tsy fitoviana ambony. Raha SLA avo lenta no tanjonao voalohany ary tsy mirona hanorina vahaolana ho an'ny rahona maro ianao, dia mety ho vahaolana tadiavinao ny Cloud Spanner. Tokony ho fantatrao anefa ny fetrany rehetra.

Raha ny marina, ny Cloud Spanner dia navoaka ho an'ny besinimaro tamin'ny lohataonan'ny taona 2017, noho izany dia mety ny manantena fa ny sasany amin'ireo lesoka amin'izao fotoana izao dia mety hiala amin'ny farany (antenaina), ary rehefa mitranga izany dia mety ho mpanova lalao. Raha ny marina, Cloud Spanner dia tsy tetikasa an-daniny fotsiny ho an'ny Google. Google dia mampiasa azy io ho fototry ny vokatra Google hafa. Ary rehefa nosoloin'i Google vao haingana ny Megastore tao amin'ny Google Cloud Storage tamin'ny Cloud Spanner, dia namela ny Google Cloud Storage ho lasa tsy miovaova ho an'ny lisitry ny zavatra amin'ny sehatra manerantany (izay mbola tsy mitranga amin'ny Amazon ny S3).

Noho izany, mbola misy ny fanantenana... manantena izahay.

Izay ihany. Tahaka ny mpanoratra ny lahatsoratra, mbola manantena ihany koa izahay, fa ahoana ny hevitrao momba izany? Soraty ao amin'ny fanehoan-kevitra

Manasa ny rehetra hitsidika ny anay webinar maimaim-poana izay holazainay aminao amin'ny antsipiriany momba ny taranja "AWS ho an'ny mpamorona" avy amin'ny OTUS.

Source: www.habr.com

Add a comment