СКЛите програмери развијају позадину ХЦ-стабла са подршком за паралелно уписивање

Програмери СКЛите пројекта почели су да тестирају експериментални ХЦтрее бацкенд који подржава закључавање на нивоу реда и обезбеђује висок ниво паралелизације приликом обраде упита. Нови бацкенд има за циљ побољшање ефикасности коришћења СКЛите-а у клијент-сервер системима који морају да обрађују велики број истовремених захтева за писање у базу података.

Структуре б-стабла које се изворно користе у СКЛите-у за складиштење података нису дизајниране за ову врсту оптерећења, што ограничава СКЛите да уписује само једну нит. Као експеримент, програмери су почели да развијају алтернативно решење које користи структуре ХЦ-стабла за складиштење, које су погодније за паралелизацију операција писања.

Да би се омогућило истовремено покретање више операција, ХЦтрее запис користи механизам партиционирања трансакција који користи закључавање на нивоу странице и сличан је МВЦЦ-у (Цонцурренци Мулти-Версион Цонтрол), али користи провере трансакција на основу кључева и опсега кључева уместо скупова страница. Операције читања и писања се изводе у вези са снимком базе података, чије промене постају видљиве у главној бази података тек након што се трансакција заврши.

Клијенти могу да користе три отворене трансакције:

  • „БЕГИН“—трансакције не узимају у обзир приступне податке других клијената. Ако се операције писања изводе у оквиру трансакције, трансакција може бити урезана само ако током њеног извршавања није било других операција писања у бази података.
  • „БЕГИН ЦОНЦУРРЕНТ“ – трансакције прикупљају информације о приступу других клијената. Ако се операције писања изводе у оквиру трансакције, трансакција може бити урезана ако су друге трансакције урезане у бази података од креирања снимка.
  • „ЗАПОЧНИ ЕКСКЛУЗИВНО“ - након отварања трансакције блокира операције других трансакција док се не заврши.

ХЦтрее подржава мастер-славе репликацију, омогућавајући да се трансакције премештају у другу базу података и одржавају секундарне базе података у синхронизацији са примарном базом података. ХЦтрее такође уклања ограничење величине базе података – уместо 32-битних идентификатора страница са подацима, ХЦтрее користи 48-битне, што повећава максималну величину базе података са 16 тебибајта на 1 ексбибајт (милион тебибајта). Очекује се да перформансе СКЛите-а са ХЦтрее позадином неће бити ниже од класичног једнонитног позадина. СКЛите клијенти са подршком за ХЦтрее ће моћи да приступе и базама података заснованим на ХЦ стаблу и старим СКЛите базама података.

Извор: опеннет.ру

Додај коментар