Введение в модели данных NoSQL

Прежде чем мы начнем о моделях данных, давайте сначала поймем, что означает NoSQL. NoSQL означает не единственный SQL, что означает, что мы собираемся извлекать и хранить данные из нереляционных баз данных. Теперь посмотрим, что такое модель данных? Модель данных определяет логическую структуру СУБД. Это в основном означает, что он говорит нам, как данные связаны друг с другом, отношения между различными объектами и как они обрабатываются. Методы моделирования данных различны как для реляционных, так и для нереляционных баз данных. Основное различие заключается в том, что модели данных NoSQL имеют больше запросов для конкретных приложений по сравнению с SQL.

Синтаксис с параметрами

Синтаксис для написания NoSQL-запроса приведен на примере. В этом примере мы собираемся получить имя и возраст всех сотрудников с обозначением «Менеджер».

(
"object": "employee",
"q": (
"designation" : " Manager"
),
"fields": ("name", "age") )

В приведенном выше примере мы использовали форму JSON для написания запроса; ключевое слово «object» используется для назначения имени таблицы, ключевое слово «q» используется в качестве условия WHERE. В нашем случае условие должно применяться к обозначению, поскольку нам нужны только сотрудники, назначением которых является менеджер. Ключ «field» - это имена столбцов, которые мы хотим получить, основываясь на условии в «q». В нашем случае столбцы - это имя и возраст.

Приведенный выше запрос NoSQL при преобразовании в SQL будет выглядеть следующим образом:

SELECT name, age
FROM employee
WHERE designation =' manager';

Самый короткий запрос, который мы можем написать, - это обычный запрос выбора в NoSQL:

(
"object": "String",
"q": "Expression"
)

Вышеуказанный запрос является нормальным запросом выбора.

Типы моделей данных NoSQL

Теперь давайте узнаем о различных типах моделей данных NoSQL.

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

  • Key-Value Store
  • Документный магазин
  • Колонка на основе магазина
  • График на основе магазина

Теперь давайте пройдемся по ним один за другим.

1. Ключ-значение Store

  • Как следует из названия, хранилище Key-value просто использует значение ключа для хранения данных в базе данных. Ключ в паре ключ-значение должен быть уникальным. Правила, установленные для того, какой ключ может быть длиной для размера ключа, зависят от базы данных до базы данных. Например, в Redis максимальный размер ключа составляет 512 МБ. Даже пустая строка является допустимым ключом.
  • Здесь важен размер ключа, так как длинный ключ может вызвать проблемы с производительностью, тогда как слишком короткий ключ может вызвать проблемы с читабельностью. Значение в паре ключ-значение может быть любым - от строки до изображения. Вы также можете указать тип данных значения здесь.
  • Модель базы данных ключ-значение может быть полезна для хранения данных об электронной торговле, таких как категории продуктов, сведения о продукте и т. Д. Они широко используются в аналитике больших данных. Мы даже можем хранить полные URL-адреса, поскольку имя URL-адреса может быть ключом, а фактический URL-адрес - значением. Примерами баз данных, использующих пары ключ-значение, являются база данных Oracle NoSQL и Redis.

2. Документное хранилище NoSQL

  • В базе данных этого типа запись и связанные с ней данные хранятся в одном документе. Таким образом, эта модель не является полностью неструктурированной, но это своего рода полуструктурированные данные.
  • Разница между документом и парой ключ-значение заключается в том, что в хранилище типа документа заключается в том, что в этом типе обеспечивается некоторая кодировка при хранении данных в документах. Это может быть кодировка XML или кодировка JSON.
  • В приведенном ниже примере показан документ, который можно сохранить в базе данных документов, но с другой кодировкой. Давайте посмотрим на пример XML.


Srikanth Engineer
Febuary

Srikanth Engineer
Febuary

  • Разница между обычными базами данных и базами данных на основе документов заключается в том, что данные здесь не хранятся в таблицах, подобных обычным базам данных, а хранятся в документах.
  • Примерами баз данных, использующих вышеуказанную модель данных, являются MongoDB и Couchbase. Эти типы баз данных широко используются, особенно при анализе больших данных.

3. Колонка на основе магазина

  • В базе данных этого типа основное внимание уделяется столбцам, а не строкам, поскольку данные хранятся в столбцах, а не в строках, что имеет место в большинстве реляционных баз данных. Поскольку данные хранятся в ячейках, сгруппированных по столбцам, все чтение и запись выполняется с использованием столбцов, а не строк.
  • Возникает интересный вопрос: зачем использовать столбцы, а не строки? Ответ на этот вопрос заключается в том, что при хранении данных в столбцах вы можете выполнять быстрый поиск, а также быстрый поиск и агрегирование, поскольку в нем все ячейки столбца хранятся в виде непрерывной записи, которая затем обеспечивает более быстрый доступ.
  • Например, если мы хотим запросить заголовки из миллионов статей, это будет легко получить в модели данных на основе столбцов, так как с одной записью на диске мы легко получим заголовки статьи, тогда как в реляционных базах данных она должна быть преодолена. в каждом месте, чтобы получить названия. Примерами баз данных хранилищ на основе столбцов являются HBase, Big Table, Cassandra.

4. График на основе магазина

  • Как следует из названия, вместо таблиц или столбцов используется графическое представление. Важной особенностью этого типа модели данных является наличие узлов и ребер. Например, эти два узла связаны с некоторыми отношениями, и связь здесь представлена ​​ребрами.
  • Кроме того, вы можете эффективно преобразовывать данные из одной модели в другую, используя эту модель данных NoSQL на основе графика. Существует две широко используемые базы данных на основе графов: InfoGrid и Infinite Graph. InfoGrid также предлагает два вида графовых баз данных, таких как MeshBase и NetMeshbase, которые пользователи могут выбирать в зависимости от требований пользователя.

Вывод

В этой статье мы обсудили базу данных NoSQL и различные типы моделей NoSQL и обсудим эти модели по отдельности. Различные типы баз данных доступны в каждом типе модели данных. Популярность базы данных NoSQL растет с каждым днем ​​из-за ее скорости и эффективности.

Рекомендуемые статьи

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

  1. Преимущества NoSQL
  2. Есть MongoDB NoSQL
  3. Что такое технология больших данных?
  4. Что такое аналитика данных