www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Мониторинг  

Какая задача мониторинга отнимает больше всего времени?

Многие системные администраторы тратят до 30% рабочего времени на рутину мониторинга. Но

 Читать далее...

Рынок труда  

Какие навыки вы хотите развивать в 2026 году?

Рынок труда меняется быстро. Еще вчера его называли рынком соискателей, а сегодня

 Читать далее...

Книжная полка  

От сисадмина до архитектора: книги, которые прокачают ваш стек в этом году

Новинки от издательства «БХВ» отличаются тем, что в них часто делается упор

 Читать далее...

Автоматизация  

Автоматизируем рутину: что реально работает?

Многие сисадмины автоматизировали что-то за последний год. Но далеко не все остались

 Читать далее...

Защита ИТ-системы  

Практическая защита: что вы внедрили и что мешает?

Какие меры безопасности реально внедрить в реальных условиях – и что не

 Читать далее...

Вопрос-ответ  

Обеспечиваем безопасную эксплуатацию базы данных

Что для вас чаще всего является причиной инцидентов с БД? Как вы

 Читать далее...

Книжная полка  

От «безопасного» Linux до Контролируемого взлома

Издательство «БХВ» продолжает радовать читателей интересными новинками и в наступившем году. Вы можете

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 13369
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 13482
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 10939
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 5859
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 6703
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 6574
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 9424
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 6032
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 6252
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 10403
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 13858
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 15331
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 17642
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 12507
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 10501
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 8711
Комментарии: 4
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 7320
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 6128
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 5750
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 6071
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

 Читать далее...

Друзья сайта  

 Концепции моделирования MongoDb на примере разработки социальных игр

Архив номеров / 2014 / Выпуск №3 (136) / Концепции моделирования MongoDb на примере разработки социальных игр

Рубрика: Разработка /  Проектирование

Александр Календарев АЛЕКСАНДР КАЛЕНДАРЕВ, программист, РБК Медиа, akalend@mail.ru

Концепции моделирования MongoDb
на примере разработки социальных игр

Подход к проектированию данных в документно-ориентированных БД немного отличается от подобной работы в традиционных СУБД. Суть этих отличий мы сегодня и рассмотрим

MongoDb – яркий представитель документно-ориентированной базы данных, реализованой на С++, являющийся Open Source-продуктом, что еще больше повышает ее популярность, распространяется под лицензией GNU AGPL v3.0. Название составлено из части слова «humongous», что значит «большой», «значительный», а Db – сокращение от «DataBase».

Первый релиз был выпущен фирмой 10 Gen в 2008 году. Текущей версией является 2.4. В настоящее время MongoDb используют более 10 миллионов компаний и стартапов, в том числе такие гиганты ИТ-индустрии, как SourceForge.net, foursquare (социальная сеть), the New York Times, MTV, Cisco и многие другие.

В отличие от традиционных СУБД MongoDb не может делать операции объединения, JOIN-таблицы или, в терминологии MongoDb, коллекции. Поэтому MongoDb подходит в случае слабосвязанных или слабоструктурированных данных. Если схема данных представляет сложные семантические связи, то лучше использовать другой класс NoSQL-хранилищ: «графовые БД».

Основные концепции

В основе концепции MongoDb лежит понятие документ. Документ представляет набор поименованных полей, где каждое поле выглядит как пара «ключ-значение».

Внешнее представление документа сделано в виде формата JSON (Java Script Object Notation), а внутренняя организация хранения и передачи данных между клиентом и сервером осуществляется в его бинарном представлении: BSON (Binary-encoded serialization of JSON).

Пример JSON-документа:

{

"user_id" : 1,

"nickname" : "Bob",

"level" : 3,

"pvp_level": 17 ,

"awards" : ["hero-I","gold star"]

}

Документ содержит множество поименованных полей с их содержанием. По сути, каждый документ содержит в себе схему описания. Это позволяет хранить «гибкие» структуры данных, что является некоторым преимуществом перед традиционными РСУБД.

Множество документов сгруппированы в коллекции. Так, например, множество данных о пользователях может быть объединено в коллекцию users. А каждый элемент коллекции users является документом, описывающим конкретного пользователя.

Все документы в пределах коллекции проиндексированы по первичному ключу в BTree-индекс. BTree-индекс позволяет делать выборки по условию «больше и меньше». Также MongoDb позволяет индексировать документы по вторичному индексу.

Множество коллекций должно быть объединено в одну из баз данных. Один запущенный экземпляр MongoDB может поддерживать несколько разных баз данных. Концептуально база данных соответствует понятию базы данных в MySQL или схемы в Oracle.

Для лучшего понимания мы можем сделать сравнение в терминах традиционных РСУБД (см. таблицу 1).

Таблица 1. Сравнение традиционной РСУБД и MongoDb

РСУБД MongoDb
База данных, Схема данных База данных
Таблица Коллекция
Строка данных, Таблицы Документ
Колонка строки Поле документа
Курсор Курсор в хранимых процедурах

Статью целиком читайте в журнале «Системный администратор», №3 за 2014 г. на страницах 46-49.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru