2011-01-20 9 views
3

나중에 보고서를 생성하기 위해 쿼리 할 센서 데이터를 저장하는 데이터베이스를 만들어야합니다 (주어진 시간대의 그래프 및 AVG/MAX/MIN 값 표시).많은 수의 센서 데이터 레코드 저장

데이터 포인트는 다음과 같다 :

CREATE TABLE [dbo].[Table_1](
    [time] [datetime] NOT NULL, 
    [sensor] [int] NOT NULL, 
    [value] [decimal](18, 0) NULL 
) 
데이터 초 (센서)에 따라 분 범위의 간격으로 첨가 될 수

.

몇 년 동안의 데이터 축적 (DB는 MS SQL Server 2008 작업 그룹 에디션에서 실행될 것입니다.)이 너무 커지면 걱정할 필요가 있습니까?

+0

몇 개의 센서가 있습니까? 1 또는 4000000000? –

+0

그러나 아직 결정되지는 않았지만 실제로는 50보다 적습니다. – grimmig

답변

1

모든 리소스와 노력을 소비하고 싶습니다. 초당 1 행에서이 표는 여전히 센서 당 연간 0.5GB 미만으로 매우 작습니다. 수천 개의 센서가있는 경우 데이터의보고 및 분석을 돕기 위해 요약 테이블을 생성할지 여부를 고려할 수 있습니다.

이와 같은 센서 데이터는 대개 매우 반복적입니다. 반복되는 값을 저장하는 더 편리한 방법이 있습니다. 예를 들어 시간이 다른 여러 행 대신 시간의 범위로 한 행을 저장하는 방법이 있습니다.

이러한 종류의 시계열 데이터를 저장하고 관리하는 데 도움이되는 많은 소프트웨어 패키지가 있습니다. 이 주제에 관한 많은 연구 조사 및 문헌이 있으며 도움이 될 것입니다. 아직 익숙하지 않은 사용자라면 "프로세스 내역", "복잡한 이벤트 처리"및 "SCADA"와 같은 용어를 Google에 알려주십시오.

+0

실제로 데이터는 SCADA 시스템에서 나옵니다.;-) SQL 서버가 데이터의 양을 처리 할 수있는 것처럼 보이기 때문에 위의 테이블 디자인을 사용할 것입니다.이 간단한 테이블 구조에보고 시스템이나 Office 응용 프로그램을 묶는 것이 쉽습니다. – grimmig

0

데이터베이스가 너무 커질 염려가있는 경우 동일한 구조의 Archive_Table을 보관하거나 한 달에 한 번 또는 6 개월 (전체 데이터 양에 기반)의 아카이브 데이터를 보관할 것을 제안합니다. .

이렇게하면 테이블의 레코드 수를 확인할 수 있습니다. 그리고 필요한 경우 보관 테이블을 보고서 생성에 사용할 수 있습니다.

1
그것은 당신이 데이터를 사용하는거야 방법에 따라 달라집니다

, 당신은 또한 무엇 인덱스를 추가 , 얼마나 많은 센서 등

그 테이블과 같이 저장할 수 1 억 5000 만 행 (~ 1 개 센서 X 1 초당 기록 x 5 년) ~ 6GB 공간 (힙을 가정). file size limit은 16 테라 바이트이며 Workgroup 에디션에 대한 제한 사항을 알지 못합니다.

+0

궁극적 인 제한은 524 페타 바이트 (데이터베이스 한도, 파일 크기 제한 없음)라고 생각합니다. – grimmig

+0

@grimmig - 원래 DB 크기 제한을 설정했지만 작업 그룹 버전을 지정 했으므로 분할 된 테이블을 사용할 수 없으므로 하나의 테이블에 유지하는 경우 한 테이블에 하나의 테이블 만 존재할 수 있습니다. –

+0

잘 고맙습니다. 감사합니다. 대부분의 경우 두 번째 간격이 필요하지 않기 때문에 여전히 내 응용 프로그램이 한도를 훨씬 밑도는 것입니다. – grimmig

3

이러한 유형의 데이터를 관계형 데이터베이스보다 훨씬 잘 처리하는 OSISoft의 PI Historian과 같은 전문화 된 데이터베이스가 있습니다. PI를 사용하면 각 데이터 포인트에 대해 압축 편차를 구성하여 압축 편차 이상으로 변경하지 않으면 데이터가 아카이브되지 않습니다. 주어진 포인트에 대한 이력 데이터를 쿼리 할 때, PI가 아카이브 된 값 사이에 있더라도 지정된 시간에 값이 보간 될 것으로 PI에 요청할 수 있습니다.

OSISoft 세일즈맨이되기위한 의도는 아니기 때문에 더 많은 것을 할 수 있지만 독자적으로 살펴 봐야합니다. 그러나 이것은 많은 양의 센서 데이터를 저장하기위한 방법입니다.

관련 문제