«Преимущества NoSQL баз
   данных на примере MongoDB»




Винников Олег      .NET Developer
Почему NoSQL
     Модели данных NoSQL
       Особенности NoSQL решений
           Масштабирование MongoDB
Теорема CAP (Брюера)
Гибкая модель
   данных
Большие данные
• Google – обрабатывает 24 Петабайта/день
• Facebook – 1.5 Петабайта фотографий
• Twitter – генерирует 2 Петабайта/год
MapReduce
Счет, пожалуйста!




Enterprise - 8.500$/сервер
Enterprise – 27.500$/процессор
Parallel DW– 38.500$/процессор
Parallel DW– 11 серверов/22 процессора
Column Families
   Users                             Tweets




UserTweets




 Super Column Family   Column   Column Family   Key Space
• Отказоустойчивость при разделении
• Асинхронная запись данных
• Слабая согласованность
• Решения поддержки согласованности
Key – Value Databases




• Простейщая структура данных
• Низкие задержки
• Виртуальная память = хранилище
• Типы : Строки, Списки, Хэши

• Собственная виртуальная подсистема
• Устойчивость
Репликация Redis
            Запись

                         Мастер
           Чтение



Клиент
         Чтение      Слейв    Слейв




         Чтение
                     Слейв    Слейв
• Документы (BSON), Коллекции
• Отображение файлов в память
• Индексы (внутренние, по массиву)
• Агрегация (MapReduce)
Искусство масштабирования
          MongoDB
Сильная согласованность

         Запись

                  Слейв
                  Мастер
         Чтение


Клиент            Мастер
                  Слейв


                  Слейв
Слабая согласованность

         Запись

                  Мастер
         Чтение


Клиент            Слейв
         Чтение



         Чтение   Слейв
Шардинг – быстрый старт

1. Запустить сервер с метаданными и роутер
2. Включить шардинг
3. Выбрать ключ и колекцию для шардинга
4. Добавлять шарды
Шардинг и репликация
Спасибо за внимание !



Skype : dinoh4
Twitter : https://twitter.com/VinnikovOleg

Преимущества NoSQL баз данных на примере MongoDB