Комментарии 16
Осталось узнать какова производительность этого, гм, фреймворка. Пока чем-то напоминает как раз тот самый reduce.
Думаю вы зря так про js с Map-Reduce, правда я его использую в CouchDB и там не ad-hoc.
Думаю вы зря так про js с Map-Reduce, правда я его использую в CouchDB и там не ad-hoc.
В кауче божественный map-reduce!
Производительность относительно M/R выше. Пока еще достаточно много ограничений, но по моим тестам на моих данных быстрее от 2 до 10 раз. Хотя заметно, что кое-где пока что не использует индексы. Впрочем, от distinct мне тоже не удалось добиться консистентной работы с индексами.
c текущим map/reduce еще ведь/ проблема что одновременно выполняется только 1 map reduce, а если новые функции не используют javascript то такого ограничения там не будет.
А если в процессе агрегации какой-то элемент изменяет свои данные, как она себя ведёт?
Главное использовать подходящие инструменты в любой ситуации, иначе получается вот это:
Must. Use. Mongo. DB. It. Is. Web. Scale. www.youtube.com/watch?v=b2F-DItXtZs
Must. Use. Mongo. DB. It. Is. Web. Scale. www.youtube.com/watch?v=b2F-DItXtZs
habrahabr.ru/post/204392/
вот перевод
вот перевод
Я вот думаю: а не проще ли было реализовать SQL синтаксис. Он многим знаком, привычен.
У меня есть сомнения насчет читабельности и сопровождаемости вот такого:
У меня есть сомнения насчет читабельности и сопровождаемости вот такого:
db.zoo.aggregate({$project: {name: 1, holidays: 1}}, {$unwind: "$holidays"},{$match: {holidays : {$gt: -1}}}, {$project: {holidays: 1, _id: 0}});В реальных проектах это будет в 10 раз сложнее.
Как раз наоборот, каждый шаг прост и понятен. А SQL обычно превращается в гигантский «blob-запрос», который нельзя трогать руками иначе всё сломается. Ну и здесь еще соль в том, что всё поддаётся концепции map/reduce (по сути, этот язык — надстройка над типичными операциями map/reduce), а потому все данные проходят через некоторые пайпы, а значит всё прозрачно с точки зрения памяти, необходимой для обработки данных.
Такие структуры кстати проще будет генерировать, чем SQL.
Спасибо за статью.
+1 в карму ;)
+1 в карму ;)
спасибо автору, очень полезная статья
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Новый aggregation framework в MongoDB 2.1