Alibaba-ն բացել է PolarDB-ի՝ PostgreSQL-ի վրա հիմնված բաշխված DBMS կոդը:

Alibaba-ն՝ չինական խոշորագույն ՏՏ ընկերություններից մեկը, բացել է բաշխված DBMS PolarDB-ի սկզբնական կոդը՝ հիմնված PostgreSQL-ի վրա: PolarDB-ն ընդլայնում է PostgreSQL-ի հնարավորությունները բաշխված տվյալների պահպանման գործիքներով՝ ամբողջականությամբ և ACID գործարքների աջակցությամբ՝ տարբեր կլաստերային հանգույցների վրա բաշխված ամբողջ գլոբալ տվյալների համատեքստում: PolarDB-ն նաև աջակցում է բաշխված SQL հարցումների մշակմանը, սխալների հանդուրժողականությանը և ավելորդ տվյալների պահպանմանը՝ մեկ կամ մի քանի հանգույցների ձախողումից հետո տեղեկատվությունը վերականգնելու համար: Եթե ​​Ձեզ անհրաժեշտ է ընդլայնել ձեր պահեստը, կարող եք պարզապես նոր հանգույցներ ավելացնել կլաստերին: Կոդը բաց է Apache 2.0 լիցենզիայի ներքո:

PolarDB-ն բաղկացած է երկու բաղադրիչից՝ ընդլայնումներ և PostgreSQL-ի համար նախատեսված կարկատների մի շարք: Կարկատները ընդլայնում են PostgreSQL միջուկի հնարավորությունները, իսկ ընդլայնումները ներառում են PostgreSQL-ից առանձին իրականացվող բաղադրիչներ, ինչպիսիք են բաշխված գործարքների կառավարման մեխանիզմը, գլոբալ ծառայությունները, բաշխված SQL հարցումների պրոցեսորը, լրացուցիչ մետատվյալները, կլաստերի կառավարման գործիքները, կլաստերի տեղադրումը և պարզեցումը։ գոյություն ունեցող համակարգերի միգրացիան դեպի այն։

Կարկատները PostgreSQL միջուկին ավելացնում են տվյալների զուգահեռ հասանելիության վերահսկման մեխանիզմի բաշխված տարբերակը՝ օգտագործելով մուլտիվերսիան (MVCC, Multiversion concurrency control) տարբեր մեկուսացման մակարդակների համար: PolarDB-ի ֆունկցիոնալության մեծ մասը ներառված է ընդարձակման մեջ, ինչը նվազեցնում է կախվածությունը PostgreSQL-ից և հեշտացնում է PolarDB-ի վրա հիմնված լուծումների թարմացումն ու իրականացումը (դա հեշտացնում է PostgreSQL-ի նոր տարբերակների անցումը և լիարժեք համատեղելիության պահպանումը PostgreSQL-ի հետ): Կլաստերը կառավարելու համար օգտագործվում է pgxc_ctl գործիքակազմը, որը հիմնված է PostgreSQL-XC-ի և PostgreSQL-XL-ի նմանատիպ օգտակար ծրագրի վրա:

Կլաստերում կան երեք հիմնական բաղադրիչ՝ տվյալների բազայի հանգույցներ (DN), կլաստերի կառավարիչ (CM) և գործարքների կառավարման ծառայություն (TM): Բացի այդ, կարող է օգտագործվել պրոքսի բեռի հավասարակշռիչ: Յուրաքանչյուր բաղադրիչ առանձին գործընթաց է և կարող է գործարկվել այլ սերվերի վրա: Տվյալների բազայի հանգույցները սպասարկում են SQL հարցումներ հաճախորդներից և միևնույն ժամանակ գործում են որպես բաշխված հարցումների կատարման համակարգողներ՝ տվյալների բազայի այլ հանգույցների մասնակցությամբ: Կլաստերների կառավարիչը վերահսկում է տվյալների բազայի յուրաքանչյուր հանգույցի վիճակը, պահպանում է կլաստերի կազմաձևումը և տրամադրում է գործիքներ՝ կառավարելու, կրկնօրինակելու, բեռների հավասարակշռման, թարմացման, գործարկման և դադարեցման հանգույցները: Գործարքների կառավարման ծառայությունը պատասխանատու է ամբողջ կլաստերի ընդհանուր ամբողջականության պահպանման համար:

Alibaba-ն բացել է PolarDB-ի՝ PostgreSQL-ի վրա հիմնված բաշխված DBMS կոդը:

PolarDB-ն հիմնված է Shared-nothing բաշխված հաշվողական ճարտարապետության վրա, ըստ որի՝ տվյալները բաշխվում են տարբեր հանգույցների վրա պահելու ժամանակ՝ առանց բոլոր հանգույցների համար ընդհանուր պահեստ օգտագործելու, և յուրաքանչյուր հանգույց պատասխանատու է իր հետ կապված տվյալների մասի համար և կատարում է հարցումներ։ տվյալներին։ Յուրաքանչյուր աղյուսակ բաժանվում է մասերի (sharding)՝ օգտագործելով հեշինգ՝ հիմնված հիմնական բանալիի վրա: Եթե ​​հարցումն ընդգրկում է տարբեր հանգույցների վրա տեղակայված տվյալները, ապա բաշխված գործարքի կատարման մեխանիզմը և գործարքի համակարգողը ակտիվանում են՝ ապահովելու ատոմականությունը, հետևողականությունը, մեկուսացումը և հուսալիությունը (ACID):

Սխալների հանդուրժողականությունն ապահովելու համար յուրաքանչյուր հատվածը կրկնօրինակվում է առնվազն երեք հանգույցի: Ռեսուրսները խնայելու համար ամբողջական տվյալները ներառում են միայն երկու կրկնօրինակներ, և մեկը սահմանափակվում է հետգրման մատյան (WAL) պահպանմամբ։ Ամբողջական կրկնօրինակներով երկու հանգույցներից մեկն ընտրվում է որպես առաջատար և մասնակցում հարցումների մշակմանը: Երկրորդ հանգույցը գործում է որպես պահեստային տվյալ տվյալ հատվածի համար, իսկ երրորդը մասնակցում է առաջատար հանգույցի ընտրությանը և կարող է օգտագործվել ամբողջական կրկնօրինակներով երկու հանգույցների ձախողման դեպքում տեղեկատվությունը վերականգնելու համար: Կլաստերային հանգույցների միջև տվյալների վերարտադրությունը կազմակերպվում է Paxos ալգորիթմի միջոցով, որն ապահովում է կոնսենսուսի հետևողական սահմանում պոտենցիալ անվստահելի հանգույցներով ցանցում:

Նշվում է, որ PolarDB DBMS-ի ամբողջական ֆունկցիոնալությունը նախատեսվում է բացահայտել երեք թողարկումներում. առաջին տարբերակում կհրապարակվեն կրկնօրինակման, բարձր հասանելիության և կլաստերի կառավարման գործիքներ: Երկրորդ թողարկումը կներկայացնի բաշխված գործարքների կատարման համակարգ, որն աջակցում է խաչաձեւ հանգույցների ACID և բաշխված SQL կատարումը: Երրորդ թողարկումը կներառի պլագին PostgreSQL-ի համար և գործիքներ՝ տվյալների ճկուն բաշխման համար հանգույցներում, ներառյալ հատվածների հարմարվողական տեղաբաշխումը՝ օպտիմալ կատարման հասնելու համար և կլաստերը ընդլայնելու հնարավորություն՝ ավելացնելով նոր հանգույցներ:

Source: opennet.ru

Добавить комментарий