주식 차트 데이터 스키마 문의 0 2 2,376

by 장대원 [DB 기타] 스키마 분석 [2017.04.21 01:13:44]


안녕하세요. 개발은 오래 해왔지만 DB는 잘 모르는 개발자입니다.

이번에 주식 차트 어플리케이션을 개발하게 되었습니다.

사람들이 봉차트라고 하는 것입니다.

캔들스틱 차트라고도하죠.

데이터는 구조는 매우 단순합니다만 어떻게 스키마를 구성해야 성능에 지장이 없을지 몰라 이 곳에 문의 올립니다.

원 소스 데이터는

[종목코드, 시간(분), 시가,고가,저가,종가,거래량]

이렇습니다. 주식 종목별로 매 분마다 하나의 레코드가 추가되는 상황입니다.

그리고 어플리케이션에서는 1분, 5분, 15분, 30분, 1시간, 4시간, 1일, 1주일, 1달 단위로 봉차트를 보여줍니다.

그리고 성능이 매우 중요하다는 고객 요구사항입니다.

질문은 이렇습니다. 원 소스 테이블만 가지고 실시간으로 1분, 5분, 15분, 30분, 1시간, 4시간, 1일, 1주일, 1달 집계를 처리하는 것은

미친 짓인가? (그럴 것이라 생각됩니다만 경험해본 적이 없어서 묻는 것입니다.)

 

그렇다면 성능을 위해 스키마를 어떻게 구성하는 것이 좋을까요?

일단 제 생각에는

원 소스 데이터 이외에 추가로 1시간, 1일 단위로 각각 집계 테이블 만들어 데이터를 쌓아 놓는다.

(이렇게 하면 1시간 배치랑 1일 배치를 돌려야겠군요.)

이정도로 충분할까요?

 

그리고 또 궁굼한 것은 종목별로 집계 테이블을 나누는 것이 좋을까요?

예를 들어 A종목 1시간 테이블,  A종목 1일 테이블, B 종목 1시간 테이블,  B종목 1일 테이블 이런 식으로요.

아무래도 종목 코드는 분포도가 매우 안 좋기 때문에 집계 쿼리를 처리할 때 실행 계획이 효율적으로 안 나오지 않을까 우려되네요.

 

아무튼 이런 요건을 처리 하기 위해 테이블 구성을 어떻게 하는 것이 좋을지 의견을 주시면 정말 고맙겠습니다.

아무 의견이라도 좋으니 얘기 주실만한 것이 있으면 꼭 알려주세요~

감사합니다.~

by 우리집아찌 [2017.04.21 08:34:45]

도움이 될지 모르겠습다

http://www.gurubee.net/lecture/2640


by 마농 [2017.04.21 13:27:02]

전체 데이터 량이 어느 정도 되나요?
1분 단위 데이터 량(종목의 종류)은 어느 정도 되나요?
검색 패턴은 어떤 것들이 있나요?
○ 전략
 - 파티션 테이블
 - 적절한 인덱스
 - 효율적인 쿼리 작성

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입