Pull to refresh

Comments 16

Осталось узнать какова производительность этого, гм, фреймворка. Пока чем-то напоминает как раз тот самый reduce.
Думаю вы зря так про js с Map-Reduce, правда я его использую в CouchDB и там не ad-hoc.
Производительность относительно M/R выше. Пока еще достаточно много ограничений, но по моим тестам на моих данных быстрее от 2 до 10 раз. Хотя заметно, что кое-где пока что не использует индексы. Впрочем, от distinct мне тоже не удалось добиться консистентной работы с индексами.
c текущим map/reduce еще ведь/ проблема что одновременно выполняется только 1 map reduce, а если новые функции не используют javascript то такого ограничения там не будет.
А если в процессе агрегации какой-то элемент изменяет свои данные, как она себя ведёт?
Думаю, агрегация вешает write lock.
Я вот думаю: а не проще ли было реализовать 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), а потому все данные проходят через некоторые пайпы, а значит всё прозрачно с точки зрения памяти, необходимой для обработки данных.
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Такие структуры кстати проще будет генерировать, чем SQL.
Sign up to leave a comment.

Articles