현재 유스 케이스에 사용할 수있는 NoSQL 기술을 평가 중입니다. 나는 많은 센서 데이터 로그 (수 TB)를 가지고 있으며 확장 가능하고 효율적인 방법으로 데이터를 분석하려고합니다.센서 데이터의 그래프 데이터베이스 - 관계를 모델링하는 방법?
내 센서 데이터에는 타임 스탬프, 위치 및 센서 속성 이름 목록 (예 : "온도") 및 센서 속성 값 (예 : 12.9 ° C)이 포함되어 있습니다. 그러나 해당 위치는 모든 데이터 항목에 존재하지 않습니다. 또한 항목 당 속성 목록은 다양합니다.
- sensor_id : 1 개
- 위치 : 위도/경도 그래서 하나 개의 로그 항목은 다음과 같은 데이터를 포함 할 수있다 (그러나 항상하지 각 항목에 포함 주) : timestamp_of_log_date
- attribute_name1 "attribute_value1"
- attribute_name2 : 123123
- attribute_name3 : 0.933
- attribute_nameN : "attribute_valueN"
최근 그래프 데이터베이스를 발견하고 흥미로운 개념을 발견했습니다. 내 유스 케이스가 내 데이터 사이의 관계가 부족하기 때문에 (아마도) 그래프 데이터베이스에 적용되어야하는지 확신 할 수 없습니다. 항목의
- 날짜/시간 Year-> 월 -> 기념일에> :
내 센서 데이터하지만 지금 난 단지 다음과 같은 관계를 생각할 수 사이의 관계를 모델링하는 몇 가지 방법이 있습니다 Hour-> 마고> 두 번째
항목의
- 위치에 Continent-> Country-> 상태 ->시 -> 거리/POI
- 센서 ID-> 속성 이름
내가 질의하고 내 데이터 지리 정보 쿼리, 시간 종료 eries 및 "normal"속성 쿼리 (field_x < = 1000).
한가지 더주의해야 할 : 나는 지리 공간 쿼리를 실행 해요 때, 나는 보통 공간 쿼리에서 발견 된 레코드의 타임 스탬프를 기반으로 더 기록을 읽고 싶어. 기본적으로 지리 정보 쿼리가 완료되고 타임 스탬프가 "25.06.2016-20 : 40 : 30"인 레코드를 반환하면 지형 공간 쿼리에서 발견 된 각 레코드에 대해 1 분 이내에 타임 스탬프가있는 다른 모든 레코드도 읽으려고합니다. 예를 들어
Neo4j 내 유스 케이스에 대한 매우 일반적인 쿼리 유형의 지리 공간 쿼리를 처리하기에 좋다. 그러나 데이터를 어떻게 모델링 할 수 있습니까? 내 노드는 다른 노드에 어떻게 연결되어 있습니까? 연결해야합니까?
neo4j 용 공간 플러그인을 사용할 수 있습니다. https://github.com/neo4j-contrib/spatial – piyush121
이 데이터로 작업하기 위해 그래프 데이터베이스가 필요하지 않은 것처럼 보입니다. –
@stdob 나는이 데이터로 작업 할 그래프 데이터베이스를 확실히 필요 없다는 데 동의하지만 나쁜 생각입니까? – j9dy