Giapod-apod nga DBMS alang sa Enterprise

Ang teorama sa CAP mao ang sukaranan sa teorya sa gipang-apod-apod nga sistema. Siyempre, ang kontrobersiya nga naglibot niini dili mohupas: ang mga kahulugan niini dili kanonikal, ug walay estrikto nga pruweba... Bisan pa niana, lig-on nga nagbarog sa mga posisyon sa adlaw-adlaw nga sentido komon, kita intuitively nakasabut nga ang theorem tinuod.

Giapod-apod nga DBMS alang sa Enterprise

Ang dili klaro mao ang kahulogan sa letra nga "P". Kung gibahin ang cluster, kini ang magdesisyon kung dili ba motubag hangtod maabot ang usa ka korum, o ibalik ang datos nga magamit. Depende sa mga resulta niini nga pagpili, ang sistema giklasipikar nga usa ka CP o usa ka AP. Si Cassandra, pananglitan, mahimong molihok sa bisan unsang paagi, depende dili bisan sa mga setting sa cluster, apan sa mga parameter sa matag piho nga hangyo. Apan kung ang sistema dili "P" ug kini nabahin, nan unsa?

Ang tubag niini nga pangutana medyo wala damha: ang CA cluster dili mabahin.
Unsa kini nga klase nga cluster nga dili mabahin?

Ang usa ka kinahanglanon nga kinaiya sa ingon nga cluster mao ang usa ka gipaambit nga sistema sa pagtipig sa datos. Sa kadaghanan sa mga kaso, kini nagpasabut sa pagkonektar sa usa ka SAN, nga naglimite sa paggamit sa mga solusyon sa CA sa mga dagkong negosyo nga makahimo sa pagpadayon sa usa ka imprastraktura sa SAN. Aron ang daghang mga server magamit sa parehas nga datos, gikinahanglan ang usa ka clustered file system. Ang maong mga file system anaa sa HPE (CFS), Veritas (VxCFS) ug IBM (GPFS) nga mga portfolio.

Oracle RAC

Ang opsyon sa Tinuod nga Application Cluster unang mipakita niadtong 2001 uban sa pagpagawas sa Oracle 9i. Sa ingon nga kumpol, daghang mga higayon sa server ang nagtrabaho sa parehas nga database.
Ang Oracle makahimo sa pagtrabaho sa usa ka clustered file system ug sa kaugalingon nga solusyon - ASM, Automatic Storage Management.

Ang matag kopya nagtipig sa kaugalingon nga journal. Ang transaksyon gipatuman ug gihimo sa usa ka higayon. Kung mapakyas ang usa ka instance, ang usa sa mga buhi nga cluster node (instances) mobasa sa log niini ug ibalik ang nawala nga datos - sa ingon masiguro ang pagkaanaa.

Ang tanan nga mga higayon nagpadayon sa ilang kaugalingon nga cache, ug ang parehas nga mga panid (mga bloke) mahimong naa sa mga cache sa daghang mga higayon sa parehas nga oras. Dugang pa, kung ang usa ka higayon nanginahanglan usa ka panid ug kini naa sa cache sa lain nga higayon, makuha kini gikan sa silingan niini gamit ang mekanismo sa cache fusion imbis nga magbasa gikan sa disk.

Giapod-apod nga DBMS alang sa Enterprise

Apan unsa ang mahitabo kung ang usa sa mga higayon kinahanglan nga magbag-o sa datos?

Ang pagkatalagsaon sa Oracle mao nga wala kini usa ka gipahinungod nga serbisyo sa pag-lock: kung gusto sa server nga mag-lock sa usa ka laray, nan ang rekord sa lock gibutang direkta sa panid sa panumduman kung diin nahimutang ang naka-lock nga laray. Salamat sa kini nga pamaagi, ang Oracle mao ang kampeon sa pasundayag taliwala sa mga monolithic database: ang serbisyo sa pag-lock dili gyud mahimong usa ka bottleneck. Apan sa usa ka cluster configuration, ang ingon nga arkitektura mahimong mosangpot sa grabe nga trapiko sa network ug mga deadlock.

Kung ma-lock na ang usa ka rekord, ang usa ka instance magpahibalo sa tanan nga uban pang mga higayon nga ang panid nga nagtipig sa kana nga rekord adunay eksklusibo nga pagpugong. Kung ang laing higayon kinahanglan nga magbag-o sa usa ka rekord sa parehas nga panid, kinahanglan nga maghulat hangtod mabuhat ang mga pagbag-o sa panid, nga mao, ang kasayuran sa pagbag-o gisulat sa usa ka journal sa disk (ug ang transaksyon mahimong magpadayon). Mahimo usab nga mahitabo nga ang usa ka panid mabag-o nga sunud-sunod sa daghang mga kopya, ug unya kung isulat ang panid sa disk kinahanglan nimo mahibal-an kung kinsa ang nagtipig sa karon nga bersyon sa kini nga panid.

