문제

우리 회사는 많은 양의 실험실 센서 데이터를 보유하기 위해 파일 형식을보고 있습니다. 계측기를 실행할 때마다 파일을 생성하는 파일을 생성합니다. 파일은 추세 등을 위해 데이터베이스에 소비하고 저장합니다. 데이터를 "그룹"할 수 있으므로 계층 적 형식이 선호됩니다. 데이터를 데이터베이스에 배치하기 전에 중간 파일 형식입니다. 개발 환경으로 인해 이것이 우선 순위 목록입니다.

1) .net 준수. API는 웹 서비스 및 클라이언트 응용 프로그램에 사용됩니다. 우리는 고객의 환경을 제어 할 수 없으므로 Pure.net 솔루션이 가장 좋습니다.

2) 읽기 속도. 우리의 읽기는 무작위이며 순차적이지 않습니다. 더 빨라질수록 좋습니다. 우리가 C # Development Shop이 아니라면 속도가 # 1이라고 말할 것입니다.

3) 파일 크기. 파일 자체가 크면 압축 비율이 양호합니다 (86% 이상)이 필요합니다.

4) 읽기의 메모리 풋 프린트. 데이터의 양으로 인해 단순히 데이터를 읽을 수 없습니다. 각 센서에는 시간/값 쌍이 있습니다. 이것은 4 백만 쌍 이상을 생성 할 수 있습니다. 이것은 우리를 위해 XML을 제거했습니다.

우리는 현재보고 있습니다 HDF5 API가 .NET 경기장에서 끔찍하게 부족하고 웹 서비스를 수행 할 수 없지만 우리가 찾고있는 크기/속도를 가지고 있음을 발견했습니다. 나는 또한 조사했다 JSON 그리고 그것은 유망 해 보였지만 나는 데이터를 다시 읽으려고 시도하지 않았습니다. 웹을 검색했지만 필요한 작업을 수행하는 파일 형식을 많이 찾지 못했습니다. 모든 도움이 감사합니다.

도움이 되었습니까?

해결책

SQL Server Compact와 같은 B-Tree 데이터베이스가 필요합니다.

또한 sqlite를보십시오http://sqlite.phxsoftware.com/

ctree는 ISAM에 더 가깝습니다. ctree의 SQL Part Google을 분배 할 수 있다면

죄송합니다. 더 많이 연결하므로 BC가 새로운 계정입니다.

다른 팁

이 정보를 데이터베이스의 테이블에 저장하는 것이 더 나을 것이라고 생각합니다. SQL Server를 사용하는 경우 Varbinary가 작업을 수행해야합니다.

최상위 노드의 경우 null이 될 수있는 [부모] 필드를 포함시켜 테이블이 계층적일 수 있습니다.

조회 값 (파일의 ID)을 색인하면 무작위 액세스가 빠르야합니다. 압축이 필요한 경우 GZIP 클래스를 사용하여 데이터베이스에 고정하기 전에 원시 바이트를 포맷 할 수 있습니다.

이 정보에 데이터베이스를 사용하면 다음을 수행 할 수 있습니다.

1) 미친 쿼리, 조인 등을 실행합니다. 2) 여러 열을 색인화 할 수 있습니다. 다른 키 값을 더 빠르게 조회하여 3). ) 데이터를 백업하는 것은 신경이어야합니다

이 조언이 도움이됩니까?

특별한 읽기 요구 사항은 모든 형식에 문제가 될 것이라고 생각 하며이 경우 자체 파서를 구현해야합니다.

바이너리 트리/밸런스 트리 형식이 너무 많은 노력을 기울이지 않으면 그것을 저장하는 것을 살펴볼 수 있습니다. Newick 형식. 또한 JSON과 같은 키/값 쌍 형식을 지원할 수도 있습니다.

그러나 JSON보다 더 가벼운 무게는 아닙니다. "{}"은 "()로 대체됩니다.

((너구리, 곰), ((Sea_lion, Seal), ((원숭이, 고양이), 족제비), 개);

분명히 바이너리 트리이기 때문에 쿼리가 매우 빠르지 만 JSON 객체의 사전보다 더 빠르지는 않지만 걱정할 링크 된 목록 스타일 Hierachy (객체 그래프)는 없습니다.

그래도 .NET API를 찾을 수 없을까 봐야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top