фон:Workflow сайта - Админцентр дизайн советы
Я начинаю архитектор/создать новый веб-сайт, который будет отслеживать рабочий процесс количества проектов большого. Каждому проекту будут присвоены этапы (планирование, внедрение, пост-реализация, закрытие и т. Д.)). Каждая из фаз содержит различные задачи и т.д.
Некоторые могут спросить, «Это звучит очень похоже на программное обеспечение другой Workflow Management (WMS), которая уже существует, то почему бы не использовать это?»
В дополнение к этот сайт отслеживает каждую фазу, как и другие инструменты WMS, ей также необходимо напрямую взаимодействовать с другими системами (разными доменами) и программным обеспечением (API/WMI) непосредственно со страниц. Это позволит нашим администраторам поддерживать объекты групповой политики Active Directory, обеспечить правильное инициализацию новых компьютеров правильными настройками, контролировать точность базы данных SQL на удаленных компьютерах и многое другое. И для тех, кто считает, что это важно для вопроса ... В настоящее время я планирую создать веб-сайт с помощью .NET.
Как многие из вас знают, проекты и стандарты меняются быстрыми темпами в деловом мире. Таким образом, я хочу сделать этот сайт динамичным и быстрым, насколько это возможно, в отношении каждой фазы и задачи. Например, партнерам, возможно, потребуется выполнить дополнительную задачу для каждого проекта, который ранее не был определен. Затем нам нужно будет иметь возможность вносить быстрые изменения во все текущие открытые записи проекта и все новые проекты в будущем, чтобы добавить новый элемент в контрольный список.
Вопрос:
В опыте каждого, что ты нашел, чтобы быть лучшим способом для хранения больших объемов данных, что требует новых изменений данных часто?
Начальные мысли:
SQL/База данных для хранения:
Плюсы:
- Легко хранит большие объемы данных.
- Возможность связывать проекты/фазы/задачи с помощью первичных и внешних ключей
- Хранимые процедуры на задней панели помогут с манипулированием базой данных и позволяют изменять запросы без необходимости перекомпилировать сайт. (! Big Plus)
Минусы:
- Новые пункты контрольного списка привели бы к необходимости новых столбцов, которые будут созданы в каждой таблице.
- Сложность каждой задачи может привести к объединению большого количества таблиц.
- После создания новых столбцов каждая хранимая процедура потребуется изменить, чтобы включить новый столбец в ее манипуляции.
XML/YAML/Любой язык разметки
Pros:
- легко манипулировать с "идти-вперед" изменения точки зрения.
- Легко создавать новый «узел» под каждой стадией задачи, которая может обновлять веб-страницы.
Минусы:
- Сохранение данных в файлы имеют высокую летучесть (файлы могут быть удалены, и никаких данных не восстановить).
- Потенциальные проблемы с пользователями, пытающимися получить доступ к файлам в одно и то же время, будут вызывать ошибки (необходимо было бы встроить «блокировки» в код для чтения/обработки данных файлов).
Итоговые комментарии:
Я склоняюсь к памяти SQL/Database, но не вижу изменений в конструкции/рамки будучи быстрым подвигом. Если есть какие-то методы хранения данных, которые я оставляю, которые могут быть потенциально лучше подходят для решения, пожалуйста, дайте мне знать.
Спасибо всем.
Я думаю, что SQL Server хорошо подойдет вам. У этого есть хороший gui и много различных инструментов с этим. Что касается обновления, это так же просто, как резервное копирование и восстановление вашей базы данных в самой новой версии. Я использовал несколько различных систем, таких как Oracle, Postrgres, Teradata и другие; до сих пор SQL Server мы любим легко перемещаться и тонны документации в Интернете. –
@WesPalmer Спасибо Уэс. Я тоже так наклоняюсь.Не кажется, что будет легко решить проблему быстро меняющейся среды. На каждом маршруте требуется изменение бэкэнд и переднего конца, когда требуется добавление. –