Анонс MongoDB 3

Как-то незаметно прошел анонс новой версии MongoDB. Изменение номера версии с 2 на 3 указывает на значительные изменения внутри базы данных. Разработчики заявляют о значительном увеличении производительности и улучшении маштабируемости. Немного подробнее под катом.
image

Непосредственно анонс был 3 февраля. Если коротко, то третья версия теперь использует по умолчанию отрытый движок хранения данных WiredTiger, который был основан и разработан доктором Майклом Кэхиллом (Dr Michael Cahill), который ранее внес вклад в развитие PostgreSQL, и Кейтом Бостик (Keith Bostic), который известен своим вкладом в развитии Unix. Использование нового ядра поможет лучше и быстрее реализовать новый функционал, избавиться от узких мест и выдерживать более высокие нагрузки. Также в новой версии предоставят новое API.

Интеграция с WiredTiger позволит использовать сжатие, блокировки на уровне записи, обработку транзакций с множеством документов и поддержки дерева слияния со структурой журнала (Log-Structured Merge-Trees, LSM), а также позволит управлять конкурентным доступом с помощью многоверсионности (MultiVersion Concurrency Control, MVCC).

Чтобы не быть голословным, по этой и этой ссылке можно посмотреть бенчмарки.

image

Если хочется пощупать сейчас, то на сайте mongodb.org на данный момент можно скачать 11 релиз — кандидат.
По этой ссылке можно узнать подробный changelog.

ВНИМАНИЕ!(на всякий пожарный) Это не финальная версия и поэтому разработчики очень просят не использовать текущую версию в продакшине.

UPDATE. Также пока что не поддерживается SSL шифрование;
outcoldman
SSL поддерживается, но только в enterprise версии на данный момент, либо если клмпилировать самому. Они просто вроде намекают, что будет в бесплатной.


Подведя итог можно сказать, что проект действительно нуждался в изменениях. При всех своих плюсах MongoDB часто подкладывала свинью разработчикам в совершенно неожиданных местах. Посмотрим что нам принесет хорошего релиз.
Share post

Similar posts

Comments 36

    +1
    Хорошая новость. А когда планируется выпустить стабильную версию?
      +2
      Хотят в марте
      +20
      «document-level locking» — ура, товарищи!
        +1
        А есть ли где-нибудь бенчмарки MongoDB 2.6 vs MongoDB 3.0?
          0
          Есть 3.0 vs 3.0 + beta модуля хранения от Tokutek
            0
            Нашел про сжатие в моного 3.0, впечетляет: comerford.cc/2015/02/04/mongodb-3-0-testing-compression/. В итоге имеем результаты, что монго 3.0 в среднем тратит на 30-40% меньше дискового пространства.
            0
            Хотелось бы бенчмарков GridFS. Как раз думаем, использовать ли её в продакшне.
              0
              не надо :) нам не нравиться, лучше S3 или подобное решение
                0
                А какой тип нагрузки у вас? И тип хранимых данных?
                  0
                  Скриншоты – s.pr-cy.ru/screenshots/shots/habrahabr.ru проблема в записе, на чтение ещё более менее. Конечно может оказаться что мы просто не умеем её готовить, но в любом случае сложилось мнение что использовать базу для таких задач это перебор.
                    +1
                    У нас 11 ТБ мелких файлов по 2–4 МБ, которые нужно ротейтить каждый день, причём выборку очень желательно делать не тупым перебором, а SQL-запросами, например. Что посоветуете?
                      0
                      То есть примерно 3 666 666 файлов? Чем файловая система не устраивает? Иерархическую структуру построить по нужным для выборки признакам.
                        0
                        Забыл указать, что данные нужно реплицировать на две ноды. Пока всё живёт на гластере, но это медленновато, особенно, когда нужно 200-300 тысяч файлов выбрать и удалить.
                          +1
                          Попробуй-те elliptics — github.com/reverbrain/elliptics распределенная хранилка, как раз для такого типа данных. Хранилище типа append-only с дефрагментацией постфактум. У нас с модификациями отлично 2 млрд файлов по 10-12 Кб хранит.
                            0
                            Для них лучше будет поднять zfs с hast или в линуксе если то с iscsi zraid.
              0
              SSL поддерживается, но только в enterprise версии на данный момент, либо если клмпилировать самому. Они просто вроде намекают, что будет в бесплатной.
                0
                Отличная Новость
                  +6
                  Для разработчиков руби есть еще несколько хороших новостей.
                  1) mongo драйвер сильно переписан и будет официально поддерживаться командой mongo
                  2) Разработчик Mongoid в штате mongo
                  3) Mongoid 5.0 перейдет на использование официального драйвера вместо moped
                  4) Выпуск нового драйвера после релиза mongo 3.0

                  Mongo работает сейчас над унификацией драйверов для разных языков.
                    +1
                    А еще есть замечательный неблокирующий драйвер mongо для python — Motor.
                      0
                      Отличный драйвер, только благодаря ему и получается эффективно файлы из gridfs раздавать.
                        0
                        А mod_gridfs не пробовали? Если сравнивали, поделитесь наблюдениями, пожалуйста.
                          0
                          Пробовали. Без вариантов, упретесь в число apache вокеров. Для nginx тоже нет асинхронного модуля. Мы используем несколько вокеров tornado + nginx как балансер.
                      0
                      Да, драйвер для Ruby был странноват. Есть где-нибудь подробное описание нового драйвера?
                        0
                        Кстати, Mongo-tools теперь написаны на go (т.е. mongodump, mongorestore и так далее), да и в сервисе MMS используются многие части на go, так что ситуация с go тоже очень даже приятная.
                        –2
                        Хорошая новость! Спасибо!

                        более лучшей маштабируемости

                        Да, и одеваться мы стали более лучше! Поправьте, пожалуйста, очень режет глаз.
                        +4
                        Это все ОК, но почему в тегах присутствует «Amazon Web Services»? :-)
                          +1
                          А кто уже узнавал, она совместима с прошлой версией?
                          Могу ли я просто обновить версию и надеятся, что она будет работать над старыми данными с помощью api вызовов от старого же кода?
                            +2
                            В общем случае сможете
                              0
                              Как обычно, нужен апгрейд структуры базы. И если у Вас многотерабайтданных, то все становится очень весело…
                                0
                                Тулзы для апгрейда надеюсь идут с базой?
                                  +2
                                  Идут, но фишка в том, что если у вас терабайты данных — самым безопасным способом апгрейда будет dump & restore. А со сменой движка на WildTiger — это единственный способ апгрейда.
                                  Вместе с каждой новой версией они еще должны давать 30TB NAS во временное пользование…
                                    0
                                    Я наверное скажу ересь, но если все работает, можно просто не обновляться.
                                      0
                                      Оно в реальности так и происходит. До тех пор пока их mms или саппорт не начнет орать о старой версии «Вы используете устаревшую версию»…

                            Only users with full accounts can post comments. Log in, please.