database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 9477 게시물 읽기
No. 9477
30분 단위로 데이터 가져오기
작성자
초보자
작성일
2014-10-28 18:28ⓒ
2014-10-28 18:34ⓜ
조회수
12,134

안녕하세요! 데이타 추출 관련 도움을 얻고자 문의 드립니다.

 

현재 기본 쿼리만 사용 가능한 수준입니다.

 

table 구조

 

{ timestamp time,(pkey)

 

integer a[],

 

integer b[],

 

}

기본 검색 결과

2014-09-01 06:55:53,{3,-15,38,-35,8,8,0,0,0,0,0,0},{45,45,44,48,46,47,0,0,0,0,0,0}

2014-09-01 06:56:03,{3,-16,38,-35,8,8,0,0,0,0,0,0},{45,45,44,48,46,47,0,0,0,0,0,0}

2014-09-01 06:56:13,{3,-15,38,-35,8,8,0,0,0,0,0,0},{45,45,44,48,46,47,0,0,0,0,0,0}

2014-09-01 06:56:23,{3,-15,38,-35,8,8,0,0,0,0,0,0},{45,45,44,48,46,47,0,0,0,0,0,0}

2014-09-01 06:56:33,{3,-16,38,-35,8,8,0,0,0,0,0,0},{45,45,44,48,46,47,0,0,0,0,0,0}

 

 

 

위 테이블에 10초마다 저장을 하는데, 한달치를 검색하여 처리 하면, 20만건 가까이 됩니다.

 

프로그래밍상에서 데이타 처리 속도가 문제가 되어, 30분마다의 표본 데이터를 가져와 처리 하려고 합니다.

 

(30이후 데이터중 가장 가까운 데이터)

 

 

 

쿼리 작성에 도움을 얻을 수 있을런지요?

 

이 글에 대한 댓글이 총 3건 있습니다.

 30분 단위로 어떤 작업을 하려면, OS의 작업스케줄을 이용하는게 편합니다. 

 

리눅스라면 cron이 되겠죠. 

 

다음 그 작업은 time 칼럼의 비교 연산자로 최근 30분 동안 모인 자료가 될 것이고,

그 모든 자료에 대한 통계가 필요하면 집계함수를 이용하면 될 것이고, 

a,b 칼럼이 배열형이니, 집계함수는 직접 만드셔야겠네요. 

 

그냥 샘플 자료를 추출하려면 order by random() limit 1

이런식이 됩니다.  

이 자료를 또 다시 어떤 30분 추출 테이블에 넣는다면, insert into .... select 로 처리하면 되겠죠

최근 30 이내 자료를 찾는 쿼리는 

select * from t where time >= now() - cast('30 minutes' as interval)

이런형태입니다.

김상기(ioseph)님이 2014-10-29 21:33에 작성한 댓글입니다.

제가 설명을 모호하게 했나 봅니다.

30분마다의 표본 데이터라는 말은 다음과 같습니다.

 

Table에서

1:30:07 => Select되는 데이터

...

1:59:57

2:00:07 =>Select되는 데이터

2:00:17

...

2:29:57

2:30:07 =>Select되는 데이터

2:30:17

....

이런 방법으로 Select되는 갯수를 줄여 프로그래밍 속도를 개선하려고 합니다.

 

 

 

 

초보자님이 2014-10-30 17:02에 작성한 댓글입니다.
이 댓글은 2014-10-30 17:03에 마지막으로 수정되었습니다. Edit

SELECT NOW(), EXTRACT(MINUTE FROM NOW());

--"2014-10-31 21:03:32.930103+09";3

를 사용해서 30분에 생성된 열들 추출 후

각 블럭마다 첫번째열만 return 하게 해주면 될 듯 싶은데요?

지나가다님이 2014-10-31 21:00에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
9480Postgresql 실행계획 제어 문의 [5]
이성필
2014-11-12
12667
9479pg_dump 사용법을 잘 몰라서 질문드립니다. [1]
최병윤
2014-11-03
11613
9478Oracle에서 Postgresql로 포팅시 문의 [2]
질문
2014-10-29
11912
947730분 단위로 데이터 가져오기 [3]
초보자
2014-10-28
12134
9474libpq 바이너리 데이터 PQexecPrepared 하는 방법 관련 [1]
김성은
2014-10-21
10760
9473pg_dump -T 옵션 다중 입력 [1]
주은철
2014-10-20
10491
9472libpq 를 통한 커서 Open [2]
김성은
2014-10-06
10913
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.055초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다