대용량 테이블 구성방법 0 6 3,147

by 이병춘 [DB 모델링/설계] 대용량 테이블 파티션 [2013.12.02 12:50:01]



이번에 테이블로 구성해야될 데이타가 있는데,

하루에 발생하는 건수가 거의 1억건에 육박하며 보관주기는 1년정도 해야 합니다.

이 데이타들의 거의 1번씩은 select 해야 된다고 보시면 됩니다.

하루에 발생하는 양이 많아서 파티션으로 해도 힘들어 보이는데

대용량 테이블 어떻게 구성하는 것이 좋을까요?

고수님들의 조언 부탁드립니다. 
by 아발란체 [2013.12.02 13:14:55]

질문들을 보며 같이 고민하고 공부하고 있는 사람으로(=비전문가),
하루 발생 건수가 1억이면 분산 처리 관점에서 동원 할 수 있는 것은 모두 사용해야 할 것 같은데
일단 뭐하는 시스템인지 특징을 알려주셔야 할 것 같아용 ~ :)

성능에 대해 조회만 염두하기에는 하루 1억건이 업데이트 되기 때문에 무리가 있을 것 같고요,
어떻게 하든 관리 비용은 무지 많이 나올 수 밖에 없을 것 같네요.


by 이병춘 [2013.12.02 13:27:17]

데이타는 제품의 생산정보가 있습니다.
그래서 생산제품 고유 id가 모두 틀리고요.
어떤설비, 어떤공정에서 어떤처리등의 데이타가 같이 들어갑니다. 
제가 하려고 하는 것은 이 데이타를 가지고
그 제품이 정합한 공정을 거친것인지 체크해야 하는 것이라서
모든 제품에 대해 검사를 해야 합니다.
때로는 잘못된 제품이 발생하면 이전에 쌓인 데이타를 가지고 추적해서
결과를 얻어야 합니다.


by 아발란체 [2013.12.02 13:46:48]
그러면 조회 관점으로 고민을 해볼 수 있는데
말씀 주신 내용으로 2개 접근 포인트가 발생하는 것 같습니다.

1.
정확한 공정 단계를 수행한 것인지 판단하는 기준

2.
잘못된 데이타 추적하는 기준

위 기준에 따라 반정규화 / 분산 처리 방법이 바뀔 것 같은데
내용이 어떻게 되는지요 ~ :)

by 이병춘 [2013.12.02 14:05:26]

제품의 공정은 보통 다른 곳도 마찬가지겠지만 별도의 기준정보가 있고
생성되는 데이타중 그 제품이 거쳐야되는 공정의 데이타가 다 생성되어 있는지 체크하는 것이구요.
잘못된 데이타는 case가 많아서 답변이 힘듭니다.


by 아발란체 [2013.12.02 15:09:51]
음.. 뉴 ㅅ 뉴)ㆀ 그럼 어떤 글이라도 도움이 되는 글을 쓰고 싶은데 내공이 딸려.... OTL

by feelie [2013.12.03 13:10:33]

도움이 될지 모르지만 몇자 적어봅니다.
OLTP환경에서 1억건을 처리하는 부분이 큰 문제로 생각됩니다.
데이터건수 자체가 많기 때문에 모델링만으로 해결할수는 없을것 같습니다.
모델링은 일단 어느정도 되어 있다고 보구요..

첫번째는
Big Data(엑사데이터) 시스템이 아니라 일반 시스템이라면
파티션을 해야 할듯합니다.
파티션 단위를 좀더 세분화 하는것도 한 방법이 아닐런지요..
가능할지 모르겠지만 날짜시간 파티션, 그래도 많다면 30분 단위의 파티션으로 말이죠..

두번째는
해당 프로세스를 실시간으로 구현할건 아니라고 생각합니다.
정해진 파티션단위로 스케쥴링을 해서,
공정에 위배되는 레코드는 별도의 공정위배 테이블을 생성합니다.
공정위배 레코드를 조회할때는 공정위배 테이블만 조회합니다.
성능이 된다면 parallel도 고려사항이 될듯합니다...
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입