Баршаңызға жұма мүбәрәк болсын! Курстың басталуына аз уақыт қалды
Даму сатысында
PostgreSQL 10 жүйесінде біз «декларативті бөлудің» пайда болуын көрдік, бұл ескі мұра әдісін қолдану арқылы шешілмейтін көптеген мәселелерді шешуге арналған мүмкіндік. Бұл деректерді көлденең бөлуге мүмкіндік беретін әлдеқайда күшті құралға әкелді!
Ерекшеліктерді салыстыру
PostgreSQL 11 өнімділікті жақсартуға және қолданбаларға бөлінген кестелерді мөлдір етуге көмектесетін әсерлі жаңа мүмкіндіктер жинағын ұсынады.
1. Шектеулі ерекшеліктерді пайдалану
2. Тек түйіндерді қосады
3. Бөлінбеген кестеге сілтеме жасайтын бөлінген кесте үшін ғана
4. Индекстерде бөлімнің барлық негізгі бағандары болуы керек
5. Екі жақтағы бөлім шектеулері сәйкес келуі керек
өнімділік
Мұнда да жақсы жаңалығымыз бар! Жаңа әдіс қосылды WHERE
. Алдыңғы алгоритм, өз кезегінде, шартты қанағаттандыра алатынын анықтау үшін әрбір бөлімді тексерді WHERE
. Бұл бөлімдер санының артуына байланысты жоспарлау уақытының қосымша ұлғаюына әкелді.
9.6-да мұра арқылы бөлу арқылы кортеждерді бөлімдерге бағыттау әдетте кортежді дұрыс бөлімге кірістіру үшін IF операторларының қатарын қамтитын триггер функциясын жазу арқылы орындалды. Бұл функциялардың орындалуы өте баяу болуы мүмкін. 10-нұсқада қосылған декларативті бөліммен бұл әлдеқайда жылдам жұмыс істейді.
100 бөлімдері бар бөлінген кестені пайдалану арқылы біз 10 BIGINT бағаны және 1 INT бағандары бар кестеге 5 миллион жолды жүктеу өнімділігін бағалай аламыз.
Бір индекстелген жазбаны табу және бір жазбаны өңдеу үшін DML орындау үшін осы кестені сұрау өнімділігі (тек 1 процессорды пайдалану):
Мұнда біз әрбір операцияның өнімділігі PG 9.6-дан кейін айтарлықтай өскенін көреміз. Сұраулар SELECT
әлдеқайда жақсы көрінеді, әсіресе сұрауды жоспарлау кезінде бірнеше бөлімдерді алып тастай алатындар. Бұл жоспарлаушы бұрын істеуі керек көптеген жұмыстарды өткізіп жібере алатынын білдіреді. Мысалы, қажетсіз бөлімдер үшін жолдар енді салынбайды.
қорытынды
Кестені бөлу PostgreSQL-те өте қуатты мүмкіндікке айнала бастады. Ол баяу, ауқымды DML операцияларының аяқталуын күтпей-ақ, деректерді желіде жылдам көрсетуге және оны желіден тыс күйге келтіруге мүмкіндік береді.. Бұл сондай-ақ қатысты деректердің бірге сақталуы мүмкін екенін білдіреді, яғни сізге қажет деректерге әлдеқайда тиімдірек қол жеткізуге болады. Осы нұсқада жасалған жақсартулар осы мүмкіндіктердің барлығында тынымсыз жұмыс істеген әзірлеушілер, рецензенттер және комиссияларсыз мүмкін болмас еді.
Олардың барлығына рахмет! PostgreSQL 11 керемет көрінеді!
Міне, осындай қысқа, бірақ өте қызықты мақала. Пікірлеріңізді бөлісіңіз және тіркелуді ұмытпаңыз
Ақпарат көзі: www.habr.com