MongoDB Academy · Урок

Разновидности NoSQL: документы, ключи и значения, столбцы, графы

Вы сравните четыре семейства NoSQL и сопоставите каждое из них с реальными сценариями использования.

Урок 2 из 413 шагов

«Разновидности NoSQL: документы, ключи и значения, столбцы, графы» — бесплатный урок MongoDB Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MongoDB Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MongoDB Academy содержит 4 уроков всего.

The NoSQL Family Tree

«NoSQL» — это не что-то одно, это семейство из четырех типов: документоориентированные, «ключ-значение», колоночные и графовые хранилища. MongoDB — это документоориентированное хранилище. Давайте познакомимся с каждым из них.

Document Stores: Rich Nested Data

Документоориентированные хранилища сохраняют данные в виде гибких JSON-подобных документов, где вложенные объекты и массивы находятся в одном месте. Лидером в этой области является MongoDB — самый универсальный тип NoSQL-баз данных.

// Document store example - a product document
{
  _id: 'prod_001',
  name: 'Wireless Headphones',
  category: 'Electronics',
  specs: { battery: '30h', connectivity: 'Bluetooth 5.0' },
  reviews: [
    { user: 'alice', rating: 5, comment: 'Great!' }
  ],
  price: 79.99
}

Key-Value Stores: Blazing Fast Simplicity

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

// Redis key-value example
SET session:user_42 '{"userId":42,"token":"abc123","expiresAt":1700000000}'
GET session:user_42
// Returns the JSON string immediately - O(1) lookup

// Redis also supports richer structures per key:
LPUSH leaderboard 'alice:9500'
LPUSH leaderboard 'bob:8700'
LRANGE leaderboard 0 9  // top 10

Wide-Column Stores: Analytical Scale

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

// Cassandra CQL - wide-column table design
CREATE TABLE sensor_readings (
  device_id  UUID,
  recorded_at TIMESTAMP,
  temperature FLOAT,
  humidity    FLOAT,
  PRIMARY KEY (device_id, recorded_at)
) WITH CLUSTERING ORDER BY (recorded_at DESC);
// Partition key = device_id; clustering key = recorded_at

Graph Databases: Relationships First

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

// Neo4j Cypher query - find friends of friends
MATCH (me:Person {name: 'Alice'})
      -[:FRIENDS_WITH]->(friend)
      -[:FRIENDS_WITH]->(foaf)
WHERE NOT (me)-[:FRIENDS_WITH]->(foaf)
  AND foaf <> me
RETURN foaf.name AS suggestion
LIMIT 10;

Comparing the Four Families

У каждого семейства есть свои преимущества: документные БД — для большинства приложений, «ключ-значение» — для кэширования, колоночные — для интернета вещей (IoT), графовые — для связей. Всегда задавайтесь вопросом: как я буду делать запросы к своим данным?

When to Use a Document Store

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

Multi-Model Databases

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

NewSQL: The Best of Both Worlds?

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

MongoDB in the NoSQL Landscape

MongoDB лидирует среди документоориентированных баз данных благодаря своему формату BSON, широким возможностям запросов, транзакциям ACID и облачной платформе Atlas. Зачастую это первый и лучший выбор для начала работы с NoSQL.

Choosing the Right NoSQL Family

Краткое руководство: поиск по одному ключу — в Redis, связи — в Neo4j, временные ряды — в Cassandra, сложные вложенные данные — в MongoDB. Сомневаетесь? MongoDB — безопасный выбор для начала.

Quick Check

Проверьте свое понимание концепций MongoDB и баз данных NoSQL из этого урока.

Lesson Recap

Вы познакомились с четырьмя семействами NoSQL, увидели, почему документы MongoDB подходят для большинства приложений, и узнали, как полиглотная персистентность позволяет комбинировать различные инструменты. Далее: теорема CAP.

Можно начать бесплатно

Изучай JavaScript с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Разновидности NoSQL: документы, ключи и значения, столбцы, графы» бесплатный?

Да — полный текст урока «Разновидности NoSQL: документы, ключи и значения, столбцы, графы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MongoDB Academy, подпишись на CoddyKit PRO. Курс MongoDB Academy содержит 4 уроков всего.

Чему я научусь в уроке «Разновидности NoSQL: документы, ключи и значения, столбцы, графы»?

Вы сравните четыре семейства NoSQL и сопоставите каждое из них с реальными сценариями использования. Ты практикуешь MongoDB Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать MongoDB Academy?

Предыдущий опыт не требуется. MongoDB Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Разновидности NoSQL: документы, ключи и значения, столбцы, графы»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке MongoDB Academy?

Да. Каждый урок MongoDB Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Узкое место реляционных баз данных
  2. Разновидности NoSQL: документы, ключи и значения, столбцы, графы
  3. Теорема CAP простыми словами
  4. Место MongoDB среди других баз данных
← Назад к MongoDB Academy