SQL vs NoSQL базы данных
В работе с базами данных используются 2 разных технологии, на которых строится архитектура и работа с данными.
🔎 SQL базы данных работают со структурированными данными, где важна модель данных, типы данных и определенные взаимосвязи между данными.
Также SQL базы данных подчиняются принципам ACID при работе с транзакциями:
- Atomicity (атомарность)
- Consistency (согласованность)
- Isolation (изолированность)
- Durability (долговечность)
Когда применяются SQL базы данных:
- важна определенная модель данных
когда важны описанные взаимосвязи между сущностями (таблицами)
- типы данных каждого атрибута однозначно определены
- нет необходимости гибкого изменения структуры данных
- нет динамичной потребности масштабироваться
🔎 NoSQL базы данных (Not only SQL) применяются в том случае, когда нет определенных требований к структуре данных, либо данные могут динамически менять свою структуру (тип данных, модель данных)
Когда лучше применять NoSQL базы данных:
- данные являются полуструктурированными или неструктурированными
- типы данных могут динамически изменяться
-нет четко сформированных взаимосвязей между сущностями или файлами данных
- данных очень много, нет четких требований к их хранению
- необходимость в быстром масштабировании хранилища
Приведу несколько примеров тех и других БД
SQL базы данных:
MySQL
PostgreSQL
Oracle
SQL Server
NoSQL базы данных:
MongoDB
Hbase
Cassandra
Elasticsearch
В работе с базами данных используются 2 разных технологии, на которых строится архитектура и работа с данными.
🔎 SQL базы данных работают со структурированными данными, где важна модель данных, типы данных и определенные взаимосвязи между данными.
Также SQL базы данных подчиняются принципам ACID при работе с транзакциями:
- Atomicity (атомарность)
- Consistency (согласованность)
- Isolation (изолированность)
- Durability (долговечность)
Когда применяются SQL базы данных:
- важна определенная модель данных
когда важны описанные взаимосвязи между сущностями (таблицами)
- типы данных каждого атрибута однозначно определены
- нет необходимости гибкого изменения структуры данных
- нет динамичной потребности масштабироваться
🔎 NoSQL базы данных (Not only SQL) применяются в том случае, когда нет определенных требований к структуре данных, либо данные могут динамически менять свою структуру (тип данных, модель данных)
Когда лучше применять NoSQL базы данных:
- данные являются полуструктурированными или неструктурированными
- типы данных могут динамически изменяться
-нет четко сформированных взаимосвязей между сущностями или файлами данных
- данных очень много, нет четких требований к их хранению
- необходимость в быстром масштабировании хранилища
Приведу несколько примеров тех и других БД
SQL базы данных:
MySQL
PostgreSQL
Oracle
SQL Server
NoSQL базы данных:
MongoDB
Hbase
Cassandra
Elasticsearch