Database
 sql >> база данни >  >> RDS >> Database

Релационни срещу нерелационни бази данни – част 1

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

Основи на релационните и нерелационните бази данни

Релационни бази данни: Концепцията за релационна база данни е разработена през 70-те години на миналия век. Най-важната характеристика на всички релационни бази данни е поддръжката на ACID (Automicity, Consistency, Isolation and Durability) свойства, което гарантира, че всички транзакции се обработват надеждно.
Автоматичност: Всяка транзакция е уникална и гарантира, че ако една логическа част от транзакцията се провали, всичко се връща обратно, така че данните да останат непроменени.
Последователност: Всички данни, записани в базата данни, подлежат на определени правила (ограничения, задействания и т.н.)
Изолация: Промените, направени в транзакция, не са видими за други транзакции, докато не бъдат ангажирани.
Издръжливост: Промените, извършени в транзакция, се съхраняват и са налични в базата данни, дори ако има прекъсване на захранването или базата данни внезапно излезе офлайн.
Строго структурирано: Обектите в релационните бази данни са строго структурирани. Всички данни в таблицата се съхраняват в редове и колони. Всяка колона има тип данни. Най-често се нормализира. Структурираният език за заявки (SQL) е подходящ за релационни бази данни за съхраняване и извличане на данни по структуриран начин. Заявките са обикновени английски команди. Винаги има фиксиран брой колони, въпреки че допълнителни колони могат да бъдат добавени по-късно. Повечето от таблиците са свързани помежду си с първични и външни ключове, като по този начин осигуряват „Референтна цялост“ между обектите. Основните доставчици са ORACLE, SQL Server, MySQL, PostgreSQL и др.
Нерелационни бази данни: Концепцията за нерелационни бази данни се появи, за да се справи с бързия растеж на неструктурирани данни и да ги мащабира лесно. Това осигурява гъвкава схема, така че няма такова нещо, наречено „Референтна цялост“, както виждаме в релационните бази данни. Данните са силно денормализирани и не изискват JOIN между обектите. Това отпуска свойството на ACID на релационните бази данни и поддържа CAP (последователност, достъпност и разделяне). Но от тези три само две са гарантирани във всеки един момент. Така че, за разлика от ACID, той ще поддържа само BASE (основно налично меко състояние, евентуална консистенция). Първоначалните бази данни, създадени въз основа на тези концепции, са BigTable от Google, HBase от Yahoo, Cassandra от Facebook и др.
Категории нерелационни бази данни: Нерелационните бази данни могат да бъдат класифицирани в четири основни категории като база данни ключ-стойности, база данни с колони, база данни с документи и база данни с графики.
База данни ключ-стойности: Това е най-простата форма на NoSQL база данни, където всяка стойност е свързана с уникалния ключ. (ex Redis)
База данни с колони: Тази база данни е в състояние да съхранява и обработва голямо количество данни с помощта на указател, който сочи към много колони, които са разпределени в клъстер. (ex HBase)
База данни с документи: Тази база данни може да съдържа много документи ключ-стойности с много вложени нива. Ефективното запитване е възможно с тази база данни. Документите се съхраняват във формат JSON.(ex MongoDB)
Графикова база данни: Вместо традиционните редове и колони, тази база данни използва възли и ръбове за представяне на графични структури и съхраняване на данни. (преди Neo4J)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изтриете ревизии на публикации с помощта на WP-CLI

  2. SQL изгледи

  3. Основи на табличните изрази, част 12 – Вградени функции с таблично стойности

  4. ScaleGrid стартира поддръжка на Google Cloud Platform (GCP) за хостинг на управлявани бази данни

  5. Дизайн на база данни с Vertabelo