URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 86244
[ Назад ]

Исходное сообщение
"Релиз документо-ориентированной СУБД MongoDB 2.2"

Отправлено opennews , 31-Авг-12 13:31 
Представлен (http://blog.mongodb.org/post/30451575525/mongodb-2-2-released) релиз ориентированной на хранение документов высокопроизводительной и высокомасштабируемой СУБД MongoDB 2.2 (http://www.mongodb.org), занимающей нишу между быстрыми и масштабируемыми системами, оперирующими данными в формате ключ/значение, и реляционными СУБД, функциональными и удобными в формировании запросов. Код MongoDB написан на языке C++ и распространяется в рамках лицензии AGPLv3.


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

В новой версии внесено около тысячи изменений, связанных с добавлением новых возможностей, исправлением ошибок и оптимизациями производительности. Основной упор при подготовке выпуска был сделан на увеличение гибкости и производительности.  Из улучшений (http://docs.mongodb.org/manual/release-notes/2.2/#changes), добавленных в MongoDB 2.2, можно отметить:

-  Добавлен Aggregation Framework (http://docs.mongodb.org/manual/aggregation/), нацеленный на упрощение манипулирования и обработки документов в MongoDB. Вместо необходимости использования парадигмы Map/Reduce или запуска отдельного процесса-обработчика, фреймворком предоставляется (http://docs.mongodb.org/manual/reference/aggregation/) набор более привычных агрегатных функций (sum, min, max, avg)  и операторов фильтрации, сортировки и группировки, управление которыми осуществляется через вызов db.collection.aggregate(). Логика построения выражений в db.collection.aggregate() чем-то напоминает (http://docs.mongodb.org/manual/tutorial/aggregation-examples/) построение запроса SQL;

-  Добавлена поддержка метода шардинга "tag aware sharding (http://www.mongodb.org/display/DOCS/Tag+Aware+Sharding)", позволяющего при использовании шардинга в кластере с территориально разнесёнными узлами гарантировать оптимальное распределение данных, при котором требуемые приложениям данные размещены на узлах, ближайших к потребителю, наиболее часто запрашивающему эти данные. Привязка к узлам осуществляется путем назначения тегов, на основании которых создаются логические области шардинга, например, всем данным которые должны быть доступны в США можно присвоить тег USA и привязать его к узлам, размещённым в нужном датацентре;

-  Полная поддержка семантики (http://docs.mongodb.org/manual/applications/replication/#rep...) для выбора источника операций чтения данных, что позволят клиенту перенаправить выполнение операций чтения на вторичные узлы, реплицирующие эти данные. Указанная возможность позволяет разгрузить первичные узлы репликации, запросы к которым ранее осуществлялись в первую очередь. Например, можно использовать вторичные реплики в таких ситуациях как выполнение резервного копирования, создание сложных отчётов и для минимизации задержки при построении территориально распределённых систем;

-  Продолжение работы по увеличению параллелизма обработки данных. Новая версия полностью избавлена от глобальной блокировки в процессе mongod. Блокировка отныне осуществляется отдельно для каждой базы данных, т.е. данные из разных баз могут обрабатываться параллельно. Кроме того новая подсистема позволяет избежать блокировок в процессе обращения к невыделенным страницам памяти (page faults), что позволяет повысить параллелизм выполнения операций и для систем, обслуживающих  одну БД. Кроме того, проведена работа по увеличению параллелизма на стороне клиента;


-  Поддержка TTL-коллекций, позволяющих удалять из коллекций просроченные данные, используя специальный тип индекса и обслуживающую выполнение чистки фоновую нить, ежеминутно проверяющую наличие документов с истекшим временем жизни.
TTL-коллекции удобно использовать при хранении логов, сессий и данных о событиях, которые имеют актуальность ограниченный период времени.

URL: http://blog.mongodb.org/post/30451575525/mongodb-2-2-released
Новость: http://www.opennet.me/opennews/art.shtml?num=34702


Содержание

Сообщения в этом обсуждении
"Релиз документо-ориентированной СУБД MongoDB 2.2"
Отправлено o , 31-Авг-12 13:31 
С точки зрения эксплуатации мне это поделие совсем не нравится. Как оно так написано на C++, а тянет за собой зависимости как будто написано на каком нибудь перле или яваскрипте. Да и со стабильностью не все гладко и с расходом памяти.
А програмистам естественно нравится.

"Релиз документо-ориентированной СУБД MongoDB 2.2"
Отправлено Михаил , 31-Авг-12 14:09 
А мне с точки зрения эксплуатации очень даже ничего. Сильных больших зависимостей не увидел. Порты рулят. Да, используют они буст-библиотеку С++, ну собирается она не быстро. Дык один раз же.

"Релиз документо-ориентированной СУБД MongoDB 2.2"
Отправлено Аноним , 31-Авг-12 14:13 
Возможно, вы не умеете его готовить? У меня в production стабильные версии mongo используются уже три года, никаких падений и учечек. Как часы.

"Релиз документо-ориентированной СУБД MongoDB 2.2"
Отправлено o , 31-Авг-12 15:41 
Дело не в утечках.
Погуглите на слова mongodb memory limit.

"Релиз документо-ориентированной СУБД MongoDB 2.2"
Отправлено etw , 01-Сен-12 06:23 
Сколько машин в кластере?

"Релиз документо-ориентированной СУБД MongoDB 2.2"
Отправлено an. , 31-Авг-12 15:21 
Как раз сегодня читал мнение одного блоггера на тему увеличения производительности MongoDB в реальном проекте: http://deepencpp.blogspot.com/2012/08/mongodb-mapreduce-shar... И какие-то печальные у него отзывы об этом продукте.

P.S. Никакого отношения к автору не имею, рекламных целей не преследовал. Думаю, кому-то может быть интересно.


"Релиз документо-ориентированной СУБД MongoDB 2.2"
Отправлено n , 31-Авг-12 15:25 
aggregation framework - вот этого ждал больше всего, можно начинать убирать костыли:)

"Релиз документо-ориентированной СУБД MongoDB 2.2"
Отправлено Аноним , 31-Авг-12 17:21 
> The current implementation of $sort does not go to disk in these cases: in order to sort the contents of the pipeline, the entire input must fit in memory.

Хотел потестить но это же блин опять игрушки какие-то...


"Релиз документо-ориентированной СУБД MongoDB 2.2"
Отправлено stalker37 , 31-Авг-12 23:16 
а ещё очень сильно не хватает возможности ограничить коннекты к серверу per user. Когда 1 пользователь может нагадить всем остальным

"Релиз документо-ориентированной СУБД MongoDB 2.2"
Отправлено Сергей , 02-Сен-12 01:41 
Is /dev/null a web-scale?

Почему программисты на JS так её любят?


"MongoDB is web scale"
Отправлено how , 02-Дек-13 00:58 
http://habrahabr.ru/post/204392/
для тех, кто не в курсе, вот перевод "MongoDB is web scale"