Съдържание
Касандра е база данни NoSQL мощен и мащабируем. Той е с отворен код и неговата архитектура е проектирана като разпределена система, където всички възли са еднакви в нея, като по този начин позволява да се разпределят данни във всички възли в клъстера.Съхранение в Касандра се определя като ключ / стойност където ключът може да се съпостави с една или повече стойности. Е База данни ориентирани към записи на редове, където всеки ред се идентифицира с неговия ключ и особеността на тази система е, че ред може да се съхранява в повече от един възел.
Преди да пристъпите към инсталирането на Касандра в нашата система, трябва да знаем малко за архитектурата на това База данни, по този начин ще знаем какво имаме и какво можем да постигнем.
Когато говорим за репликация на информация, един от първите въпроси, които си задаваме е: Колко копия са ни необходими? Това в Cassandra не е лесен въпрос за отговор, но това, което трябва да имаме предвид, е, че този фактор показва броя на възлите, които се съхраняват в един и същи ред.
Например коефициент на репликация 2 гарантира, че ще има две копия на информацията за възлите в клъстера. Изборът на втората стойност за фактора на репликация е добър за покриване на повреди в даден възел в средата за разработка и може да бъде минимумът за производствените среди, тъй като ако един възел слезе надолу, другият ще обработи всички заявки, така че трябва да мислим внимателно, преди да го приложите.
Пространство за клавишиКасандра ни позволява да групираме информацията в нещо, наречено ключови пространства, къде можем да кажем, че тези ключови пространства те са контейнери за информация за приложението. Клъстерът обаче има едно ключово пространство за приложение Касандра използвайте тези ключови пространства за обработка на репликация.
Семейство колониСлед като дефинираме нашия клавишно пространство, вътре в него имаме нещо, наречено семейство колони, това са контейнери еднакво, но за колекция от редове. Всеки ред е подредена колекция от колони и можем да направим аналогия по отношение на релационните бази данни, където семейство колони те са донякъде подобни на таблиците.
Стратегия за репликацияВ Касандра Има две стратегии за възпроизвеждане на информация, една от тях и тази, която вече разгледахме, е простата стратегия или SimpleStrategy който е отговорен за копирането на информацията в следващия възел, докато не бъде изпълнен дефинираният коефициент на репликация. Втората стратегия се нарича NetworkTopologyStrategy, където това е най -добрият вариант, ако искаме да разпространяваме информацията в множество центрове за данни.
Протоколът, използван от Касандра за споделяне на местоположението на възлите и се извиква информацията за тях в клъстера Клюка. Където тези възли постоянно „мрънкат“ и обменят информация с до 3 възли в клъстера.
Този протокол, подобно на други, има своите правила за изпращане на заявки до други възли, където можем да видим три стъпки за него и всеки възел винаги повтаря тези стъпки:
1- Мърморене на случаен активен възел.
2- Инициирайте шум към произволен низходящ възел.
3- Тази стъпка е незадължителна и определя, че ако възелът, избран в стъпка първа, не е начален възел, роптайте към друг случаен възлов възел.
Но за преместване на информацията и осъществяване на комуникацията между възлите Касандра използвайте компонент, наречен СничДа видим какво имаш предвид.
По принцип този компонент е отговорен за управлението на движението на информация между възли, приемайки други възли за заявки и репликация въз основа на различни показатели. Тази конфигурация е една и съща за всички възли в клъстера, но може да варира по своя тип, нека видим кои от тях имаме на разположение:
SimpleSnitchИзползва се при прости внедрявания на центрове за данни и a доносник конфигуриран по този начин не използва никаква информация от центъра за данни. Поведението му е просто и то е да намери следващия възел.
Динамично цъканеТази конфигурация следи производителността на репликите и избира най -добрата въз основа на проста метрика, която наказва дългите времена на отговор и избягва възли, които компресират вашата информация.
RackInferringSnitchТова, което прави тази конфигурация, е да използва IP адреса, за да определи местоположението на възлите, където последната част от IP идентифицира възела, втората стелажите и третата центровете за данни.
PropertyFileSnitchТова позволява дефинирането на топологията на клъстера във файл със свойства, обикновено тази конфигурация се използва, ако RackInferringSnitch не приложимо.
GossipingPropertyFileSnitchТой използва файл за свойства за първоначална конфигурация и продължава с шума, за да изпраща информация до други възли.
Инсталирането на Касандра Ще го направим в екип с Windows 8, в които трябва да отговорим на определени изисквания преди това, нека видим от какво се нуждаем:
1- Трябва да имаме поне Java 7 инсталирани в нашата система, ако нямаме такава, можем да изтеглим най -новата версия на следната връзка.
2- Освен това имаме нужда Microsoft Visual C ++ 2008 пакет за разпространение (x86).
3- Най -накрая интернет връзка за изтегляне на пакета DataStax.
След преразглеждане на нашите изисквания, ще отидем на страницата на проекта и ще потърсим 32 или 64-битовата версия, която отговаря на нашата система:
Увеличете
Ако искаме да разгледаме документацията за свързаност за Касандра С различните езици за програмиране можем да слезем надолу по страницата и да видим какво ни е необходимо за същото. След изтеглянето инсталираме като всяко приложение за Windows. Когато е важно да се спомене, че след тази инсталация, Касандра тя ще създаде група от тестове по подразбиране.С инсталацията в нашата система са инсталирани няколко инструмента, един от тях е уеб интерфейсът на Касандра обади се OpsCenter, към който можем да въведем, ако поставим в браузъра си следния адрес:
http: // localhost: 8888 / opscenter / index.htmlТози интерфейс ни позволява да правим няколко интересни неща, но не е най -оптималното за работа Касандра, но за целите на този урок е важно да го познаем, да видим какво ни предлага и по този начин да имаме отправна точка, за да започнем да познаваме структурата на базата данни.
Първото нещо, което откриваме при влизане в този интерфейс, е секцията на Табло, където можем да визуализираме различни показатели за производителност, като здраве на възела, капацитет за съхранение или заявки за запис:
Увеличете
В този интерфейс можем да създадем нов клъстер, за това отиваме в горната дясна част и натискаме Нов клъстер, което ще отвори следния екран:Въвеждаме исканите данни и кликваме върху изграждане на клъстер, в допълнение към това можем да добавим възли еднакво в падащото меню на Клъстерни действия, горе вдясно. В раздела Не давай, можем да видим наличните възли и центрове за данни, както и определени параметри като здраве, размера на данните и дори генерираните сигнали:
Увеличете
В раздела Дейности Можем да видим списък с дейностите, извършвани в клъстера, както и регистър на събития, нещо доста полезно, когато сме администратори на База данни:Увеличете
Тогава имаме най -важния раздел в нашия уеб интерфейс и това е Данни, тук можем да дефинираме нашите информационни контейнери, по -известни като ключови пространства и "таблиците" или семейства колони.За да създадете a клавишно пространство, първо трябва да отидем в раздела Данни и там изберете опцията Добавяне, въвеждаме името, стратегията за репликация, която обясняваме, че може да бъде проста или мрежова топология, и коефициента на репликация.
Спестихме и вече щяхме да създадем своя клавишно пространство, както си спомняме тези контейнери имат ключова функция в Касандра y е да дефинира фактора на репликация. С дефинирания наш контейнер ще добавим a семейство колони, за това влизаме в клавишното пространство и избираме опцията Добавяне. Тук въвеждаме името, типа на колоната и типа на сравнителя.
С това ние вече създадохме нашите семейство колониКакто можем да видим, той е изключително прост, но този интерфейс ни ограничава в много неща и е само добра отправна точка за начинаещите потребители, които искат да разберат как структурата на Касандра и как се справя с клъстери, възли, ключови пространства и семейства колони.
С това завършихме този урок, където можехме да видим каква е архитектурата Касандра, неговия протокол, компоненти и неговата инсталация. Научихме за структурата чрез уеб интерфейса, но с това само докоснахме върха на айсберга, в бъдещите уроци ще влезем изцяло с CQL и как да работите професионално Касандра.