Модели и системи за управление на база данни NoSQL
Оферта от 8host.com

Базите данни NoSQL предлагат някои функции, на които липсват традиционните системи за управление на релационни бази данни; например ви позволяват да съхранявате прости двойки ключ-стойност за кеширане за кратък период от време, да съхранявате неструктурирани колекции от данни, които не могат да бъдат манипулирани с помощта на структурирания език за заявки SQL и т.н.
Тази статия ще се фокусира върху популярните СУБД NoSQL, техните функции и цели.
Системи за управление на бази данни
Базите данни са логически организирани хранилища за различни видове данни. Всяка база данни има свой собствен модел, който определя структурата на данните. Системите за управление на бази данни са приложения (или библиотеки), които управляват различни бази данни.
Системи за управление на база данни NoSQL
През последното десетилетие релационните бази данни се считаха за най-добрия начин за съхраняване на данни. Такива СУБД не са много гъвкави, но ви позволяват да създавате продуктивни и сложни бази данни. Преди това беше повече от достатъчно, но днес разработчиците имат други нужди.
Терминът NoSQL се появи преди повече от десетилетие като име за поредната релационна база данни. Тази база данни обаче се основава на различна идея: тя отказва да използва стандартизиран SQL. През следващите години се появяват и други подобни бази данни и в резултат на това те се обединяват под името „нерелационни бази данни“ или NoSQL.
По дизайн базите данни NoSQL не се основават на нито един модел (за разлика от RDBMS, които се базират на релационния модел). Всяка база данни, в зависимост от целите и функционалността, използва свой собствен модел.
Има няколко различни операционни модела и системи за базите данни NoSQL:
- Съхранение на ключ-стойност (Redis, MemcacheDB и др.).
- Съхранение на колона (Cassandra, HBase).
- Документоориентирана СУБД (MongoDB, Couchbase).
- Графична СУБД (OrientDB, Neo4J).
Нека разгледаме тези модели по-подробно
Съхранение на ключ-стойност
Такива СУБД могат да се считат за най-основното изпълнение на NoSQL.
Те работят чрез съвпадение на ключове към стойности (като в речник), които нямат структура или връзка помежду им. Чрез свързване със сървър на база данни (например Redis), приложението може да определи ключа (например the_answer_to_life) и да зададе неговата стойност (например 42) и по-късно тази двойка може да бъде извлечена с помощта на ключа.
СУБД с ключ-стойност често се използват за бързо съхраняване на основна информация или вторични данни, получени чрез сложни изчисления. Те са изключително мощни и са склонни да се мащабират лесно.
Магазини за колони
Тези хранилища се основават на подхода ключ-стойност, но го разширяват и усложняват.
Такива СУБД създават колекции от двойки ключ-стойност. За разлика от традиционните схеми на релационни бази данни, NoSQL хранилищата на колони не изискват предварително структурирани таблици за работа с данни. Всеки запис се състои от една или повече колони, които съхраняват информация и всяка колона на всеки запис може да се различава от останалите.