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
운영게시판
최근게시물
DBMS Q&A 354 게시물 읽기
No. 354
<font color=#990099> DB 구조에 대한 조언 부탁드립니다. </font>
작성자
김승환(gaultier)
작성일
2002-03-06 17:38
조회수
6,431

안녕하세요.

 

제가 싸이월드나 프리첼 같은 커뮤니티 사이트를 한번 만들어 보려고 합니다.

싸이월드나 프리첼 같이 완성도 높은 것을 기대하기는 어렵겠지만 뭔가를 해본다는 것이 중요하니까........

 

근데 DB를 설계하는게 좀 애매하더라구요.

 

우선 회원 정보를 관리하는 테이블이랑 커뮤니티 정보를 관리하는 테이블이 있어야 겠지요.

그리고 게시판 테이블도 있어야 할 것이구요.

게시판은 커뮤니티별로 존재해야 하구요.

물론 한 커뮤니티에 여러개의 게시판이 존재할 수 있구요.

 

그럼 예를 들어 커뮤니티가 만개가 있구 커뮤니티마다 열개의 게시판이 있다고 가정을 하면 각각의 커뮤니티 게시판에 글이 하나씩만 있어도 십만개의 글이 게시판 테이블에 존재합니다.

 

그렀다면 게시판 테이블을 하나로 갈 경우엔 커뮤니티가 많아지면 테이블이 너무 커지는 것 같구, 그렇다구 커뮤니티 별로 게시판 테이블을 하나 만들면 커뮤니티가 만개면 만개의 테이블이 생겨서 그것도 힘들 것 같두..........

 

이럴 경우 어떻게 이 문제를 해결할 수 있는지 좋은 방법 아시는 분 있으시면 저에게 조언 좀 꼭 부탁드리겠습니다.

 

하구 싶은 것은 많은데 제가 무지한 탓에 고생이 많네요.

 

글 읽어주셔서 감사 드립니다.

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

당장 커뮤너티를 운영할 목적으로 하는 것이 아니라면 일단 어떤형식으로던 구현해 보는 것이 중요하겠지요. 그리고 DB 에서 테이블이 많다던가 한 테이블에 자료수가 많다던가 하는 것은 그렇게 중요한 것이 아닙니다. 테이블이 백만개라도 상관없으며, 자료건수가 천만건이라도 상관없습니다. 단지 디비 퍼포먼스와 유지보수가 잘 될수 있는가. 향후 수정은 어떻게 될 것인가 하는 등등의 다른 문제에 더 많은 영향을 받게 되겠지요.

정재익(advance)님이 2002-03-10 14:47에 작성한 댓글입니다.

커뮤니티 별로 테이블을 만든다면 나중에 유지보수하기에 어려움이 많이 있을거같습니다..커뮤니티 생성시마다 새로운 테이블이 만들어져야 하니까여...

 

우선 같은 테이블에 둔다고 생각하시구여 대신에 마스터 테이블을 두어서.. 실제 서비스 될때는 두 테이블을 조인해서 해당 키에 해당하는 게시판의 글만 가져온다면....괜찮을거같네요..

님이 2002-03-11 16:17에 작성한 댓글입니다.

자 님이 생각하신 방식은..다음이 2년전인가 디비 폭주전의 방식입니당.

 

자 글면 어떻게 해야하는가?

테이블 딱 두개 있으면 됩니다.게시판의 경우에는

물론 회원정보/동호회의 경우를 삭제한 경우입니당.

 

 

1000개의 동호회에 10개씩의 게시판이 있다면.

자..총 만개의 게시판입니당.

그럼..

한개의 서버에서 운영한다고 치고.(여러개의 경우는

나중에)..

 

만개의 테이블에 10개씩만 올라가도 10만개입니당.

게시물이.

 

그럼 퍼센티지적인 통게로 보면.

 

1000개의 동호회중에서 활성화된 동호회 같은 경우

몇개가 될꺼라고 생각하십니까?

 

이중 10%입니다. 그럼.. 나머지 90프로는 각각의 테이블로 제작을 하면 이 10%때문에 영향을 받겠졍?

 

당근.. 받죠. 그럼 여기서 한가지 질문

 

단일 테이블..구조인뎅 인덱스옆에 이게 어디 소슥의 글인지만 찾는 방식.이거든영..

 

자 그렇게 되면..

 

한 데이터 베이스 서버에 테이블이 결국 실질적인것은 한개입니당.

 

따라서 이 테이블 한개를 가지고 억세스 하는게 빠를까용.?? 여러개를 가지고 억세스 하는게 빠를까용?

 

물론 위에 10개의 데이터로는 광속보다 빠릅니당.

그러나.

자 테이블을 만개를 만들어서 하는 경우와

한개의 테이블로 10만개 이상의 게시물을 저장하는것?

어떤게 빠를가용?

 

1. 1개짜리 테이블

2. 10000개짜리 테이블.

 

1번 이거든여. 2번이라구 생각하신다면..휴...나에게 메일을 보내시면..제가 더 자세히 이야기할수 있음 좋겠군용.

 

1개 짜리 가 허벌 빠릅니당.

왜냐.

꺼꾸로 10000개 짜리 테이블로 설명을 하면.

 

일단 활성화단 게시판은 100개가 있다고 하면.

이 테이블들은 자주 읽기 때문에.. 인덱스가 라이브하겠져 메모리에.

 

그런데 어느날 이상한 썰렁한 게시판 몇개를 꽝 건들면

어떻게 돼여?

 

메모리에 인덱스가 다시 그 썰렁한 3개짜리 게시물이 드러있는 테이블이 올라가겠졍?

 

그럼 어떻게 되여??

 

전체적으로 다 버버버버버벅 거리겠졍?

 

왜냐 데이터베이스의 성능을 좌우하는것은..

 

I/O가 80프로인뎅 저는 90프로라구 생각해영.

 

그럼 램올리궁 하드 울트라 만5천 RPM짜리 올린다구?빨라 질까영?

전혀 아닙니당.

 

그럼 항상 그 인덱스를 메모리에 꽝 잡구 작업하는

한개 테이블이 훨씬 빨라영.

 

님 그럼 참고하시기를

 

앗 글궁 제가..PHP/MySQL로 포럼을 개발한게 있습니당. 관심있으시면... 멜주세용..^^*..

 

오라클/MS-SQL Server 2K로 포팅해드릴수 있습니다.

오재규님이 2002-03-21 22:50에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
358crypt 라는 함수 아시는 분 .... 설명 좀 부탁 드립니다..!! [2]
유영일
2002-03-19
5453
357mysql 소유자 문제
호돌
2002-03-18
5526
356리눅스의 MySQL을 윈2K의 ODBC에 연결할 수는 없나요? [1]
이재학
2002-03-16
5341
354<font color=#990099> DB 구조에 대한 조언 부탁드립니다. </font> [3]
김승환
2002-03-06
6431
353DB와 파일 DB의 장단점 비교 자료를 가진 분
starter
2002-03-06
5853
352메일을 DB에 저장시... 어떤 DB를 구조적으로 사용해야 할지.. [1]
이철호
2002-03-02
5427
351엑세스디비를 mysql로..
^^;
2002-02-27
5574
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다