Статьи с тегом mongodb

Пробуем JSON в Django и PostgreSQL (и сравниваем с MongoDB)

Пробуем JSON в Django и PostgreSQL

В Django 1.9 будет добавлено поле JSONField, его можно использовать с базой данных PostgreSQL >= 9.4. Давайте попробуем с ним поработать и оценить, насколько оно удобно.

На данный момент доступна альфа версия django 1.9, финальная запланирована на декабрь 2015. Установить альфа версию можно так:

pip install --pre django

Итак представим, что у нас есть интернет магазин, в котором мы предлагаем товары разных типов. Например, ноутбуки и футболки. Очевидно, что у таких товаров будет ...

Добавлено 2015-09-30

Timestamp и ObjectId в mongoDB

Timestamp и ObjectId из mongoDB

У каждой записи в mongoDB есть поле _id, которое должно быть уникальным в коллекции. По умолчанию тип этого поля - ObjectId, и оно присваивается автоматически, если поле не заполнено при сохранении.

Давайте рассмотрим, что из себя представляет тип ObjectId.
Это 12 байт, которые состоят из:

  • 4 байта, содержащие количество секунд с начала Unix эпохи
  • 3 байта, содержащие идентификатор устройства
  • 2 байта, содержащие id процесса
  • 3 байта, содержащие счетчик, который стартует со случайного значения

Как видим, первые ...

Добавлено 2015-01-18

Что нужно знать об индексах в mongodb

Что нужно знать об индексах в mongodb

Недавно закончил курс "M101P: MongoDB for Developers" (он периодически повторяется, например следующий стартует в апреле). В процессе прохождения натолкнулся на некоторые интересные моменты.

1. Выбор индекса для запроса.

Допустим у нас коллекция с такими данными:

{ "_id" : ..., "a" : 81810, "b" : 97482, "c" : 44288 }
{ "_id" : ..., "a" : 11734, "b" : 27893, "c" : 19485 }
// и т.д.

Всего 99999 объектов. У коллекции есть индексы:

db.foo.ensureIndex({a: 1, b: 1, c: 1})
db.foo.ensureIndex({c: -1})

Вопрос: какой ...

Добавлено 2014-03-07

Tornado: пример веб приложения

Tornado: пример веб приложения

Tornado - асинхронный веб фреймворк для python'а. Вначале я приведу краткий перечень плюсов и минусов tornado, а потом расскажу о типовом веб проекте с использованием этого инструмента.

Плюсы tornado

В плюсах и минусах я буду приводить свое личное ощущение по сравнению с django.

1. Асинхронность.

Торнадо представляет из себя бесконечный цикл (ioloop), который постоянно проверяет наличие событий. Все это происходит в одном потоке. К примеру кто-то обратился по адресу /home/. Допустим в качестве обработчика этого ...

Добавлено 2013-12-29