Напредно руковање столовима на Касандри

Преглед садржаја
У претходне водиче са којима смо у потпуности ушли ЦКЛ и начин на који нам помаже да се снађемо Цассандра, видели смо основне операције за кључни простори и табеле на Касандри, могли бисмо их применити за стварање почетне структуре у бази података, међутим постоји знатна количина напредних концепата које морамо знати да бисмо извукли максимум из Касандре.
Ови концепти или карактеристике да их на неки начин назовемо, омогућавају нам да постигнемо различите функционалности у нашим табелама, дајући нам низ могућности много већих од осталих. НоСКЛ база података.
Раније смо креирали неке табеле и користили вредности попут текста или датума за наше колоне, али то није све ЦКЛ има на располагању, да видимо врсте података које имамо за наше операције:
асцииНиз знакова УС-АСЦИИ.
бигинт64-битна цела вредност.
мрљаТип података изражен као хексадецимални у командној конзоли датотеке ЦКЛОсим тога, нема ваљаност и заснива се на произвољним бајтовима.
боолеанКласични логички тип података где његове вредности могу бити тачне или нетачне.
цоунтербројач је нови тип података за нас који долазимо из света односа и указује на то да је 64-битни дистрибуирани.
децималанДруга врста података коју можемо препознати, а која нам даје децималну прецизност за информације.
дуплоТип података са покретном тачком, али заснован на 64 бита.
пловакКао и претходни, то је тип података са покретним зарезом, али заснован на 32 бита.
инетОвај тип је прилично специфичан и врло користан у исто време и омогућава нам да складиштимо низ знакова ИП адресе, подржава и формат ИПВ4 Шта ИПВ6.
интКласични целобројни тип података који подржава бројеве до 32 бита.
листаДруга врста података која дебитује на Касандри и омогућава нам складиштење наручене збирке елемената.
МапаКао и листа, то је још једна врста нових података и омогућава нам складиштење асоцијативног низа, што је врло корисно за развој апликација.
комплетСлично типу података са листе, она складишти збирку ставки, али не одређеним редоследом.
текстПохрањује кодирани низ знакова.
временска ознакаТип података који складишти датум и време, кодиран као 8-бајтни цео број.
варинтПрецизни тип података за произвољне целе бројеве.
Као што видимо, постоји много врста података које можемо препознати ако долазимо из света односа, попут других које ћемо видети први пут и које чине Цассандра истиче изнад осталих база података.
Ин Цассандра немамо само типове података за наше табеле, захваљујући ЦКЛ Можемо доделити табеле у оквиру својстава базе података које нам изузетно помажу у задацима одржавања и развоја, да видимо шта имамо на располагању.
КеширањеОво својство нам даје оптимизацију кеш меморије. Доступни нивои за ову некретнину су тамо или сви, кључеви_само или само кључеви, редови_само или само редови и ниједан или ниједан. Међутим, све опције су врло корисне ред_само мора се пажљиво користити као Цассандра ставити значајну количину података у меморију када се користи та опција.
КоментарОпција која је присутна у релационом моделу, а коју користе администратори или програмери за прављење белешки и истицање важних детаља у табелама.
СабијањеОво својство омогућава дефинисање стратегије за управљање Нана, могу бити следећих врста: Прва СизеТиеред који се покреће када табела пређе ограничење, предност коришћења ове стратегије је што не умањује перформансе писања, међутим има недостатак што повремено користи двоструко већу величину података на диску, што доводи до лоших перформанси читање. Друга стратегија је ЛевеледЦомпацтион и временом функционише на различитим нивоима, спајајући столове са дужим, што резултира прилично добрим перформансама читања.
КомпресијаОво својство одређује како ће се информације компримирати. Можемо изабрати да остваримо предности у брзини или простору, при чему је већа брзина, мање простора на диску се штеди.
Гц_граце_сецондсОво својство дефинише време чекања за уклањање информација са надгробних споменика. Подразумевано је 10 дана.
Популате_ио_цацхе_он_флусхОво својство је подразумевано онемогућено и требало би да га активирамо само ако се надамо да ће све информације стати у кеш меморију.
Реад_репаир_цханцеВрло занимљиво својство које означава број између 0 и 1.0 који одређује вероватноћу поправљања информација када се кворум не достигне. Подразумевана вредност је 0,1.
Реплицате_он_вритеОво својство се односи само на табеле типа цоунтер. Када су дефинисане, реплике пишу у све погођене реплике, занемарујући наведени ниво конзистентности.
Дакле, већ знамо шта имамо, и на нивоу типова података и својстава, време је да применимо неке ствари научене на наше табеле у Цассандра.
Прво ћемо створити једноставну табелу на коју ћемо применити својство коментара, да видимо синтаксу коју ћемо за њу користити:
 ЦРЕАТЕ ТАБЛЕ Артицлес (наслов текста, садржај текста, категорија текста, ПРИМАРНИ КЉУЧ (наслов)) ВИТХ цоммент = 'Табела за складиштење информација о чланку';
