Context
В нашем приложении мы снимок данных из базы данных, используя запрос, который вводится суперпользователем, а затем мы сохраняем данные из этого снимка с использованием XML. Если бы я использовал .NET, я бы использовал DataSet (+ DataTables) и DataViews, которые довольно хороши для этой цели. Но я нахожусь в мире Java, и мой импульсный выбор заключался в том, чтобы хранить снимки данных с использованием XML (это можно легко изменить на данном этапе проекта).
Вопрос 1
Есть ли что-нибудь, что позволяет вам делать моментальные снимки данных без необходимости сначала создавать их структуру для платформы Java, как это сделает DataSet для .NET, и это позволит выполнять запросы к этим данным позже? Я думал о том, чтобы сохранить его в базе данных или использовать Apache Lucene, но для обоих подходов мне пришлось бы управлять структурой базы данных, чего я бы предпочел не делать.
Вопрос 2
Предположим, у вас есть следующий XML:
<data>
<record>
<user>ravi</user>
<age>32</age>
<city>calgary</city>
</record>
<record>
<user>spiderman</user>
<age>68</age>
<city>new york</city>
</record>
</data>
И на этих данных я бы выполнил следующий запрос:
age > 50 or city = 'new york'
Результатом этой операции будет подмножество исходного XML только с записями, которые соответствуют условиям в запросе.
Спасибо!