Модель программирования
В течение 1970-х в исследовательском сообществе баз данных велись бурные дебаты между сторонниками реляционного подхода и приверженцами Codasyl . Основным предметом спора было то, как следует писать программу для доступа к данным в СУБД:
В конце концов, победила первая точка зрения, и прошедшие 30 лет доказали значимость реляционных систем баз данных. Программы на языках высокого уровня, таких как SQL, проще писать, проще изменять и проще понимать новому человеку. Codasyl критиковался за то, что в этом подходе предлагался «язык ассемблера для доступа к базам данных». MR-программирование в чем-то аналогично Codasyl-программированию: человека вынуждают писать алгоритмы на языке низкого уровня для выполнения манипуляций над записями. С другой стороны, для многих людей, привыкших к программированию на процедурных языках, таких как C/C++ или Java, описание задач на декларативном языке, подобном SQL, может быть затруднительно.
По сведениям из сообщества MR, в нем широко распространено совместное использование фрагментов кода MR, предназначенных для выполнения часто встречающихся задач, таких как соединение наборов данных. Для облегчения ноши повторной реализации повторяющихся задач сообщество MR переходит к использованию высокоуровневых языков, реализуемых на основе текущего интерфейса, чтобы перенести эти функциональные средства в систему поддержки времени выполнения. В этом направлении примечательными проектами являются Pig и Hive .