Ang random nga pag-update sa parehas nga mga panid sa lain-laing mga RAC node hinungdan nga ang pasundayag sa database mokunhod pag-ayo, hangtod sa punto diin ang pasundayag sa cluster mahimong mas ubos kaysa sa usa ka higayon.

Ang husto nga paggamit sa Oracle RAC mao ang pisikal nga pagbahin sa datos (pananglitan, gamit ang usa ka partitioned nga mekanismo sa lamesa) ug pag-access sa matag set sa mga partisyon pinaagi sa usa ka gipahinungod nga node. Ang panguna nga katuyoan sa RAC dili pinahigda nga pag-scale, apan pagsiguro sa pagtugot sa sayup.

Kung ang usa ka node mohunong sa pagtubag sa usa ka pinitik sa kasingkasing, nan ang node nga nakamatikod niini una nga nagsugod sa usa ka pamaagi sa pagboto sa disk. Kung ang nawala nga node wala mahibal-an dinhi, nan ang usa sa mga node adunay responsibilidad alang sa pagbawi sa datos:

  • "gi-freeze" ang tanan nga mga panid nga naa sa cache sa nawala nga node;
  • gibasa ang mga log (pag-usab) sa nawala nga node ug gipadapat pag-usab ang mga pagbag-o nga natala sa kini nga mga log, dungan nga pagsusi kung ang ubang mga node adunay bag-ong bersyon sa mga panid nga giusab;
  • roll back pending nga mga transaksyon.

Aron mapasayon ​​ang pagbalhin tali sa mga node, ang Oracle adunay konsepto sa usa ka serbisyo - usa ka virtual nga pananglitan. Ang usa ka pananglitan mahimong mag-alagad sa daghang mga serbisyo, ug ang usa ka serbisyo mahimong molihok tali sa mga node. Usa ka pananglitan sa aplikasyon nga nagserbisyo sa usa ka bahin sa database (pananglitan, usa ka grupo sa mga kliyente) nagtrabaho sa usa ka serbisyo, ug ang serbisyo nga responsable niini nga bahin sa database mobalhin sa lain nga node kung ang usa ka node mapakyas.

IBM Pure Data Systems para sa mga Transaksyon

Ang usa ka cluster solution alang sa DBMS nagpakita sa Blue Giant nga portfolio sa 2009. Sa ideolohiya, kini ang manununod sa Parallel Sysplex cluster, nga gitukod sa "regular" nga kagamitan. Niadtong 2009, ang DB2 pureScale gibuhian isip software suite, ug niadtong 2012, ang IBM mitanyag og appliance nga gitawag og Pure Data Systems for Transactions. Dili kini angay nga kalibog sa Purong Sistema sa Data alang sa Analytics, nga wala’y lain kaysa usa ka gibag-o nga ngalan nga Netezza.

Sa una nga pagtan-aw, ang pureScale nga arkitektura parehas sa Oracle RAC: sa parehas nga paagi, daghang mga node ang konektado sa usa ka sagad nga sistema sa pagtipig sa datos, ug ang matag node nagpadagan sa kaugalingon nga pananglitan sa DBMS nga adunay kaugalingon nga mga lugar sa panumduman ug mga log sa transaksyon. Apan, dili sama sa Oracle, ang DB2 adunay gipahinungod nga serbisyo sa pag-lock nga girepresentahan sa usa ka hugpong sa mga proseso sa db2LLM *. Sa usa ka cluster configuration, kini nga serbisyo gibutang sa usa ka bulag nga node, nga gitawag nga coupling facility (CF) sa Parallel Sysplex, ug PowerHA sa Pure Data.

Ang PowerHA naghatag sa mosunod nga mga serbisyo:

  • lock manager;
  • global buffer cache;
  • natad sa interprocess nga komunikasyon.

Aron mabalhin ang data gikan sa PowerHA ngadto sa database nodes ug balik, gigamit ang remote memory access, mao nga ang cluster interconnect kinahanglang mosuporta sa RDMA protocol. Mahimo gamiton sa PureScale ang Infiniband ug RDMA sa Ethernet.

Giapod-apod nga DBMS alang sa Enterprise

Kung ang usa ka node nanginahanglan usa ka panid, ug kini nga panid wala sa cache, nan ang node naghangyo sa panid sa global cache, ug kung wala kini, basahon kini gikan sa disk. Dili sama sa Oracle, ang hangyo moadto lamang sa PowerHA, ug dili sa silingang mga node.

