Хранение DateTime в MongoDB влияет на производительность - PullRequest
1 голос
/ 11 февраля 2011

Мы обсуждаем хранение дат в MongoDB. Я все еще довольно новичок в Mongo, поэтому, когда я вижу следующее в документации (http://api.mongodb.org/perl/MongoDB/DataTypes.html#Dates), мне интересно:

Предупреждение: создание объектов DateTime очень медленно Рассмотрим сохранение дат как числа и преобразование чисел DateTimes, когда это необходимо. Один Поле DateTime может сделать десериализация до 10 раз медленнее.

Если мы просто сохраняем их и заставляем их отправлять запрос по объектам в магазине, это одно, но кажется, что если мы фильтруем или сортируем эти поля, это другое. Проблема заключается в приведении числа к дате и времени. Любые мысли по поводу производительности приветствуются. Спасибо.

Ответы [ 2 ]

6 голосов
/ 11 февраля 2011

Внутренне и datetime, и long хранятся в виде 64-битных целых по bsonspec http://bsonspec.org/#/specification. Так что не будет дополнительного штрафа перфорации из-за преобразования с точки зрения сервера.проблема с медлительностью DateTime в Perl.Примечание: используйте datetime или long последовательно, поскольку одно не будет совпадать с другим.

4 голосов
/ 12 февраля 2011

Упоминается в другом месте этого разговора, но стоит подытожить:

Проблема производительности, о которой идет речь, является чисто проблемой Perl и связана со стоимостью создания объекта DateTime в Perl.Это никак не связано с производительностью MongoDB в целом или драйверов MongoDB для языков, отличных от Perl.Драйвер C # не должен иметь проблем с производительностью с DateTimes.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...