В компании, в которой я работаю, работает проект C#, который сканирует данные со 100 сайтов, сохраняя их в БД и выполняя некоторые процедуры и вычисления по этим данным.системная архитектура для данных в реальном времени
Каждый из этих 100 сайтов имеет около 10000 событий, и каждое событие сохраняется в БД.
После этого данные, которые были сохранены, сгенерированы и объединены в один большой xml-файл, поэтому каждый из этих 10000 событий, которые были сохранены, теперь представлен как XML-файл в БД.
Эта конструкция выглядит следующим образом:
1) crawling 100 websites to collects the data and save it the DB.
2) collect the data that was saved to the DB and generate XML files for each event
3) XML files are saved to the DB
Основной проблемой для этой должности, является выбор сохраненных файлов XML.
Каждый XML составляет около 1 МБ, и учитывая тот факт, что существует около 10 000 событий, я не уверен, что SQL Server 2008 R2 является правильным вариантом.
Я попытался использовать Redis, и сохранение работает очень хорошо (и быстро!), Но запрос на получение этих XML-файлов работает очень медленно (даже локально, поэтому сетевой трафик не будет проблемой).
Мне было интересно, что вы думаете? учтите, что это система реального времени, поэтому кэширование здесь не является вариантом.
Любая идея будет приветствоваться.
Спасибо.
Вместо того, чтобы хранить большие файлы XML в базе данных, не будет ли он экономить ресурсы, если вы должны сохранить данные о событиях в таблице событий и создать файл XML для события/с при запросе данных? Это также позволит вам создавать несколько типов форматов для таких событий, как HTML, JSON и т. Д. Это также позволит вам запускать запросы о событиях, которые вам нужно в любой момент - например, события, происходящие в следующие 2 дня и т. Д. –
Эти XML запрашиваются сотни раз каждую минуту, так что потребуется много времени, чтобы генерировать их во время выполнения, что практически невозможно. Я предпочитаю их генерировать один раз, сохранять их в БД и предоставлять всем нашим клиентам эти XML. Проблема в том, что SQL Server 2k8 R2 не подходит. –
Итак, эти фиксированные XML-файлы, и клиентский запрос будет производить один или несколько из них на основе каких-то критериев? –