DB 고수님께 도움을 요청 드립니다... > 자유게시판

자유게시판

DB 고수님께 도움을 요청 드립니다... 정보

DB 고수님께 도움을 요청 드립니다...

본문

 
1) Mysql 의 innodb 이며
    DB 단독 서버 운영으로 16M Ram 을 사용하려고 할때
 
2) 하나의 테이블안에 1억건의 Record 가 있고
    필드 갯수는 대략 30 개이며
    타입은 int, varchar, text 등의 타입들이고

3) select 와 insert 와 update 가 자주 일어나며
    delete 은 가끔 있고
 
4) 다른 테이블과 Join 관계가 존재하며
    일부분의 내용을 가지고 오고, 수정하는 빈도수가 잦고
 
5) index 을 구성해서 최적화 하겠지만
    기능 추가로 인해 Table 이 가공될것입니다. ( 필드 추가 )
 

이때 하나의 테이블안에 계속 쌓게 하는 것이 낳을까요?
 
 
 
추천
0
  • 복사

댓글 9개

명량폐인님 답변 감사합니다.

로그분석용이 아니라
실제 업무 로직용 Table 인데
저는 위와 같은 패턴으로 설계한적이 없어서
요구자의 요구사항이
옳은건지, 맞은 말인지 의아해서 도움을 받고자 질문 올렸습니다.
index가 걸린테이블에 데이타가 insert가 되면 부하가 많이 발생합니다.
인덱스가 없는 테이블이라면, 1억건이 가능할지도 모르겠지만, 위의 상황으로 보면, 힘들거라 봅니다.
저 상태로의 운용은 불가능한거 같지만.
제가 저 상황이라면
정규화나 통테이블 처리로는 안될거 같고.
CPU의 L2, L3 캐쉬처럼 캐쉬테이블을 만들어서 처리를 시도해보겠어요.
물론 한번 사용한 데이터가 또 사용될 확률이 높다는 가정하에 만들 수 있는거고
운용하면서 캐쉬테이블에 원하는 데이터가 있을 확률(hit rate)을 높이는 방법을 생각하겠죠.
답변 감사드립니다...

문제는 금전이 왔다갔다하는 테이블이라서요
말씀하신 방식으로 사용할 경우,
메모리 부족이나, 시스템의 과부하로 인해
데이타 손실이나 불일치 할 가능성이 있지 않을까 싶어요..
SWAP 을 절대 지향 하지 않은 편이라,
혹시 모를 SWAP 까지 FULL 로 찰때......ㅠㅠ


손실이 발생해도 되는 세션이나 로그라면 무관하지만,
금전과 관계된 것이라 1 Record 의 손실도 타격이거든요.
data File 을 1G 단위로 짤라서 생성시켜 놓은다 쳐도
Table 내용이 나눠질께 뻔하고....
where 절로 일부분을 짤라 메모리에 상주한다고 해도
Disk I/O 현상이 많아 부하 및 DB 가 깨질것 같고...

경험이 있으시거나, 위의 내용이 가능하다면 어떤 방법이 있를까요?
하드웨어로 때려 넣은다는건 한도 끝도 없는 일인지라..
DB 전문가 말씀하시는 ... ?
과거에 Oracle 튜닝 전문가가
어느 모업체에 방문해서 처리하는데
하루에 1천만원이라는 소리을 들은적이 있기는 했어요..
© SIRSOFT
현재 페이지 제일 처음으로