Выбор разумного решения: SQL Server или обработка файлов для массовых данных? - PullRequest
0 голосов
/ 29 сентября 2011

У нас есть несколько файлов, сгенерированных из теста, каждый файл содержит почти 60000 строк данных.Требуется рассчитать количество параметров с помощью данных, представленных в этих файлах.Возможны два способа обработки данных:

  1. Каждый файл читается построчно и обрабатывается для получения необходимых параметров
  2. Данные файла массово копируются в таблицы базы данных.и требуемые параметры вычисляются с помощью агрегатных функций в хранимой процедуре.

Я пытался выяснить накладные расходы, связанные с обоими методами.Поскольку база данных предназначена для обработки таких ситуаций, я обеспокоен накладными расходами, которые могут быть проблемой, когда база данных увеличивается.

Повлияет ли это на скорость извлечения данных из таблиц, что замедляет вычисления?Таким образом, обработка файлов будет лучшим решением с учетом размера базы данных?Должно ли разделение базы данных решить проблему для большой базы данных?

Ответы [ 3 ]

1 голос
/ 02 января 2013

Рассматривали ли вы использование map-Reduce (скажем, в Hadoop, возможно, с HBase) для выполнения этих задач? Если вам нужна высокая пропускная способность при больших объемах данных, это очень масштабируемый подход. Конечно, не каждая проблема может быть эффективно решена с помощью этой парадигмы, и я не знаю деталей вашего расчета.

0 голосов
/ 30 сентября 2011

вы можете запустить запрос непосредственно из текстового файла из SQL

SELECT * FROM   OPENROWSET('MSDASQL',  
   'Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=C:\;', 
   'SELECT * FROM [text.txt];')
  • Для этого необходимо включить распределенные запросы.

Или как выупомянул, что вы можете загрузить данные в таблицу (используя SSIS, BCP, запрос выше ..).Вы не упомянули, что это значит, что база данных будет больше.60 тысяч строк для таблицы - это не так много (это значит, что она будет работать хорошо).

0 голосов
/ 29 сентября 2011

Если вы правильно настроите индексы, у вас не будет проблем с производительностью. Кроме того, ничто не мешает вам загружать файлы в таблицу и выполнять вычисления, а затем перемещать данные в архивную таблицу или удалять их вообще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...