Ինչպես է աշխատում բաժանումը PostgreSQL-ում մեքենայի տակ?
sobes.tech AI
Պատասխան AI-ից
PostgreSQL-ում բաժանարարումը իրականացնում է ծնողական և երեխայական աղյուսակների կոնցեպցիայի միջոցով (partitioned tables և partitions): Մեքենայի տակ, երբ ստեղծվում է բաժանարար աղյուսակ, ստեղծվում է ծնողական աղյուսակ առանց տվյալների, իսկ տվյալները ֆիզիկապես պահվում են երեխայական աղյուսակներում, որոնք համապատասխան են որոշակի տիրույթին կամ արժեքների ցանկին (range/list partitioning):
Երբ գալիս է ներմուծման կամ ընտրության հարցում, հարցերի պլանավորիչը որոշում է, թե տվյալները որ բաժանմունքում են, օգտագործելով բաժանման կանոնները: Սա թույլ է տալիս զգալիորեն կրճատել սկանավորելի տվյալների ծավալը և բարելավել կատարողականությունը:
Օրինակ՝ եթե կա պատվերների աղյուսակ, որը բաժանված է ամսաթվի վրա, ապա կոնկրետ ամսվա պատվերների հարցումները միայն կապվում են համապատասխան բաժանմունքի հետ, ոչ թե ամբողջ աղյուսակին:
Ներքին, PostgreSQL-ը օգտագործում է ժառանգականություն և տրիգերներ տվյալների ուղարկման համար, և տարբերակ 10-ից սկսած՝ ավելի օպտիմալ մեխանիզմ՝ դեկլարատիվ բաժանման աջակցությամբ։