The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Анонсирована документо-ориентированная СУБД MongoDB 3.2

05.11.2015 23:49

Доступен для ознакомления предварительный релиз ориентированной на хранение документов высокопроизводительной и высокомасштабируемой СУБД MongoDB 3.2, занимающей нишу между быстрыми и масштабируемыми системами, оперирующими данными в формате ключ/значение, и реляционными СУБД, функциональными и удобными в формировании запросов. Код MongoDB написан на языке C++ и распространяется в рамках лицензии AGPLv3. Сборки MongoDB 3.2-RC сформированы для Linux, Solaris, Windows и OS X.

MongoDB поддерживает хранение документов в JSON-подобном формате, имеет достаточно гибкий язык для формирования запросов, может создавать индексы для различных хранимых атрибутов, эффективно обеспечивает хранение больших бинарных объектов, поддерживает журналирование операций по изменению и добавлению данных в БД, может работать в соответствии с парадигмой Map/Reduce, поддерживает репликацию и построение отказоустойчивых конфигураций.

В MongoDB имеются встроенные средства по обеспечению шардинга (распределение набора данных по серверам на основе определенного ключа), комбинируя который репликацией данных можно построить горизонтально масштабируемый кластер хранения, в котором отсутствует единая точка отказа (сбой любого узла не сказывается на работе БД), поддерживается автоматическое восстановление после сбоя и перенос нагрузки с вышедшего из строя узла. Расширение кластера или преобразование одного сервера в кластер производится без остановки работы БД простым добавлением новых машин.

