Хорошая методология доступа к данным для инструмента планирования? - PullRequest
1 голос
/ 07 сентября 2011

Я собираю / поддерживаю некоторые инструменты планирования со следующими характеристиками:

-данные загружаются (только для чтения) из MsAccess / SQLServer в C # framework 3.5.Данные загружаются в SQLServer / MsAccess из системы ERP.

-Загружаются значительные объемы данных об обслуживании (скажем, в общей сложности 2000 000 записей из различных таблиц), все эти данные необходимы одновременно для планирования.

В настоящее время я использую типизированные таблицы данных, которые я заполняю с помощью tableadapter.Затем я перебираю строки в каждой таблице, создавая пользовательские объекты, содержащие одинаковые данные.Остальная часть моего кода работает только с этими пользовательскими объектами.

Какие есть альтернативы этому подходу и каковы плюсы / минусы альтернатив по этому подходу с точки зрения удобства сопровождения и скорости загрузки (из SQL Server /MSAccess в память)?

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

Ответы [ 2 ]

1 голос
/ 07 сентября 2011

Ради производительности и во избежание повторного изобретения колеса я настоятельно рекомендую использовать библиотеку ETL - например, RhinoETL

1 голос
/ 07 сентября 2011

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

Но, опять же, если он работает так, как есть, то это нормально.

ps Как и billinkc, мне интересно узнать о msAccess - может ли он действительно хорошо работать с этими объемами данных?

...