Должны ли мы перейти к базе данных из файлов XML? - PullRequest
0 голосов
/ 09 ноября 2011

У нас есть приложение, которое сохраняется в файлах XML.За исключением одного большого XML-файла (который действует как индекс для других файлов), все остальные файлы хранятся в отдельных папках и очень маленькие (в основном они содержат метаданные о документе (например, видео / pdf и т. Д.)).

С реляционной точки зрения существует не слишком много связей между данными / объектами, кроме метаданных, связанных с документом, который физически хранится на диске (т.е. через путь к каталогу).Таким образом, все данные связаны с документами.

Помимо поиска в файле индекса XML, все остальные операции поиска выполняются с помощью «поиска по индексу Windows».

Хотя система предназначена для одногоПользователь в будущем будет изменен на несколько пользователей, что означает, что индексный файл будет иметь несколько пользователей, обновляющих его одновременно.Этот файл может стать очень большим (более 10000 записей, где каждая запись содержит некоторые метаданные и ссылку на документ на диске)

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

Учитывая все это, я вижу, что наличие базы данных может решить некоторые из проблем, но есть много работы, чтобыперейдите к этапу, на котором мы должны решить проблемы (например, создать модель ORM, базу данных, репозитории, команды и т. д.).

Мой вопрос или вопросы могут быть решены некоторыми из этих проблем другими способами без прохождениямаршрут базы данных?

TIA JD

Ответы [ 2 ]

2 голосов
/ 09 ноября 2011

Мне кажется, что ваша рабочая нагрузка определенно движется в направлении, которое требует базы данных.Поскольку все данные уже являются XML, переход на собственную базу данных XML должен быть наименее разрушительным.В наши дни популярными продуктами, как правило, являются MarkLogic, если вы можете себе это позволить, и eXist, если не можете.(Я не интересуюсь ни одним, но знаю довольных пользователей обоих.)

2 голосов
/ 09 ноября 2011

Вы можете попробовать собственную базу данных XML для ускорения обработки XML. С некоторым успехом я использовал Berkeley DB XML (встроенный, библиотека) и eXist (сетевой, клиент-сервер, REST). В частности, первый решил проблему замены множества маленьких XML-файлов, разбросанных повсюду, одним индексированным файлом, поэтому он может заменить ваш индексный XML-файл. Последний имеет полнотекстовый поиск по Lucene .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...