Углубление в базы данных

4525d98d

Базы данных представляют из себя упорядоченные комплекты данных, находящиеся в компьютерной системе и подходящие в электронном виде. Есть большое количество типов баз данных, к примеру:

пасмурные;
реляционные;
объектно-ориентированные;
NoSQL.

Выбор какой-то системы зависит от надобностей точного клиента: типа, структуры, модели данных, среды их хранения и намечаемого вида применения. В данной публикации мы сконцентрируемся на 2-ух главных группах баз данных: SQL и NoSQL.

SQL
Данная аббревиатура расшифровывается как Structured Query Language (язык организованных запросов). SQL — обычный язык для реляционных баз данных (РСУБД), которые структурируют детали в формате таблиц.

Программирование на SQL может качественно применяться для врезки, поиска, обновления и удаления записей в информационной базе. SQL применяет синтаксис и требования для теста и получения данных. Образцы реляционных баз данных:

MySQL;
Postgres;
Oracle;
Ms SQL Server;
Sybase.

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

организованные;
полуструктурированные;
неструктурированные;
полиморфные.

Зависимо от модели данных, NoSQL могут быть:

документоориентированные;
сформированные на четах “ключ-значение”;
графовые.
Образцы NoSQL:

MongoDB;
Redis;
Neo4j;
Sandy;
Hbase.

Язык запросов. NoSQL не имеет внешнего языка запросов, тогда как SQL является организованным языком запросов.
Схема.

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

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

Подходящее применение. NoSQL рекомендуется применять для решения проблем доступности данных, а реляционные СУБД больше подходят для решения проблем ACID (атомарности- согласованности-изолированности-долговечности).

Состязательные функции. SQL владеет кроссплатформенной помощью, и является безопасной и свободной технологией. NoSQL — простой в использовании, производительный и гибкий инструмент.
Основные компании. SQL используют Hootsuite, CircleCI и Gauges, а NoSQL — Airbnb, Uber и Kickstarter.

Вторым различием этих баз данных является модель, находящаяся в их основе. SQL отвечает условиям ACID, типичным для реляционных СУБД, а абсолютное большинство систем NoSQL ориентируются на требования BASE. Модель ACID гарантирует слаженную систему, тогда как BASE — высочайший уровень доступности.

ACID отвечает следующим данным.

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

Слаженность. Во время транзакции реляционная СУБД переходит из одного дозволенного положения в другое — состояние никогда в жизни не бывает непозволительным.

Изоляционность. Одни транзакции не в состоянии не соблюдать единство прочих транзакций при содействии с ними в ходе проведения — они обязаны выходить обособленно от прочих клиентов.

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

Базовая доступность. Система гарантированно будет предлагаться для запросов всех клиентов (тут нет изоляционности).
Эластичное состояние. Из-за неимения незамедлительной согласованности значения данных могут изменяться со временем. В этом BASE-модель расползается с концепцией базы данных, которая гарантирует свою слаженность, возлагая за нее ответственность на разработчиков.

Слаженность в конце концов. Тот факт, что модель BASE не гарантирует незамедлительную слаженность, не означает, что она никогда в жизни ее не достигает. Но до того времени, пока это далеко не случится, скачивание данных до сих пор вероятно (даже если они не отображают действительность).

У любого типа базы данных масса собственных преимуществ. Многое зависит от компании, с которой вы будете работать, и от типа данных. Оптимальный выбор базы данных сможет помочь целиком утолить ваши надобности в программировании!

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *