Ունեցեք հիանալի ուրբաթ բոլորին: Դասընթացի մեկնարկին գնալով ավելի քիչ ժամանակ է մնում
Զարգացման փուլում
PostgreSQL 10-ում մենք տեսանք «դեկլարատիվ բաժանման» ծնունդը՝ մի հատկություն, որը նախատեսված էր լուծելու բազմաթիվ խնդիրներ, որոնք անլուծելի էին հին ժառանգական մեթոդի միջոցով: Սա հանգեցրեց շատ ավելի հզոր գործիքի, որը թույլ տվեց մեզ բաժանել տվյալները հորիզոնական:
Առանձնահատկությունների համեմատություն
PostgreSQL 11-ը ներկայացնում է նոր հնարավորությունների տպավորիչ շարք, որոնք օգնում են բարելավել կատարողականը և բաժանված աղյուսակները ավելի թափանցիկ դարձնել հավելվածների համար:
1. Օգտագործելով սահմանափակող բացառություններ
2. Ավելացնում է միայն հանգույցներ
3. Միայն բաժանված աղյուսակի համար, որը հղում է կատարում չբաժանվածին
4. Ինդեքսները պետք է պարունակեն բաժանման բոլոր հիմնական սյունակները
5. Երկու կողմերի հատվածների սահմանափակումները պետք է համապատասխանեն
Արտադրողականություն
Մենք նաև լավ նորություն ունենք այստեղ։ Ավելացվեց նոր մեթոդ WHERE
. Նախորդ ալգորիթմն իր հերթին ստուգում էր յուրաքանչյուր բաժին՝ որոշելու, թե արդյոք այն կարող է բավարարել պայմանը WHERE
. Սա հանգեցրեց պլանավորման ժամանակի հավելյալ ավելացմանը, քանի որ բաժինների քանակն ավելացավ:
9.6-ում, ժառանգության միջոցով բաժանման դեպքում, զուգարանները միջնորմների մեջ ուղղորդելը սովորաբար արվում էր՝ գրելով ձգանման ֆունկցիա, որը պարունակում էր մի շարք IF հայտարարություններ՝ բազմապատիկը ճիշտ բաժանման մեջ տեղադրելու համար: Այս գործառույթները կարող են շատ դանդաղ կատարել: 10-րդ տարբերակում ավելացված դեկլարատիվ բաժանման դեպքում սա շատ ավելի արագ է աշխատում:
Օգտագործելով 100 բաժանմունքներով բաժանված աղյուսակը, մենք կարող ենք գնահատել 10 միլիոն տողերի բեռնման արդյունավետությունը 1 BIGINT սյունակով և 5 INT սյունակներով աղյուսակում:
Այս աղյուսակի հարցումների կատարումը՝ մեկ ինդեքսավորված գրառում գտնելու և մեկ գրառումը շահարկելու համար DML գործարկելու համար (օգտագործելով ընդամենը 1 պրոցեսոր).
Այստեղ մենք կարող ենք տեսնել, որ յուրաքանչյուր գործողության կատարումը զգալիորեն աճել է PG 9.6-ից հետո: հարցումներ SELECT
շատ ավելի լավ տեսք ունեն, հատկապես նրանք, որոնք ի վիճակի են բացառել բազմաթիվ միջնորմներ հարցումների պլանավորման ժամանակ: Սա նշանակում է, որ ժամանակացույցը կարող է բաց թողնել շատ աշխատանք, որը պետք է արած լիներ նախկինում: Օրինակ՝ ավելորդ հատվածների համար այլևս արահետներ չեն կառուցվում։
Ամփոփում
Աղյուսակների բաժանումը սկսում է դառնալ PostgreSQL-ի շատ հզոր հատկանիշ: Այն թույլ է տալիս արագորեն առցանց բերել տվյալները և դրանք դուրս բերել առանց սպասելու դանդաղ, զանգվածային DML գործողությունների ավարտին:. Սա նաև նշանակում է, որ հարակից տվյալները կարող են պահպանվել միասին, ինչը նշանակում է, որ ձեզ անհրաժեշտ տվյալները կարող են շատ ավելի արդյունավետ մուտք գործել: Այս տարբերակում կատարված բարելավումները հնարավոր չէին լինի առանց մշակողների, վերանայողների և հանձնակատարների, ովքեր անխոնջ աշխատել են այս բոլոր հատկանիշների վրա:
Շնորհակալություն նրանց բոլորին: PostgreSQL 11-ը ֆանտաստիկ տեսք ունի:
Ահա այսպիսի կարճ, բայց բավականին հետաքրքիր հոդված. Կիսվեք ձեր մեկնաբանություններով և մի մոռացեք գրանցվել
Source: www.habr.com