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