실제 업무에서 데이터관리 어떻게 하는지 궁금해서 글 남깁니다. 0 5 1,239

by bbugge [DB 모델링/설계] [2019.11.08 15:17:54]


먼저 주어질 업무환경에 대해서 말씀드리자면 아래와 같습니다. 

※ 실제와 동일하게 기술한 것이 아닌 비슷하게 기술한 것이기에 다소 차이가 있을 수 있습니다. 

   (단어만 다르고 전체적인 환경은 같음)

코인 (가상화폐)

 

코인 테이블 (temp 테이블)

-----------------------------

코인 시세 내역에서 현재 데이터를 보여주는 테이블

5분마다 truncate 후 다시 생성

코인 수 3000개라고 가정.

 

코인 시세 내역 테이블 

----------------------------------------------------------

OLTP환경입니다.

주로 조회되는 쿼리의 조건절은 ' where ID = ?'

하루에 70만건씩 쌓임.

현재 몇 십억건이 존재한다고 가정.

사이트 개설과 함께 처음 가입한 코인의 경우 60만건 정도 존재.

 

코인은 안쓰는 경우도 있으나 삭제하지 않고 내역에 남김.

새로 등록되는 코인의 경우 안쓸 확률이 큼.

 

 

 

 

여기서 궁금한 점은 해당 테이블에 ID 기준으로 파티션을 생성하는 것이 맞는지?

맞다면, 현재부터 새로 가입될 코인의 코인 시세 내역은 어떻게 관리해야하는 것이 맞는 건지?

아니라면, 몇 십억이 넘는 테이블을 관리하기위한 방법은 있는지?

 

by 마농 [2019.11.08 15:41:39]

70만건, 몇십억건 등의 표현은 고객 테이블에는 어울리지 않는 표현인데요?
고객이라는 단어 말고 좀 그럴 듯한 다른 단어로 표현해 주세요.
고객은 ID 가 키이기 때문에 건수도 적고(3천건?) ID로 파티션을 나눈다는 것도 말이 안되죠.
실제와 다르게 비슷하게 기술하셨다고는 하나.. 전혀 실제와 비슷하지 않아 보입니다.
고객 접속 기록 이라던가? 고객 구매 내역 등의 실질적인 표현으로 질문해 주세요.


by bbugge [2019.11.08 15:45:27]

실제 내용 기술하기 조금 껄끄러워서 비슷하게 기술했는데 조금 보기에 불편하신듯하여 그냥 돌려서 기술하지 않고 다시 올려드립니다.

 


by 우리집아찌 [2019.11.08 17:00:08]

대량의 대이터중 최근의 코인 시세만 보려고 한다면

mview가 대안일수도 있습니다.

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


by bbugge [2019.11.08 17:13:36]

답변 감사합니다


by 신이만든지기 [2019.11.11 17:26:31]

보통 날짜를 기준으로 파티션을 많이 쓰는 듯 합니다.(정확한 것은 다른 고수님이 답변 예정;;)

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