Я пытаюсь найти лучший способ выполнить следующее:
- Загружайте большой XML файл (1 ГБ) ежедневно со стороннего веб-сайта.
- Преобразование этого XML файла в реляционную базу данных на моем сервере
- Добавить функциональность для поиска в базе данных
Для первой части это то, что нужно было бы сделать вручную или это можно было бы выполнить с помощью cron?
Большинство вопросов и ответов, связанных с XML и реляционными базами данных, относятся к Python или PHP. Можно ли это сделать с помощью javascript/nodejs?
Если этот вопрос лучше подходит для другого форума StackExchange, сообщите мне, и я перевешу его туда.
Ниже приведен пример кода xml:
<case-file>
<serial-number>123456789</serial-number>
<transaction-date>20150101</transaction-date>
<case-file-header>
<filing-date>20140101</filing-date>
</case-file-header>
<case-file-statements>
<case-file-statement>
<code>AQ123</code>
<text>Case file statement text</text>
</case-file-statement>
<case-file-statement>
<code>BC345</code>
<text>Case file statement text</text>
</case-file-statement>
</case-file-statements>
<classifications>
<classification>
<international-code-total-no>1</international-code-total-no>
<primary-code>025</primary-code>
</classification>
</classifications>
</case-file>
Здесь представлена еще одна информация о том, как эти файлы будут использоваться:
Все файлы XML будут в одном формате. В каждой записи есть, вероятно, несколько десятков элементов. Файлы обновляются третьей стороной на ежедневной основе (и доступны в виде заархивированных файлов на стороннем веб-сайте). Каждый день файл представляет новые файлы case, а также обновленные файлы case.
Цель состоит в том, чтобы позволить пользователю искать информацию и организовывать эти результаты поиска на странице (или в сгенерированном файле pdf/excel). Например, пользователь может захотеть просмотреть все файлы case, которые содержат определенное слово в элементе <text>
. Или пользователь может захотеть просмотреть все файлы case, содержащие первичный код 025 (<primary-code>
element) и которые были отправлены после определенной даты (элемент <filing-date>
).
Единственные данные, введенные в базу данных, будут из файлов XML - пользователи не будут добавлять какую-либо свою собственную информацию в базу данных.