Нужен простой и быстрый способ хранения больших объемов XML на сервере
Наше клиентское программное обеспечение в настоящее время отправляет большие объемы XML на нашу базу данных SQL Server, хранящуюся как NTEXT, и база данных становится огромной, а производительность страдает. Этот xml не нужно индексировать, просто нужно каким-то образом его сохранить на диск. Существует ли простой и надежный способ хранения этого материала на диске на удаленном сервере? Я посмотрел в CouchDB, но я уверен, что есть более простой способ сделать это. Я предпочитаю Unix Solution, но все идет.
Спасибо!
2 ответа
Я бы использовал rsync и сохранял его как плоские файлы если вам не нужна индексация, вам не нужна база данных. Таким образом, когда вам нужно добавить больше данных к тому, что там, вам не нужно отправлять весь файл заново.
Это должно быть так просто, как rsync -avz source/dir/ remote:/path/to/dest/dir
если на удаленном сервере работает SSH; man-страница может рассказать вам больше (будьте осторожны с закрывающей косой чертой, я могу помочь вам с этим, если мне дадут более конкретные детали, если хотите).
Поскольку нет необходимости использовать функции SQL (например, тип XML в Microsoft SQL Server), я бы предложил хранить файлы непосредственно на жестком диске.
В зависимости от контекста, вы можете создать общий каталог с доступом только для записи (это было возможно в Windows XP, поэтому, возможно, это возможно с решением Unix).
Или, если клиентское программное обеспечение используется за пределами локальной сети, вы можете получать данные XML через веб-службы и сохранять их на жестком диске. Или, если производительность является серьезной проблемой, вы можете использовать протокол HTTP напрямую (POST/PUT) вместо использования веб-сервисов.