Kung ang usa ka pananglitan magbag-o sa usa ka laray, gi-lock kini sa eksklusibo nga mode, ug ang panid diin ang linya nahimutang sa gipaambit nga mode. Ang tanan nga mga kandado narehistro sa global lock manager. Kung makompleto ang transaksyon, ang node magpadala usa ka mensahe sa tagdumala sa kandado, nga nagkopya sa giusab nga panid sa global nga cache, nagpagawas sa mga kandado, ug nag-invalidate sa giusab nga panid sa mga cache sa ubang mga node.

Kung ang panid diin nahimutang ang gibag-o nga laray na-lock na, ang tagdumala sa kandado magbasa sa nabag-o nga panid gikan sa panumduman sa node nga naghimo sa pagbag-o, buhian ang kandado, dili balido ang giusab nga panid sa mga cache sa ubang mga node, ug ihatag ang lock sa panid sa node nga nangayo niini.

"Dirty", nga mao, nausab, ang mga panid mahimong isulat sa disk gikan sa usa ka regular nga node ug gikan sa PowerHA (castout).

Kung ang usa sa pureScale node mapakyas, ang pagbawi limitado lamang sa mga transaksyon nga wala pa nahuman sa panahon sa kapakyasan: ang mga panid nga giusab sa maong node sa nahuman nga mga transaksyon anaa sa global cache sa PowerHA. Ang node magsugod pag-usab sa usa ka pagkunhod sa configuration sa usa sa mga server sa cluster, roll back pending nga mga transaksyon ug nagpagawas sa mga kandado.

Ang PowerHA nagdagan sa duha ka mga server ug ang master node nag-replika sa estado niini nga dungan. Kung mapakyas ang nag-unang PowerHA node, ang cluster magpadayon sa pag-operate sa backup node.
Siyempre, kung imong ma-access ang data set pinaagi sa usa ka node, ang kinatibuk-ang performance sa cluster mas taas. Ang PureScale makamatikod pa nga ang usa ka lugar sa datos giproseso sa usa ka node, ug unya ang tanan nga mga kandado nga may kalabutan sa kana nga lugar iproseso sa lokal nga node nga wala’y komunikasyon sa PowerHA. Apan sa diha nga ang aplikasyon mosulay sa pag-access niini nga datos pinaagi sa laing node, ang sentralisadong pagproseso sa lock magpadayon.

Ang internal nga mga pagsulay sa IBM sa usa ka workload nga 90% sa pagbasa ug 10% sa pagsulat, nga susama kaayo sa tinuod nga kalibutan nga mga workload sa produksyon, nagpakita sa halos linear scaling hangtod sa 128 nodes. Ang mga kondisyon sa pagsulay, sa walay palad, wala gibutyag.

HPE NonStop SQL

Ang portfolio sa Hewlett-Packard Enterprise usab adunay kaugalingon nga magamit nga plataporma. Kini ang NonStop nga plataporma, nga gipagawas sa merkado kaniadtong 1976 sa Tandem Computers. Sa 1997, ang kompanya nakuha sa Compaq, nga sa baylo gihiusa sa Hewlett-Packard kaniadtong 2002.

Ang NonStop gigamit sa paghimo sa mga kritikal nga aplikasyon - pananglitan, HLR o pagproseso sa bank card. Ang plataporma gihatag sa porma sa software ug hardware complex (appliance), nga naglakip sa computing nodes, data storage system ug communication equipment. Ang network sa ServerNet (sa modernong mga sistema - Infiniband) nagsilbi alang sa pagbinayloay tali sa mga node ug alang sa pag-access sa sistema sa pagtipig sa datos.

Ang unang mga bersyon sa sistema naggamit sa proprietary processors nga gi-synchronize sa usag usa: ang tanan nga mga operasyon gihimo nga dungan sa daghang mga processor, ug sa diha nga ang usa sa mga processor nasayop, kini gipalong, ug ang ikaduha nagpadayon sa pagtrabaho. Sa ulahi, ang sistema mibalhin sa naandan nga mga processor (una nga MIPS, dayon Itanium ug sa katapusan x86), ug uban pang mga mekanismo nagsugod nga gigamit alang sa pag-synchronize:

  • mga mensahe: ang matag proseso sa sistema adunay kaluha nga "landong", diin ang aktibo nga proseso kanunay nga nagpadala mga mensahe bahin sa kahimtang niini; kung ang panguna nga proseso mapakyas, ang proseso sa anino magsugod sa pagtrabaho gikan sa higayon nga gitino sa katapusang mensahe;
  • pagboto: ang sistema sa pagtipig adunay usa ka espesyal nga sangkap sa hardware nga modawat sa daghang parehas nga mga pag-access ug ipatuman lamang kini kung ang mga pag-access magkatugma; Imbis sa pisikal nga pag-synchronize, ang mga processor naglihok nga asynchronously, ug ang mga resulta sa ilang trabaho gitandi lamang sa I/O nga mga gutlo.

