2010-02-10 5 views
0

У меня есть набор статистических данных (размером около 100 М), который организован в парах ключ-значение, некоторые из значений - это просто цифры (например, возраст или вес человека) и некоторые из них являются иерархическими (например, как занятие человека - он может иметь набор записей занятости, каждый из которых содержит пары ключ/значение и т. д.). Реальные данные не совсем такие, но структура подобна.Инструмент для просмотра данных/запросов для слабо структурированных данных

Мне нужно запросить эти данные с помощью произвольного набора критериев - то есть я могу спросить что-то вроде «где 20 летних людей, которые работали 3 года назад» или «какова сумма всех зарплат для всех людей, которые когда-либо работали в компания X больше года »или« дайте мне все, что вы знаете о людях, которые недавно нашли новую работу »и т. д.

Я могу запрограммировать каждый отдельный запрос довольно легко, но поскольку их может быть много, и они меняются все время, когда становится утомительно программировать каждый заново, поэтому вопрос в том, есть ли существующий инструмент, который облегчил бы мне делать такие запросы (если у него хороший графический интерфейс, это бонус :). Что-то вроде SQL не будет работать хорошо, потому что поля данных на самом деле не исправлены и что работа с иерархией в SQL будет слишком сложной проблемой IMHO. Итак, есть ли инструмент, который я мог бы использовать с относительной легкостью для этой задачи (т. Е. Не изучать совершенно новый язык для этого - я бы лучше остался с ручным кодированием запросов)?

ответ

0

Возможно, вы захотите посмотреть MongoDB. Это хранилище данных JSON, поэтому он по существу работает с парами ключ/значение, и вы можете встраивать JSON в JSON. В качестве языка запросов он использует JavaScript. Конечно, вам нужно будет преобразовать ваши данные в JSON, но это не сложно.

Другой вариант может быть графической базой, такой как Neo4j. Каждая запись является узлом, и вы можете определить отношения между узлами (визуализируются как ребра).

Я не думаю, что любой из них имеет какой-либо тип графического интерфейса, но их довольно легко запросить. MongoDB использует JS со связями, которые вы можете использовать для вызова БД. Neo4j использует Java, но есть некоторые привязки для других языков.

SQL-запросы будут сложными, но это сработает. Я также отправлю PostgreSQL в качестве опции, поскольку он несколько ориентирован на объекты, но я больше знаком с другими.

 Смежные вопросы

  • Нет связанных вопросов^_^