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
운영게시판
최근게시물
MySQL Q&A 28006 게시물 읽기
No. 28006
정규화 vs 비정규화
작성자
unclejoe
작성일
2009-02-06 13:50
조회수
5,177

제가 관여하고 있는 싸이트가 MySQL로 개발하여 서비스 중입니다.


스타플(starpl) 이라는  싸이트죠. (광고 절대 아님 ㅎㅎㅎ)

싸이트는 아시는 분도 계시겠지만 아마 모르시는 분들이 더 많을지도 모르겠군요.


문제가 좀 있는데요. 게시판 본문을 처리하기 위한 테이블이 처음 설계할 때보다 비대해져 있고

여기 저기서 다양한 조건으로 검색을 하다보니 검색성능을 위해서 인덱스를 추가했죠.

그러다 보니 잘 아시겠지만  비대해진 index로 인해 빈번하게 update, insert가 발생할때마다 

그 속도가 좀 느려지는군요. 

뭐 지금은 사용자단의 Flex가 있어 사양이 낮은 컴터에선 속도가 나질 않아 DB의 영향은 그렇게 크지 않은 

상황이긴 합니다만 컨텐츠가 쌓이면서 점점 DB의 성능의 문제점이 수면위로 올라오게 되겠죠.

뭐 지금도 빠른건 아니죠.


정규화 vs 비정규화 어떻게 조화를 해야 할까요?


Table을 분할해야 할것 같은데 이때 분할의 기준은 무엇이 될까요?


너무 질문이 방대하고 애매모호한가요? 

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

질문에 대한 답변은 아니지만, 스타플 잘 알고 있습니다 ^^;

 

박현우(lqez)님이 2009-02-06 16:58에 작성한 댓글입니다.

안녕하세요 박성원입니다. 


답변을 달지 말지를 고민하다가 한글 적어봅니다. 

보통 서비스 기간이 길어지면 Table 설계의 헛점이 서서히 드러나기 시작하빈다. 아무리 설계를 잘했다 하더라도 조금의 문제는 생기겠지요 

가장 좋은 방법은 지난 데이터의 삭제를 들 수 있습니다. 접속하지 않은 계정의 삭제 or 데이터들의 삭제를 진행하여 메모리에 올라오는 데이터에서 결과를 빨리 찾아내는게 중요하다고 생각이 되네요 

또한, 말씀하신 정규화와 비정규화는 상당히 주관적인 관점에서 진행되는것이니 딱히 말씀을 드릴 수가 없는듯합니다. 가능하다면 정규화로 만들어진 테이블을 재 정규화하여(객체를 더 나누는것이지요) 여러개의 테이블로 쪼갤수 있다면 성능상 많은 향상을 꽤 할 수 있지만 그로인해서 웹이나 서버(or 클라이언트)의 프로그래밍이 재 요구된다면 고려해봐야 할 듯 합니다. 
속도의 향상을 높이기위한 비정규화도 가능하겠지만 나중에 늘어날 데이터의 양과 Access 빈도를 잘 확인하여서 진행을 하셔야할듯합니다.

또한 컨텐츠별로 따로 DB를 구성하여 별도의 마운트된 Disk로 분류하여 속도를 향상시키는 방법도 있습니다. 

글을 쓰다보니 너무나 원론적이고 다들 알고 계신사항에 대해서만 나열하였네요 ^^;;


갑자기 제자신이 뻔뻔해지는듯합니다. ^^;;


ps.. 스티플이라는 사이트 구경 잘했어요 블로그 제공 사이트인가보네요. 구경 잘했습니다. 이참에 가입을 해볼까 생각중이에요 ㅋ

박성원(darkancia)님이 2009-02-10 13:58에 작성한 댓글입니다.
이 댓글은 2009-02-10 13:59에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
28009보통 이럴때는 어떻게들 처리 하시나요? [1]
챨스
2009-02-09
4810
28008join 쿼리에서 데이터가 없는 row 만 가져올려면... [1]
초보sql
2009-02-09
4808
28007group by 쿼리 문의 드립니다. [1]
새벽소리
2009-02-06
4654
28006정규화 vs 비정규화 [2]
unclejoe
2009-02-06
5177
28005서브쿼리는 어떻게 쓸 수 있는지 궁금합니다. [1]
Love_SQL
2009-02-05
4843
28003InnoDB를 플러그인 형식으로 설치해보신 분 계시면 조언 좀 부탁드릴께요 [1]
김승동
2009-02-05
5274
28002질문이 잘못 된것 같기에 다시 한번 질문드려요 [3]
이민호
2009-02-05
4479
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다