2010-02-10 63 views
0

我有一组统计数据(大约100M大小),它是按键值对组织的,其中一些值只是数字(例如像人的年龄或体重)和有些是分层的(例如像人的雇用 - 它可以有一组雇佣记录,每个记录又包含关键/值对等)。真实的数据并不完全是这些,但结构相似。用于松散结构化数据的数据浏览/查询工具

我需要用任意一组标准来查询这些数据 - 也就是说我可能想问一些问题,比如“3年前最老的人在哪里工作”或者“所有曾工作过的人的所有工资总和是多少X公司一年以上“,或者”给我所有关于最近找到新工作的人的信息“等。

我可以很容易地编写每个单独的查询,但由于可以有很多这样的查询,所有的时间都会变得单调乏味地重新编程,所以问题是如果有一个现有的工具可以使我更容易地做这样的查询(如果它有一个很好的图形用户界面是一个奖金:)。像SQL这样的东西不能很好地工作,因为数据字段没有真正修复,并且使SQL中的层次结构工作会让IMHO变得非常麻烦。那么是否有一种工具可以相对轻松地用于此任务(即,不会为此学习一种全新的语言 - 那么我最好继续手动编码查询)?

回答

0

你可能想看看MongoDB。它是一个JSON数据存储,所以它基本上与键/值对一起工作,并且可以在JSON中嵌套JSON。它使用JavaScript作为查询语言。当然,您需要将数据转换为JSON,但这并不困难。

另一种选择可能是像Neo4j这样的图形数据库。每条记录都是一个节点,您可以定义节点之间的关系(可视化为边)。

我不认为这些都有任何类型的GUI,但它们很容易查询。 MongoDB使用JS和可用于调用数据库的绑定。 Neo4j使用Java,但是有一些其他语言的绑定。

SQL查询将是具有挑战性的,但它会工作。我也会抛出PostgreSQL作为选项,因为它有点面向对象,但我更熟悉其他。