Я новичок в Hadoop.Я очень мало знаю об этом.Мой случай таков: у меня есть набор файлов xml (700 ГБ +) с той же схемой.
<article>
<title>some title</title>
<abstract>some abstract</abstract>
<year>2000</year>
<id>E123456</id>
<authors>
<author id="1">
<firstName>some name1</firstName>
<lastName>some name1</lastName>
<email>email1@domain.com</email>
<affiliations affid="123">
<org>some organization1</org>
<org>some organization2</org>
</affiliations>
</author>
<author id="2">
<firstName>some name2</firstName>
<lastName>some name2</lastName>
<email>email2@domain.com</email>
<affiliations affid="123">
<org>some organization1</org>
<org>some organization2</org>
</affiliations>
</author>
<tags>
<tag>medicin</tag>
<tag>inheritance</tag>
</tags>
</authors>
<references>
<reference>some reference text1</reference>
<reference>some reference text2</reference>
</references>
</article>
Я преобразую данные в файлах xml в реляционную базу данных, содержащую следующие таблицы
- Статьи
- Авторы
- Теги
- Ссылки
У меня есть набор инструментов, которые работают с таблицами для генерациисписок статистических отчетов и других сотрудников.Благодаря инструменту, использующему полнотекстовый поиск в таблице References, я сохранил его в индексе Lucene Solr.
У меня вопрос: могу ли я использовать Hadoop для:
- Хранениеданные, которые находятся в XML-файлах
- Делая какое-то разделение между сущностями, перечисленными выше (Авторы, Статьи, Теги и Ссылки)
- Запуск моих инструментов, которые выполняют очень сложный набор запросовна данных и если это может быть сделано с помощью hadoop, будет ли это иметь хорошую производительность?
Если Hadoop не является хорошим кандидатом для case, будет ли любая другая база данных nosql, например MongoDB или Cassandra aлучшее решение (потому что моя большая проблема с реляционной системой - очень плохая производительность со сложными алгоритмами, которые я использую для своей работы)?
Заранее спасибо.