Реляционная база Данных (SQL и Реляционной базы данных (NoSQL) – что это такое, для чего нужны и в чем разница?


Когда мы будем выбирать базу данных, один из самых больших вопросов и принятия решений-это выбор между реляционной базы данных (SQL) или не реляционной базы данных (NoSQL). Хотя они оба оптимальные варианты, есть некоторые важные различия, которые необходимо учитывать при выборе банка подходит для вашего приложения.

Это не статья, чтобы говорить, что лучше или что хуже, уже хочу ясно дать понять, что каждый банк имеет свои сильные и слабые стороны, и знайте, что многие компании используют один или несколько видов базы в набор.

SQL – Реляционных Баз Данных

Реляционные базы данных, обычно называемых SQL, причина в языке запросов реализована, был изобретен в 1970 году E. F. Codd, молодой программист IBM, он предложил изменения хранения данных в иерархическую структуру или навигации для организации данных в таблицы, содержащей столбцы и строки.

Каждая таблица в реляционной базы данных содержит один или более данных столбцов, и каждая строка, называемая также реестра, содержащего уникальный экземпляр данных или ключ, чтобы данные определены по столбцам. Каждая таблица обычно имеет столбец первичного ключа, одной записи в таблице для идентификации записей. Отношения между таблицами могут быть определены через использование внешних ключей – поле в таблице для ссылки на первичный ключ другой таблицы.

Мы можем представить себе, реляционной базы данных, как microsoft excel, где банк является лист, в каждой вкладке есть таблица, которая содержит столбцы и строки.

id имя возраст родители
1 Henrique Marques 28 Бразилия
2 Terry Crews 65 ИСПОЛЬЗУЕТ
Пример таблицы в реляционной базе

Примеры реляционных баз данных:

  • MySQL
  • PostgresSQL
  • Microsoft Access

Возможные причины для использования Реляционной Базы

  • Вам нужны гарантии ACID (Атомарность, Согласованность, Изоляция, Долговечность). ACID уменьшает возможные аномалии и защищает целостность базы данных. Он может сделать это, почему определяет, как именно транзакции взаимодействуют с базой данных, что это не так, из баз данных NoSQL, которые имеют главной целью, гибкость и скорость, а не 100% целостность данных.
  • Ваши данные структурированы и неизменны.

NoSQL – Базы Данных Реляционной

Когда люди используют термин “базы данных » NoSQL”, как правило, используют для обозначения любой базы данных, реляционной. Некоторые говорят, что термин “NoSQL” означает “не SQL”, в то время как другие говорят, что это значит — “не только SQL”.

Очень распространенная ошибка, когда говорят, что базы данных не реляционных баз данных не хранят отлично данных отношений. Они могут хранить данные отношения, а только те, в которых хранятся по-разному реляционных баз данных. В самом деле, многие считают, моделирования отношений в базах данных NoSQL, проще, чем в базах данных SQL, потому что связанные данные не должны быть разделены между таблицами.

Модели данных NoSQL позволяют, например, что связанные данные были сделаны в одной структуре данных. В отличие от реляционные базы данных, структуры данных, не должен быть установлен ранее, таким образом, в одной и той же “таблица” вы можете иметь данных с различными свойствами.

Базы данных NoSQL, появились в конце 2000-х годов, по мере того, стоимость хранения данных резко сократился. Уже прошли те времена, когда нужно было создать модель данных, сложно и трудно управлять, просто с целью сократить дублирование данных.

Существует несколько различных типов баз данных, реляционной, они классифицируются по их способ хранения данных. Два наиболее часто используемых типов баз NoSQL являются:

  • База Документов: Сохраняет ваши данные в документы, аналогичные объекты JSON (JavaScript Object Notation). Имеют, как правило, мощные языки запросов, баз данных, документов, прекрасно подходят для общих целей. Они легко могут быть уменьшены по горизонтали, чтобы вместить большие объемы данных. MongoDB-это постоянно занимает, как базы данных NoSQL и более популярным в мире, и является примером базы данных документов. Проверьте ниже пример collection (“таблица”) MongoDB:
[{
  "_id": ObjectId("5e6261a1df9bcf90c29726d4"),
  "nome": "Henrique Marques Fernandes",
  "idade": 29
  },
  {
  "_id": ObjectId("5e6261a1df9bcf90c29726d3"),
  "nome": "Terry Crews",
  "idade": 65,
  "pais": "USA"
}]
  • Ключ-Значение: тип более “простой” базы данных, в которой каждый элемент содержит ключи и значения. Эти значения могут быть любого типа, учитывая, текст, число, JSON, и они могут быть получены путем ссылки на его раздел, в результате чего его запрос будет очень просто. Такие банки прекрасно подходят для того, когда вам необходимо хранить большие объемы данных, но не нужно выполнять сложные запросы на них. Наиболее распространенные виды предназначены для хранения данных в кэш-памяти. Redis и DynanoDB, вероятно, самых популярных банков этого типа.
1 { “id”: 1, “name”: “Terry Crews”, “age”: 65, “родители”: “USA” }
2 Henrique Marques Fernandes
Пример таблицы для хранения данных в Redis

Примеры баз данных, реляционные базы:

  • MongoDB
  • CouchDB
  • Redis

Возможные причины для использования Реляционной Базы

  • Хранение больших объемов данных без определенной структурой. Базы данных NoSQL не ограничивает поля, в отличие от столбцов в SQL. Кроме того, вы можете добавить новые свойства, как потребности бизнеса меняются, не беспокоясь о влиянии на остальных информацию.
  • С помощью вычислений и хранения данных в облаке. С развитием и удешевления услуги clouds, можно использовать базы данных NoSQL, сначала маленькие, так как они предназначены для масштабирования по горизонтали, вы можете легко масштабировать их по мере необходимости увеличивается.
  • Быстрое развитие. Если вы разрабатываете с использованием гибких методологий, современные реляционные базы данных, вероятно, задержит. Базы данных NoSQL не требует уровня подготовки, как правило, требуется для реляционных баз данных.

Таблица Различия между SQL и NoSQL

SQL NoSQL
Модель Хранения данных Таблицы со столбцами и фиксированных линий Документы JSON, Ключ-Значение и другие виды
История Разработанная в 70-е годы, с акцентом на сокращение дублирования данных Разработана в 2000 году с акцентом на масштабируемость и быстрое развитие
Примеры Oracle, MySQL, Microsoft SQL Server и PostgreSQL Документ: MongoDB и CouchDB, Ключ-Значение: Redis и DynamoDB, Wide-column: Cassandra и HBase, График: Neo4j и Amazon Neptune
Схемы Rídigos Гибкие
Укрупнение Вертикальный (больше мощности обработки на той же машине) По горизонтали (Ряд, распределяя на две или более машины)
Сделки Поддерживается Большинство не поддерживает, однако MongoDB да
Join Как правило, требуется Как правило, не требуется
Сопоставление Дано Объекта Требует ORM (object-relational mapping) Не можете ORM. Документы в MongoDB сопоставляются непосредственно данных структура большинства языков

Потому что некоторые компании используют два?

Хорошо, как я уже упоминал в начале этой статьи, многие компании используют оба вместе, но почему? Как вы узнали, каждый банк имеет свою точку сильный, сегодня стоимость хранения под рукой, что позволяет затем использовать наиболее подходящие решения для каждого использования. Давайте, например, предположим, что ваша база данных “основной”, это типа NoSQL, но вы хотите использовать средства бизнес-аналитики для анализа определенного набора данных, вы можете иметь второй реляционной базы данных, которая содержит данные, обработанные для своей команды BI. И мы, возможно, наоборот, его применение имеет в качестве основной базы данных SQL, но вы хотите хранить другие данные, которые могут быть важными, но которые пока не нуждаются в четко определенной структуры, и для этого вам реализовать базу данных NoSQL, таких, как тип “data lake”.