Отварамо командну конзолу ЦКЛ и креирамо нашу табелу са поменутим својством, да видимо како то изгледа:

Као што већ знамо, командна конзола не враћа ништа осим што нема грешке, али ако желимо да видимо ове промене можемо ићи на ОпсЦентер и проверите да ли је све прошло како треба:

ЕНЛАРГЕ

Као што видимо, можемо видети наш коментар и друга својства са њиховим подразумеваним вредностима. Важно је напоменути да је дефиниција остатка својстава у Цассандра прилично је једноставно, као што смо могли видети у претходном примеру, користећи синтаксу ВИТХ можемо то учинити без икаквих проблема.
Извешћемо још један пример где ћемо дефинисати својства компресија И збијање али за ово је важно знати да имају низ подопција за своју употребу, хајде да видимо компресија које треба да знамо:
Сстабле_цомпрессионОва опција наводи алгоритам компресије који ће се користити, његове вредности су: ЛИ4Цомпрессор, СнаппиЦомпрессор, И ДефлатеЦомпрессор.
Цхунцк_ленгтх_кбТабеле су компримоване блоковима. Дуже вредности генерално обезбеђују бољу компресију, али повећавају величину података за читање. Подразумевано је ова опција постављена на 64 кб.
Манипулација опцијама компресије може довести до значајног повећања перформанси, укључујући многе имплементације Цассандра Они су са тим подразумеваним вредностима, али за савршенство је потребно користити ове вредности. Погледајмо сада шта морамо знати сабијање:
ОмогућеноОдређује да ли ће се својство изводити у табели иако подразумевано сва својства имају збијање омогућено.
КласаОвде ћемо дефинисати врсту стратегије руковања табелама.
мин_тхресхолдОва вредност је доступна са стратегијом СизеТиеред и представља минимални број табела потребних за почетак процеса сабијања. Подразумевано је дефинисано на 4.
мак_тхресхолдДоступно на исти начин у стратегији СизеТиеред и дефинише највећи број табела обрађених у компакту. Подразумевано је дефинисано на 32.
Ово су неке од најважнијих опција за ова својства, оно што је важно напоменути је да за дефиницију ових опција морамо користити синтаксу ЈСОН Да бисмо били валидни, погледајмо пример укључивања ова два својства:
 ЦРЕАТЕ ТАБЛЕ табле_фор_пропертиес (инт ид, назив текста, својство текста, број варијанте, ПРИМАРИ КЕИ (ид)) ВИТХцомпрессион = {'сстабле_цомпрессион': 'ДефлатеЦомпрессор', 'цхунк_ленгтх_кб': 64} АНДцомпацтион = {'цласс': 'СизеТиередЦомпацтионСтратеги 'мин_тхресхолд': 6};
Као што видимо, променили смо тип компресије и дефинисали величину за њу, додатно за збијање оставили смо уобичајену стратегију са вредношћу класа и дефинисали смо мин_тхресхолд попут 6 је повећало подразумевану вредност овако, да завршимо да видимо како ово изгледа када је извршимо у нашој командној конзоли:

У прошлом водичу смо могли видети да су као резултат дефинисања више од једног примарног кључа они створени као тастери за груписање и реци нам пут Цассандра сортира информације, према заданим поставкама редослијед је дефиниран узлазним редослиједом и постављање упита у опадајућем редослиједу могло би узроковати проблеме с перформансама, међутим Цассандра има рјешење за сваки проблем и то је са реченицом КЛАСИРАЊЕ ***** ПО. Хајде да видимо како га користити.
 ЦРЕАТЕ ТАБЛЕ ордер_усерс (кориснички текст, временска ознака датума, флуктуирана плата, текст одељења, текст надзорника, ПРИМАРНИ КЉУЧ (корисник, датум)) СА КЛАСИРАЊЕМ ***** БИ (датум ДЕСЦ);
Покренимо синтаксу у командној конзоли и видимо како изгледа:

Као што смо могли видети, било је прилично лако решити овај проблем само једноставном линијом, али што је још важније, успели смо да проширимо своје знање о руковању табелама у Цассандра, којим смо завршили овај водич, где смо обухватили све што треба да знамо за оптимално креирање табела у Цассандра.
wave wave wave wave wave