MapReduce с использованием SQL Server в качестве источника данных

В настоящее время я изучаю возможность использования MapReduce для поддержки инкрементных построений представлений в SQL Server.

В основном, используйте MapReduce для создания материализованных представлений.

Я немного застрял. думаю о том, как разделить мои карты выходы. Сейчас у меня действительно нет ситуации с BigData, примерно 50 ГБ - это максимум, но у меня много сложностей и подразумеваемых проблем с производительностью. Я хочу посмотреть, может ли мой подход MapReduce / NoSQL оправдать себя.

В MapReduce у меня сейчас проблемы с разбиением на разделы.Поскольку я использую SQL Server в качестве источника данных, локальность данных на самом деле не является моей проблемой, и поэтому мне не нужно отправлять данные повсюду, скорее, каждый рабочий должен иметь возможность извлекать часть данных. на основе определения карты .

Я намереваюсь полностью сопоставить данные с помощью LINQ и, возможно, чего-то вроде Entity Framework, просто чтобы обеспечить знакомый интерфейс, это не совсем важно, но это текущий маршрут, который я исследую.

Как мне разделить мои данные? У меня есть первичный ключ, у меня есть map и сокращение определений в терминах деревьев выражений (AST, если вы не знакомы с LINQ).

  • Во-первых, как мне придумать способ разделить весь ввод и разделить исходную проблему (я думаю, я должен иметь возможность использовать агрегаты окон в SQL Server, такие как ROW_NUMBER и ПЛИТКА ).

  • Во-вторых, что более важно, как мне убедиться, что я делаю это постепенно? То есть, если я добавлю или внесу изменение в исходную проблему, как мне эффективно гарантировать, что я минимизирую количество необходимых повторных вычислений?

Я смотрел на CouchDB в поисках вдохновения, и они кажется, есть способ сделать это, но как мне использовать некоторые из этих качеств с помощью SQL Server?

6
задан John Leidegren 26 October 2011 в 14:37
поделиться