Издање рклите 7.0, дистрибуираног ДБМС-а отпорног на грешке заснованог на СКЛите-у

Дошло је до издавања дистрибуираног ДБМС рклите 7.0, који користи СКЛите као механизам за складиштење и омогућава вам да организујете рад кластера из складишта синхронизованих једни са другима. Једна од карактеристика рклите-а је лакоћа инсталације, примене и одржавања дистрибуираног складишта отпорног на грешке, донекле сличног етцд и Цонсул-у, али користећи релациони модел података уместо формата кључ/вредност. Код пројекта је написан у Го и дистрибуиран под МИТ лиценцом.

Да би сви чворови били у синхронизованом стању, користи се Рафт консензус алгоритам. Рклите користи оригиналну СКЛите библиотеку и го-склите3 драјвер, на врху којих се покреће слој који обрађује захтеве клијената, врши репликацију на друге чворове и прати постизање консензуса о избору водећег чвора.

Промене у бази података може да изврши само чвор који је изабран као лидер, али везе са операцијама писања могу да се шаљу и другим чворовима у кластеру, који ће вратити адресу лидера за понављање захтева (у следећој верзији они обећање додавања аутоматског прослеђивања захтева лидеру). Главни нагласак је на толеранцији грешака, тако да се ДБМС скалира само са операцијама читања, а операције писања су уско грло. Могуће је покренути рклите кластер са једног чвора и ово решење се може користити за обезбеђивање приступа СКЛите-у преко ХТТП-а без обезбеђивања толеранције грешака.

СКЛите подаци на сваком чвору се не чувају у датотеци, већ у меморији. На нивоу слоја са имплементацијом Рафт протокола води се дневник свих СКЛите команди које доводе до промена у бази података. Овај дневник се користи током репликације (репликација на нивоу захтева за репродукцију на другим чворовима), приликом покретања новог чвора или за опоравак од губитка везе. Да би се смањила величина дневника, користи се аутоматско паковање, које почиње након одређеног броја измена и доводи до фиксирања снимка, у односу на који почиње да се одржава нови дневник (стање базе података у меморији је идентично снимку + акумулирани дневник промена).

Карактеристике рклите-а:

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

У новом издању:

  • Додата подршка за аутоматско рклите кластерисање користећи нову услугу детекције чворова која може да ради на основу Цонсул и етцд дистрибуираног складишта. Услуга омогућава рклите чворовима да се аутоматски пронађу – администратор само треба да покрене неколико чворова на различитим серверима, наводећи заједничку адресу кластера Цонсул или етцд (на пример, “екампле.цом:8500”), а чворови ће аутоматски бити комбиновани у кластер. Водећи чвор периодично ажурира информације о својој адреси у складишту Цонсул или етцд, што вам омогућава да накнадно промените лидера без потребе да поново конфигуришете друге чворове, као и да додате нове чворове чак и након промене лидера. Застарела услуга режима откривања која ради на АВС Ламбда је укинута.
  • ЦЛИ интерфејс омогућава навођење неколико хостова одједном - ако је први чвор недоступан, биће контактирани следећи хостови.
  • Код за рашчлањивање аргумената командне линије рклитед је прерађен.
  • Застарели протобуф пакет је укинут.
  • БолтДБ складиште које се користи у имплементацији Рафт протокола замењено је бболт, виљушком из етцд пројекта.

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

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