Особенности нового выпуска:

  • Средства проверки корректности структуры и содержимого документов, реализованные через привязку к документам специального валидатора, определяющего правила для проверки типов, полей и значений;
  • Новый движок хранения с шифрованием данных (только для MongoDB Enterprise);
  • Новый движок хранения для систем реального времени, размещающий все данные в оперативной памяти;
  • Использование SpiderMonkey в качестве JavaScript-движка для mongo shell и сервера mongod;
  • Новый модуль для сопряжения с системами бизнес-аналитики, такими как Tableau и Qlikview;
  • Compass - графический интерфейс для управления MongoDB, визуализации, изучения данных и формирования выборок без необходимости применения языка запросов MongoDB;
  • Новая система визуального профилирования выполнения запросов, позволяющая оценить возникающие задержки и выделить медленные запросы к БД;
  • Поддержка частичных индексов, включающих только выборочные документы на основании заданного при создании индекса фильтра;
  • Использование по умолчанию движка хранения WiredTiger вместо ранее используемого движка MMAPv1. WiredTiger отличается высоким уровнем масштабуемости на многоядерных системах, предсказуемым временем обработки запроса, не зависящим от числа записей в базе, возможностью блокировки записей на уровне документов и поддержкой хранения данных в сжатом виде;
  • Возможность комбинировать данные из нескольких коллекций документов при помощи оператора $lookup, реализующего слияния типа "left outer join".


  1. Главная ссылка к новости (http://blog.mongodb.org/post/1...)
  2. OpenNews: Выпущен Percona Server для MongoDB
  3. OpenNews: Доступна документо-ориентированная СУБД MongoDB 3.0
  4. OpenNews: Около 40 тысяч серверов MongoDB доступны без аутентификации
  5. OpenNews: Разработчики MongoDB получили 150 млн долларов инвестиций
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/43271-mongodb
Ключевые слова: mongodb, nosql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (19) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 00:47, 06/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Postgres уже догнали по производительности?
     
  • 1.3, Лень логиниться (?), 01:58, 06/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Состоялся релиз
    > The upcoming release will be generally available later this year.

    WHAT?

     
     
  • 2.7, Аноним (-), 08:26, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У них был другой анонс в блоге, будто уже релиз вышел, а не кандидат:
    https://www.mongodb.com/blog/post/announcing-mongodb-3-2

    "Today we announced the release of MongoDB 3.2, the first since I declared a new era of maturity for our product with 3.0. This release continues to make the case for MongoDB...."

    До этого три дня назад было объявление "MongoDB 3.2.0-rc2 is released", после которого вчера опубликовали запись "Announcing MongoDB 3.2". Зачем им два раза объявлять 3.2.0-rc2?
    Сдаётся мне, что релиз был, но после каких-то проблем они по тихому его откатили. На сайте до сих пор сбоку висит огромный баннер "MongoDB 3.2".

     

  • 1.4, Аноним (-), 02:57, 06/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Админка и система профилирования доступны всем, либо только enterprise?
     
  • 1.5, Дмитрий (??), 03:53, 06/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    Проработал с ней 3 года. Ни разу она не высокопроизводительная: PostgreSQL с JSON гораздо быстрее работает.
    Ни разу не "удобными в формировании запросов": запросы на Javascript-е тяжелее писать, чем на SQL, особенно сложные. Добрые люди даже написали сайт чтобы конвертить понятный SQL в мутный mongo-ql: www.querymongo.com (сравните там пример, который вам понятнее?).
    И да, отказоустойчивая my ass! "сбой любого узла не сказывается на работе БД" извините, вы видно не в теме, но сбой одного узла _всегда_ сказывается на любой БД, вопрос в том насколько сильно. У монги запись идёт только через мастер, причём по очереди, мастер-мастера у монги нет, поэтому у нас сервис вставал, когда мастер уходил в нирвану.
    Нет atomic updates, что вообще-то must have для любой БД.
    С ней нормально начинаешь работать только когда обращаешься с ней как с обычным key-value store, думая о том, как ключ выглядит в BSON чтобы индекс правильно построить. А JSON-синтаксис только как малополезная плюшка сверху.
    В общем, хуже базы данных ещё не видал. Выиграли на грамотном пиаре, хотя сейчас у них появились деньги, и надеюсь что допилят до нормального состояния.
    Пока же в ней нет ни одной фичи, которой нет в PostgreSQL. Просто переименовали все БД-термины чтобы подать то же самое под видом нового продукта.
     
     
  • 2.8, bormotov (?), 08:39, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    используем монгу в проекте как "встроенную БД" уже 7 лет, пол года как изучаю, чего умеет кластер.

    > И да, отказоустойчивая my ass! "сбой любого узла не сказывается на работе БД" извините, вы видно не в теме, но сбой одного узла _всегда_ сказывается на любой БД, вопрос в том насколько сильно. У монги запись идёт только через мастер, причём по очереди, мастер-мастера у монги нет, поэтому у нас сервис вставал, когда мастер уходил в нирвану.

    любой кластер нужно уметь готовить.  Постгресовские кластера - одно, оракловые RAC - другое, монговские - третье, кластер кассандры - четвертое и так далее.

    Сейчас мы гоняем кластер монги из 6-ти узлов.  Выключение любых двух узлов на работе приложения не сказывается.  Конечно "запись идет через мастер", поэтому в кластере организовано всё так, что бы база работа при падении двух узлов (такое вот требование по надежности).

     
     
  • 3.16, asdf (?), 14:46, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А голосующих узлов сколько?
     
  • 2.11, Аноним (-), 10:40, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >запросы на Javascript-е тяжелее писать, чем на SQL, особенно сложные

    возможно, просто не стоит хранить реляционные данные в нереляционной СУБД? В интернете есть тонны статей, в которых объясняется, что монга для этого не предназначена, но люди продолжают наступать на те же грабли :)

     
  • 2.15, Аноним (-), 12:47, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Справедливости ради Atomic Updates для BLOB много где нет....
     
  • 2.18, Its me (?), 19:14, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >Проработал с ней 3 года. Ни разу она не высокопроизводительная: PostgreSQL с JSON гораздо быстрее работает.

    Может он работает и быстрее, но с большими ограничениями: частичное обновление json обещают только в 9.5, который еще не вышел. Уникального индекса по элементам json тоже не сделать (как и по обычным array-полям).

    >И да, отказоустойчивая my ass! "сбой любого узла не сказывается на работе БД" извините, вы видно не в теме, но сбой одного узла _всегда_ сказывается на любой БД, вопрос в том насколько сильно. У монги запись идёт только через мастер, причём по очереди, мастер-мастера у монги нет, поэтому у нас сервис вставал, когда мастер уходил в нирвану.

    Я еще ни разу не видел нормального рабочего master-master решения, которое просто работает. Обычно они встают враскоряку в совершенно непредвиденный момент. У вас точно было достаточное количество голосующих нод для кворума?

    >Нет atomic updates, что вообще-то must have для любой БД.

    О каких atomic updates вы говорите? Монга обеспечивает атомарность на уровне документа.

     
  • 2.20, Alex (??), 12:02, 07/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Нет atomic updates, что вообще-то must have для любой БД.

    Попробуйте TokuMX - там есть.

     
  • 2.24, Аноним (-), 14:49, 13/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    если вам нереляционную распределенную - пошшупайте еще мнезию и распределенные форки беркли. про касандру ничего не скажу, не пользовался, но есть довольные и ею, среди знакомых.
     

  • 1.6, о (?), 07:00, 06/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Память она все также выедает?
     
     
  • 2.9, Grammar Narziss (?), 09:22, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +7 +/
    "всё так же", позорище
     
  • 2.19, Its me (?), 19:16, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Память она все также выедает?

    Ради интереса почитайте что такое Memory Mapped Files.

     

  • 1.12, Rodegast (ok), 10:46, 06/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Возможность комбинировать данные из нескольких коллекций документов при помощи оператора $lookup, реализующего слияния типа "left outer join"

    Ух ты! Они что джойны сделали?

     
     
  • 2.14, Аноним (-), 12:06, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, это для получения данных в aggregation из разных коллекций. То что раньше костыляли через несколько раздельных mapReduce в промежуточную collection_in_memory теперь можно делать в одном aggregation.
     

  • 1.13, adolfus (ok), 11:50, 06/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Ключ--значение
    И чем это отличается от CLARION и Btrieve?

     
     
  • 2.22, . (?), 23:12, 07/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Элементарно adolfus (ну и мячко у тебя :-/ )

    Вот смотри сюда: https://www.mongodb.org/community/deployments
    А теперь покажи такой же лист за 2014,2015 для того что ты привёл.
    Делай выводы! (если делатель выводов не протух)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру