«Преимущества NoSQL баз данных на примере MongoDB»
Винников Олег
.NET Developer
Почему NoSQL
Особенности NoSQL решений
Модели данных NoSQL
Масштабирование MongoDB
Теорема CAP (Брюера)
Гибкая модель данных
• Twitter – генерирует 2 Петабайта/год
Большие данные
• Google – обрабатывает 24
Петабайта/день• Facebook – 1.5 Петабайта фотографий
MapReduce
Счет, пожалуйста!
Enterprise – 27.500$/процессорParallel DW– 38.500$/процессорParallel DW– 11 серверов/22 процессора
Enterprise - 8.500$/сервер
Column Families
Super Column Family
Column Column Family Key Space
Users
UserTweets
Tweets
• Асинхронная запись данных
• Отказоустойчивость при разделении
• Решения поддержки согласованности
• Слабая согласованность
Key – Value Databases
• Простейщая структура данных
• Низкие задержки
• Виртуальная память = хранилище
• Типы : Строки, Списки, Хэши
• Собственная виртуальная
подсистема• Устойчивость
Репликация Redis
Клиент
Мастер
Слейв Слейв
Чтение
Слейв Слейв
Запись
Чтение
Чтение
• Документы (BSON), Коллекции
• Отображение файлов в память
• Индексы (внутренние, по массиву)
• Агрегация (MapReduce)
Искусство масштабированияMongoDB
Сильная согласованность
Клиент Слейв
Слейв
Запись
Чтение
Мастер
МастерСлейв
Слабая согласованность
Клиент
Мастер
Слейв
Слейв
Запись
Чтение
Чтение
Чтение
Шардинг – быстрый старт
1. Запустить сервер с метаданными и
роутер2. Включить шардинг
4. Добавлять шарды
3. Выбрать ключ и колекцию для
шардинга
Шардинг и репликация
Спасибо за внимание !
Skype : dinoh4
Twitter : https://twitter.com/VinnikovOleg