Firebird DataGuard - Еще раз об уверенности в завтрашнем дне
Introduction to MongoDB
1. MongoDB Огиенко Юрий linkedin.com/in/ogiienko Zend_Coffee&Code #4 Июль, 2011
2.
3.
4. Коллекции документов База данных - база данных Таблица - Коллекция Строка - Документ Документ это BSON = бинарному JSON Процедуры на JavaScript SpiderMonkey (V8 в будущем)
5. Типы данных 1. BSON типы данных * целочисленные, с плавающей запятой * Unicode строки * бинарные данные * булевые данные * массивы * timstamp и UTC datetime * http://bsonspec.org/#/specification 2. typeof и instanceof 3. Используя PHP и следим за приведениями.
6. Отсутствие схемы данных Храним только необходимые данные: Ни каких больше миграций и блокирующих ALTER TABLE
7.
8. Поиск - find (SQL SELECT) Поиск документов в колекции. При поиске возвращается cursor
9. Поиск - limit, count, sort Получив курсор можно над ним поколдовать:
10. Вставка - insert, save Вставляем обычный JSON объект. Второй параметр safe - гарантирует запись на диск Ограничение на документ - 4mb Скоро будет 16mb Максимум 24000 коллекций
11. Скорость вставки по отношению к размеру блока записи 1.5 mb ~80 insert/sec ~120 mb/sec записи 0.5 mb ~ 300 insert/sec ~150 mb/sec записи 0.03 mb ~ 3500 ins/sec ~105 mb/sec Следим за пропускной способностью канала!
12. Удаление - remove Быстрее всего удалять используя _id документа каторый у вас в памяти. Можно удалять передав полоностью документ в фильтр, но это не эффективно.
19. Скорость вставки по отношению к числу индексов 1 индекс ~4000 insert/sec 20% lock 8 индексов ~ 3500 insert/sec 40% lock 20 индексов ~ 3000 insert/sec 70% lock Используем: db.table.find(col1:"value").sort(col3: -1).limit(20).explain() Следим за "nscanned" и "indexBounds"
24. ReplicaSet Сет реплицируеммых серверов. 1. Должна содержать минимум 3 ноды, для обеспечения отказоустойчивости. 2. Пишем на одну, а читаем со всех 3. Система автоматически преключается и выбирает мастера в случае если текущий упал. 4. В момент падаения вы теряете данные которые неуспели реплицироватся на слейвы.
27. Мониторинг mongostat - основная утилита профилирования insert, query, update, delete - число запросов по нодам getmore - выборка по курсору command - число комманд (gelLastError) flushes - записи на диск, по умолчанию 1 раз в 60 сек.
28. Мониторинг mapped - объем отображаемой виртуальной памяти в РАМ vsize - память виртуальная, отведенная под колекции faults - промахи, когда требуемая страница находится на HDD и ее надо загрузить locked - степень блокировки при записи, обновлении, индексировании idx miss - запросы которые не используют индекс
29. Мониторинг netIn, netOut - объем передаваемых данных по сети conn - число подключений qr, qw, ar, aw - очередь запросов на чтение/запись
31. Инсталяция и поддержка 1. Установка mongoDB 2. Установка драйвера 3. mongod.lock - при некорректном падении базы, необходимо удалить lock файл и выполнить комманду repair