2010-02-10 7 views
0

키 - 값 쌍으로 구성되어있는 통계 데이터 집합 (약 100M 크기)이 있는데, 일부 값은 숫자 (예 : 사람의 나이 또는 체중)와 일부는 계층 적입니다 (예를 들어 사람의 고용과 같음 - 고용 기록 세트를 가질 수 있으며 각각에는 키/값 쌍이 포함됨). 실제 데이터는 정확히 같지 않지만 구조는 유사합니다.느슨하게 구조화 된 데이터에 대한 데이터 탐색/쿼리 도구

이러한 데이터를 임의의 기준으로 쿼리해야합니다. 즉, "20 세 이상의 직원이 3 년 전에 일한 곳"또는 "근무한 모든 사람들의 모든 급여의 합계는 얼마입니까?"와 같은 질문을 할 수 있습니다. 회사 X를 1 년 넘게 "또는"최근에 새로운 일자리를 찾은 사람들에 대해 모두 알려주십시오 "등

각 개별 쿼리는 매우 쉽게 프로그래밍 할 수 있지만 그 중 많은 수가있을 수 있습니다. 변화하는 모든 시간마다 달라 지므로 각 질문마다 새로운 프로그램을 작성하는 것이 번거롭기 때문에 질문을하는 것이 더 쉽습니다. (좋은 GUI가 있다면 보너스 :). SQL과 같은 것은 데이터 필드가 실제로 고정되어 있지 않고 SQL의 계층 구조 작업이 너무 어려워서 IMHO가되기 때문에 제대로 작동하지 않습니다. 그래서이 작업을 위해 비교적 쉽게 사용할 수있는 도구가 있습니다 (즉, 완전히 새로운 언어를 배우지 못한다면 쿼리를 손으로 코딩하는 편이 낫습니다).

답변

0

MongoDB를보고 싶을 수도 있습니다. JSON 데이터 저장소이므로 기본적으로 키/값 쌍으로 작동하며 JSON을 JSON 내에 중첩시킬 수 있습니다. 그것은 쿼리 언어로 자바 스크립트를 사용합니다. 물론 데이터를 JSON으로 변환해야하지만 어렵지 않습니다.

다른 옵션은 Neo4j와 같은 그래프 데이터베이스 일 수 있습니다. 각 레코드는 노드이며 노드 사이의 관계를 정의 할 수 있습니다 (가장자리로 시각화).

나는 이것들 중 어느 쪽도 어떤 유형의 GUI도 가지고 있지 않다고 생각하지만, 그것들은 꽤 쉽게 질의 할 수 있습니다. MongoDB는 DB를 호출하는 데 사용할 수있는 바인딩을 사용하여 JS를 사용합니다. Neo4j는 Java를 사용하지만 다른 언어에 대한 바인딩이 있습니다.

SQL 쿼리는 어려울 수 있지만 효과가 있습니다. 나는 PostgreSQL을 다소 객체 지향적이기 때문에 옵션으로 던질 것이지만 나는 다른 것들에 더 익숙하다.

관련 문제