Бази от данни

SQL Saturday във Варна

0

SQLSAT384_header

За всички любители на MS SQL Server и базите от данни като цяло, на 30-ти май 2015 във Варна ще се проведе таз годишното издание на SQL Saturday. Тук можете да се регистратирате абсолютно безплатно, както и да намерите повече информация за събитието.
До скоро!

Share

Безплатни онлайн курсове от MongoDB University

4

mongodb
Наскоро, благодарение на един колега, научих за организация, наречена MongoDB University.

Университетът предоставя възможност на любителите на МонгоДБ да се възползват от безплатни онлайн курсове. При успешно завършване, всеки курсист получава сертификат.

Курсовете са подходящи, както за разработчици, така и за администратори на бази от данни. За повече информация, кликнете тук. Успех!

Share

MongoDB и нерелационните бази от данни

0

mongodb-iconbox-mongodbpng-32xpgexqПрез последните няколко години все повече популярност придобиха нерелационните бази от данни. Възникнаха и много противоречиви мнения по въпроса дали NoSLQ (Not only SQL) базите от данни ще изместят, така популярните от десетки години насам, релационни бази от данни (SQL).

Така или иначе и двете технологии имат своите предимства и недостатъци. Както обичам да казвам – няма лоша или добра технология. Всичко зависи от ситуацията и обстоятелствата, при които е прилагана и начинa на нейното имплементиране.

Ще се опитам накратко да разкажа, според мен, кога е добре да се използват нерелационни бази от данни или по-конкретно MongoDB и какви са неговите предимства спрямо стандартния SQL.

Предимства
Едно от основните предимства на този вид бази от данни е тяхното бързодействие на обработка на информацията. Самата тя се съхранява в колекции, които се състоят от отделни документи, като всеки един от тях представлява валиден JSON обект. Тъй като няма връзки между отделните колекции, не е необходимо да се извършват сложни операции по сглобяване на изискваната информация, което от своя страна води и до повишаване на ефективността и бързодействието. При SQL многобройните JOIN операции изискват допълнителни ресурси за обработка и сглобяване на крайната информация.

exampleNoSQL базите от данни са изключително гъвкави и лесно скалируеми. Тяхно предимство е, че могат лесно да бъдат разширявани хоризонтално, докато гъвкавостта на стандартните SQL бази от данни, е лесно манипулираната им вертикална структура.
Например, в една и съща колекция могат да бъдат съхранени обекти, които нямат нищо общо със съседните им. Решавате, че новият JSON обект, който искате да добавите трябва да има допълнителна двойка ключ-стойност и го добавяте без проблем. Не е необходимо да слагате новите стойности и на останалите документи в колекцията. Обратно на това, при SQL добавянето на нова колона в релацията своевременно води и до добавянето и за всички останали записи в нея, било то с празни или стойности по подразбиране.

Репликация
Репликацията на базата от данни при MongoDB се реализира сравнително лесно – едно от следващите предимства. Поддържат се няколко модела на репликация – Master – Slave, Replica Set и Primary Election.

При Master – Slave модела, който е основен, базата от данни е репликирана и на двата сървъра, като Read операциите се изпълняват от Slave-a, а останалите – Write заявки се изпълняват от Master-a. Необходимо е и двата сървъра да бъдат синхронизирани във всеки един момент. Този модел е изключително гъвкав и е подходящ при backup, failover, read scaling и други.

Replica Set е всъщност Master – Slave модел с автоматичен failover. Най-значителната разлика е, че Replica Set-a не се състои от един единствен Master. Когато той не може да бъде достъпен поради някаква причина, клъстерът избира нов Master, който иззема функциите на предишния. Така или иначе, Replica Set винаги се състои от един Master (наричан Primary) и един или няколко Slave-a (наричани Secondaries).

При Primary Election модела е важно да се отбележи, че ако Primary сървърът в клъстера не може да бъде достъпен в някакъв момент, тогава всички останали правят “избори” и решават кой ще бъде новият Master. Този процес може да бъде иницииран от всеки един от Secondary сървърите, които не могат да достъпят основния модул. Победителят бива избран от множеството гласове. Реализирането се осъществява с помощта на арбитър. Взема се под внимание и кой от останалите Secondary модули е бил актуализиран най-скоро. Новият Primary node получава най-високия приоритет.

election

Приложение
Нерелационните бази от данни са подходящи за съхраняване на статистичека информация, анализи и др. При наличие на голям обем от данни, които реално нямат връзка с останалите колекции. Силата на този тип бази от данни е в това да бъдат прилагани без наличие на сложни взаимовръзки. Неправилно би било, ако се симулират по някакъв начин външни връзки или препратки с други колекции, както е при стандартните релационни бази от данни.
NoSQL базите от данни не са подходящи за сложни банкови операции, тъй като не поддържат транзакции.

Надявам се инфромацията да ви е била полезна. До скоро!

Share
Go to Top