В първата и втората част на тази поредица от блогове видяхме някои основни разлики между мащабируемостта на релационните и нерелационните бази данни. В тази публикация ще ви покажа как да използвате правилно тези бази данни и ще ви разкажа за някои добре познати компании, които използват тези бази данни.
Релационна база данни
В първата част на тази серия от блогове говорих за свойствата на КИСЕЛИНИ. Тези свойства са важни за поддържане на тясна транзакционна интеграция. Има някои индустрии като банкиране, търговия на дребно и т.н., където всяка транзакция изисква свойства на ACID. При банкови транзакции, ако една сметка е кредитирана, друга трябва да бъде дебитирана. Частичната актуализация никога не е разрешена, тъй като ще повлияе на целостта на данните — Oracle, SQL Server, MySQL и други RDBMS се използват в този сценарий.
Нерелационна база данни (NoSQL DB)
В първата част на тази серия от блогове говорих и за свойствата на BASE. Те са важни за поддържане на последователност на данните във всички възли в базата данни. Всяка информация, която не изисква стриктна цялост на данните, може да се съхранява в NoSQL DB. Например, съдържанието на система за търсачки може да се съхранява в нерелационна база данни, тъй като е лесно да се извлича информация бързо. Добър пример за система за търсачки е Google. Google обикновено съхранява своите кеширани уеб страници в уеб слой, който периодично се обновява. Тези бази данни могат да съхраняват терабайти исторически данни (да речем транзакции с кредитни карти на банка за последните 5 години) в разпределена среда. Лесно е да се анализират и копаят данни в NoSQL DB, като се използва подобен на SQL софтуер за съхранение на данни HIVE. NoSQL DB могат да се използват за съхраняване на огромни обеми неструктурирани данни и са подходящи и за анализ на текст.
Изброих някои водещи организации, които използват тези бази данни:
Релационни бази данни
SQL сървър:LG Electronics, MySpace, Hilton Hotels.
ORACLE:British Telecom, MasterCard, Reliance Ltd.
MySQL:Facebook, Twitter, LinkedIn. Facebook използва MySQL за съхраняване на взаимодействието на потребителите, като актуализации на състоянието, споделяния, харесвания и др.
Нерелационни бази данни
CouchBase:LinkedIn, AdAction.
Касандра:Facebook, Twitter, Digg.
MongoDB:LinkedIn, Pearson.
Neo4j:Cisco, eBay и др.
Както видяхте, компании като Facebook, Twitter и LinkedIn използват както релационни, така и нерелационни бази данни въз основа на техните изисквания.
Сега нека се върна към първата част от тази поредица и да отговоря на следните въпроси:
Способни ли са релационните бази данни да обработват големи данни?
Релационните бази данни са мащабируеми?
Подходящи ли са релационните бази данни за съвременните изисквания за данни? Като например анализи в реално време, работещи с неструктурирани данни?
Отговорът на всички тези въпроси е категорично „ДА“. Релационните бази данни не изчезват в този социален свят. Въз основа на естеството и сложността на набора от данни трябва да се използва правилната база данни. Както релационните, така и нерелационните бази данни имат своите предимства и недостатъци. Правилната настройка на средата може да използва релационни и нерелационни бази данни по правилен начин, както са го направили Facebook, Twitter и LinkedIn.