Sukad sa 1987, usa ka relational nga DBMS ang nagdagan sa NonStop nga plataporma - una nga SQL/MP, ug pagkahuman SQL/MX.

Ang tibuok database gibahin ngadto sa mga bahin, ug ang matag bahin maoy responsable sa kaugalingong proseso sa Data Access Manager (DAM). Naghatag kini og mga mekanismo sa pagrekord sa datos, pag-cache, ug pag-lock. Ang pagproseso sa datos gihimo pinaagi sa Executor Server Processes nga nagdagan sa parehas nga mga node sama sa katugbang nga data managers. Ang SQL/MX scheduler nagbahin sa mga buluhaton sa mga executor ug nag-aggregate sa mga resulta. Kung gikinahanglan ang paghimo sa gikasabutan nga mga pagbag-o, ang two-phase commit protocol nga gihatag sa library sa TMF (Transaction Management Facility) gigamit.

Giapod-apod nga DBMS alang sa Enterprise

Ang NonStop SQL mahimong mag-prioritize sa mga proseso aron ang taas nga analytical nga mga pangutana dili makabalda sa pagpatuman sa transaksyon. Bisan pa, ang katuyoan niini mao ang tukma nga pagproseso sa mubu nga mga transaksyon, ug dili analytics. Gigarantiyahan sa developer ang pagkaanaa sa NonStop cluster sa lebel nga lima ka "nines", nga mao, ang downtime 5 minuto ra matag tuig.

SAP-HANA

Ang una nga lig-on nga pagpagawas sa HANA DBMS (1.0) nahitabo kaniadtong Nobyembre 2010, ug ang SAP ERP nga pakete gibalhin sa HANA kaniadtong Mayo 2013. Ang plataporma gibase sa gipalit nga mga teknolohiya: TREX Search Engine (search in columnar storage), P*TIME DBMS ug MAX DB.

Ang pulong nga "HANA" mismo usa ka acronym, High performance ANalytical Appliance. Kini nga DBMS gihatag sa porma sa code nga mahimong modagan sa bisan unsang x86 server, bisan pa, ang mga instalasyon sa industriya gitugotan lamang sa mga sertipikadong kagamitan. Mga solusyon nga magamit gikan sa HP, Lenovo, Cisco, Dell, Fujitsu, Hitachi, NEC. Ang ubang mga configuration sa Lenovo nagtugot pa gani sa operasyon nga walay SAN - ang papel sa usa ka komon nga storage system gidula sa usa ka GPFS cluster sa lokal nga mga disk.

Dili sama sa mga plataporma nga gilista sa ibabaw, ang HANA usa ka in-memorya nga DBMS, i.e. ang panguna nga imahe sa datos gitipigan sa RAM, ug ang mga troso ug periodic snapshot ra ang gisulat sa disk alang sa pagbawi kung adunay katalagman.

Giapod-apod nga DBMS alang sa Enterprise

Ang matag HANA cluster node maoy responsable sa kaugalingong bahin sa datos, ug ang data map gitipigan sa usa ka espesyal nga component - Name Server, nga nahimutang sa coordinator node. Ang datos dili madoble tali sa mga node. Ang impormasyon sa pag-lock gitipigan usab sa matag node, apan ang sistema adunay global deadlock detector.

Kung ang usa ka kliyente sa HANA magkonektar sa usa ka kumpol, kini mag-download sa topology niini ug dayon maka-access sa bisan unsang node direkta, depende sa kung unsang datos ang kinahanglan niini. Kung ang usa ka transaksyon makaapekto sa datos sa usa ka node, nan kini mahimo nga ipatuman sa lokal nga node, apan kung ang datos sa daghang mga node mausab, ang pagsugod nga node makontak sa coordinator node, nga magbukas ug mag-coordinate sa gipang-apod-apod nga transaksyon, paghimo niini gamit ang usa ka na-optimize nga two-phase commit protocol.

Ang coordinator node gidoble, mao nga kung ang coordinator mapakyas, ang backup node diha-diha dayon mopuli. Apan kung ang usa ka node nga adunay data mapakyas, nan ang bugtong paagi sa pag-access sa datos niini mao ang pagsugod pag-usab sa node. Ingon sa usa ka lagda, ang mga cluster sa HANA nagmintinar sa usa ka ekstra nga server aron ma-restart ang nawala nga node niini sa labing madali.

Source: www.habr.com

Idugang sa usa ka comment