2010-12-01 2 views
2

Я разрабатываю компонент преобразования SSIS, который должен будет хранить содержимое входящего потока данных, а затем выводить данные на более поздний момент времени. Это может быть большое количество записей со многими полями (любого типа данных).Компонент преобразования SSIS: хранилище больших масштабов данных

Например, этот тип хранилища понадобится, если вы разрабатываете компонент «Сортировка», где вы не можете выводить одну запись, пока не будут введены все записи.

Мой вопрос: какова рекомендуемая практика хранения этих временных данных? Примеры Microsoft и Codeplex, которые я видел, несколько тривиальны в том, что они используют структуры в памяти. Я хотел бы избежать этого, поскольку это может показаться очень плохой идеей при работе с большими наборами данных.

Есть ли механизм в библиотеке SSIS для этого? [хорошо, похоже, не существует]

Я рассматриваю несколько вариантов:

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

ответ

2

Нет - в API нет стороннего доступного механизма «буферизации». Вы сами отвечаете за это, включая пейджинг на диск или какой-либо механизм, который вы предпочитаете, чтобы не хранить все строки в памяти.

+0

Слишком плохо. Любые предложения для альтернативных вариантов? – 2010-12-01 18:53:03

Смежные вопросы