Пример использования MongoDB

Концепции NoSQL

Miriam Antona

Software engineer

MongoDB — обзор

Логотип MongoDB

  • Популярная документная база данных
  • Формат BSON (Binary JSON)
Концепции NoSQL

MongoDB — возможности

  • Язык запросов MongoDB (MQL)
db.users.find({ "address.zipcode" : "10245" })
  • Нативные драйверы для языков программирования: C#, Java, Python, Scala и др.
  • Индексы по любому полю
  • Транзакции ACID (атомарность, согласованность, изоляция, долговечность)
  • Объединения в запросах
Концепции NoSQL

MongoDB — возможности

  • Горизонтальное масштабирование
    • нативный шардинг
    • добавление и перемещение шардов
  • Репликация
    • до 50 копий данных
Концепции NoSQL

MongoDB — продукты

  • MongoDB Compass:
    • Бесплатный GUI
    • Просмотр схемы, визуальное создание запросов...
  • MongoDB Atlas:
    • Облачный сервис
    • AWS, Azure, Google Cloud
  • MongoDB Enterprise Advanced:
    • Запуск MongoDB в собственной инфраструктуре
Концепции NoSQL

MongoDB — продукты

  • MongoDB Atlas Lake:
    • Запросы и анализ данных
    • AWS S3 и MongoDB Atlas
    • MQL
  • MongoDB Charts:
    • Визуализация данных
  • Realm Mobile Database:
    • Локальное хранение данных на iOS или Android
Концепции NoSQL

MongoDB — популярные сценарии использования

  • Приложения с единым представлением данных: финансы, госсектор, высокие технологии, ритейл...
  • Игровая индустрия: профили игроков, таблицы лидеров...
  • Каталоги: финансы, госсектор, высокие технологии, ритейл...
  • Аналитика в реальном времени
  • Управление контентом
  • Интернет вещей
Концепции NoSQL

MongoDB — клиенты

Логотипы некоторых клиентов MongoDB

Концепции NoSQL

Пример использования Shutterfly — обзор

  • Онлайн-сервис для работы с фотографиями
    • Обмен персонализированными фотоальбомами
    • Товары с печатью фотографий
  • Миллионы клиентов
  • Более шести миллиардов изображений

Логотип Shutterfly

Концепции NoSQL

Пример использования Shutterfly — проблема и решение

  • Стремительный рост объёма данных
  • Ограничения производительности Oracle
  • Долгая разработка приложений
  • Недостаточная скорость работы приложений
  • Oracle стал слишком дорогим
  • Выбор пал на MongoDB
Концепции NoSQL

Пример использования Shutterfly — результаты

  • Рост производительности
    • Вставка: 400 мс → 2 мс
  • Горизонтальное масштабирование
  • Гибкая схема → ускоренная разработка
    • Теги, комментарии и т. д. — без труда
  • Новые шаблоны запросов
  • Снижение затрат
Концепции NoSQL

Пример использования Shutterfly — результаты

  • Рост производительности
    • Вставка: 400 мс → 2 мс
  • Горизонтальное масштабирование
  • Гибкая схема → ускоренная разработка
    • Теги, комментарии и т. д. — без труда
  • Новые шаблоны запросов
  • Снижение затрат
1 https://www.mongodb.com/who-uses-mongodb
Концепции NoSQL

Давайте потренируемся!

Концепции NoSQL

Preparing Video For Download...