Сторонние данные - хранить в хранилище данных или в основной базе данных?

Это в основном вопрос философии хранилища данных.

Мой проект включает приложение Oracle Forms и хранилище данных Teradata для отчетов и специальных целей. Помимо первичных данных, созданных пользователями нашего приложения, нам также требуются данные из различных других источников. В настоящее время эти сторонние данные поступают через плоские файлы FTPd непосредственно в наше хранилище данных. Для доступа к данным наши пользователи должны использовать серию настраиваемых отчетов BusinessObjects.

У меня вопрос: не имеет ли смысл отправлять эти данные в нашу исходную систему Oracle? Уместно ли когда-либо, чтобы хранилище данных было отправной точкой для доступа пользователей к необработанным данным?

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


person brydgesk    schedule 09.04.2010    source источник


Ответы (1)


Мы делаем либо в зависимости от ситуации.

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

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

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

person HLGEM    schedule 09.04.2010
comment
Спасибо за понимание. Рассматриваемый проект - это система алиментов, и нам нужны данные других правительственных агентств для определения местонахождения и удержания дохода. Например, родитель, не соблюдающий правила, может дать вам поддельный адрес, но дать DNR реальный, когда они получат лицензию на охоту. Таким образом, работникам, ведущим дела, было бы полезно иметь данные, доступные в основном приложении, а не получать отдельный отчет DNR со склада. Согласны ли вы с этим, учитывая, конечно, ограниченное количество информации, которую я дал? - person brydgesk; 10.04.2010
comment
Да, но я бы поместил это в отдельные таблицы, в которые пользователи не имеют права записи. Затем в приложении сотрудники, ведущие дела, могли видеть свой адрес, а также другие потенциальные адреса и источник адреса, но могли только изменить свой системный адрес. Фактически, я бы поместил кнопку на адресах из других источников, которая позволила бы им копировать эти данные на свой адрес, если они обнаружат, что один из других адресов является правильным. - person HLGEM; 12.04.2010
comment
И удачи вашим социальным работникам в отслеживании схваток, которые не платят алименты. - person HLGEM; 12.04.2010