2. NoSQL (not only)!?!? Первое появление (BigTable, Cassandra…) Популяризация Конференции, семинары…
3.
4. Почему MongoDB? Масштабируемость (data sharding) Schema-less данные Производительность Быстрый поиск по индексу MapReduce Запросы в стиле JSON
5. Memcached vs MongoDB Механизм хранения данных Перезагрузка memcached Сброс кеша Размер объекта 4 Mb > 1 Mb main_posts_key popular_posts_key Посты на главной Популярные посты Пост (на блоге) rss_posts_key Посты в RSS
7. Consistent hashing Консистентные хэши Server 0 Server 1 Server 2 Server 3 3 Hash функция: значение % 4 1,2,3,4,5,6,7…10,11,12,13 Набор целых чисел 0 – 2^32 закручиваем в ось Каждому серверу сопоставляется целое число на кольце Ключ хэшируется в число в том же диапазоне
9. Back up Fsync, Write Lock and Backup Shutdown and Backup Exports (mongodump.exe) Slave Backup
10. Формат хранения данных – документно-ориентированная база данных База данных Коллекция Документ Ссылка на другой документ Id Простыя поля Массивы Другие объекты B
11. Вставка данных На входе var person = { name: “Anton”, surname: “Frolov”, isUneta: 1, hands: [“left”, “right”], mobile: { name: “nokia”, color: “red”, weight: 100 } } На выходе var person = { _id: ObjectId("4caf6f41b12e0000000007eb"), name: “Anton”, surname: “Frolov”, isUneta: 1, hands: [“left”, “right”], mobile: { name: “nokia”, color: “red”, weight: 100 } } ObjectId – уникальный идентификатор: 1). Если не указывать явно, то генерируется значение размером 12 байт 2). Если явно указать поле _id,то его значение сохранится
12. Установка Установить можно двумя способами: Windows service Запуск exe файла – работающий процесс Строки соединения: mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/database] .net client Mongod.exe http://localhost:28017 Mongo.exe Др. приложения
13. Первое приложения для MongoDB Драйвера для C# .net: simple-mongodb, csharp-mongodb, NoRM
18. Снова индексы Уникальные индексы: Создание индекса блокирует работу базы данных, если не указать доп. параметрbackground: Удаление индексов: Удаление определенных индексов:
19. Команды Команды - специальные операции по работе с базой данных. Скидывание файлов на диск(flush)
22. mongostat.exe inserts/s - # количество вставок в секунду query/s - # количество запросов в секунду update/s - # количество обновлений в секунду delete/s - # количество удалений command/s - # количество команд в секунду flushes/s - # количество скидываний файлов в секунду mapped - данных, замапленых в память
23. db.serverStatus() globalLock – время блокирования mem – количество занятой памяти в мегабайтах connections – кол-во соединений backgroundFlushing – информация о скидывании файлов на диск opcounters – информация об операциях
24. MapReduce Map – обработка информации и формирование пары ключ-значение Reduce – собирает промежуточные значения, обрабатывает и выводит результат
25.
26. Заключение Не следует бояться использовать новые технологии! Преимущества MongoDB: Горизонтальное масштабирование Репликация Производительность
27. Спасибо за внимание! http://www.mongodb.org – официальный сайт mongodb http://groups.google.com/group/mongodb-user - google usergroup http://blog.mongodb.org/ - блогкомпании mongodb