Програмери СКЛите пројекта почели су да тестирају експериментални ХЦтрее бацкенд који подржава закључавање на нивоу реда и обезбеђује висок ниво паралелизације приликом обраде упита. Нови бацкенд има за циљ побољшање ефикасности коришћења СКЛите-а у клијент-сервер системима који морају да обрађују велики број истовремених захтева за писање у базу података.
Структуре б-стабла које се изворно користе у СКЛите-у за складиштење података нису дизајниране за ову врсту оптерећења, што ограничава СКЛите да уписује само једну нит. Као експеримент, програмери су почели да развијају алтернативно решење које користи структуре ХЦ-стабла за складиштење, које су погодније за паралелизацију операција писања.
Да би се омогућило истовремено покретање више операција, ХЦтрее запис користи механизам партиционирања трансакција који користи закључавање на нивоу странице и сличан је МВЦЦ-у (Цонцурренци Мулти-Версион Цонтрол), али користи провере трансакција на основу кључева и опсега кључева уместо скупова страница. Операције читања и писања се изводе у вези са снимком базе података, чије промене постају видљиве у главној бази података тек након што се трансакција заврши.
Клијенти могу да користе три отворене трансакције:
- „БЕГИН“—трансакције не узимају у обзир приступне податке других клијената. Ако се операције писања изводе у оквиру трансакције, трансакција може бити урезана само ако током њеног извршавања није било других операција писања у бази података.
- „БЕГИН ЦОНЦУРРЕНТ“ – трансакције прикупљају информације о приступу других клијената. Ако се операције писања изводе у оквиру трансакције, трансакција може бити урезана ако су друге трансакције урезане у бази података од креирања снимка.
- „ЗАПОЧНИ ЕКСКЛУЗИВНО“ - након отварања трансакције блокира операције других трансакција док се не заврши.
ХЦтрее подржава мастер-славе репликацију, омогућавајући да се трансакције премештају у другу базу података и одржавају секундарне базе података у синхронизацији са примарном базом података. ХЦтрее такође уклања ограничење величине базе података – уместо 32-битних идентификатора страница са подацима, ХЦтрее користи 48-битне, што повећава максималну величину базе података са 16 тебибајта на 1 ексбибајт (милион тебибајта). Очекује се да перформансе СКЛите-а са ХЦтрее позадином неће бити ниже од класичног једнонитног позадина. СКЛите клијенти са подршком за ХЦтрее ће моћи да приступе и базама података заснованим на ХЦ стаблу и старим СКЛите базама података.
Извор: опеннет.ру