개발 Q&A

제목 DB 설계에 대한 조언 부탁드립니다.
카테고리 DB
글쓴이 뫄뫄잉뿌 작성시각 2018/11/27 11:46:23
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 10226   RSS

안녕하세요. 

ERP를 만들고 있는데, 차 후 고객 약 150명 정도되는 고객(회사)이 쓰게 될 것 같습니다.

 

현재 설계로는 ERP를 관리하는 사이트의 DB 하나,

ERP에서 각 고객별로 사용하는 DB 1개를 만들어서

고객의 primary key를 테이블명에 붙여서 약 5개의 테이블을 만듭니다.

( 아무리 최소화해도 최소 5개의 테이블이 생성될 것 같습니다. )

=> 150명의 고객 * 5 = 750개의 테이블

 

이렇게 기획을 했는데 한 DB 내에 750개의 테이블을 두어도 효율적으로 괜찮을지 걱정이 됩니다.

 

다른방법으로는 아예 고객당 1개의 DB를 만드는 것인데,

그러면 150개의 DB가 생성된다는 것과

데이터 조회 시, 다른 DB간의 join이 많아진다는 것입니다.

 

결론적으로는 ERP 내의 한명의 고객당 데이터를 어떻게 설계해야 호율적으로 돌아가게 할 수 있을까요..?

mysql / myisam 으로 사용중인데 어느정도의 테이블과 어느정도의 DB까지가 한계점인지를 잘 모르겠습니다..ㅜㅜ

 

작은 조언이라도 감사합니다.

어려움이 있을 때마다 늘 도움받고 있네요.

읽어주셔서 감사합니다.

 다음글 코드이그나이터 api 문서 자동화 하는 방법이 있나요?... (1)
 이전글 ()를 치환 및 인코딩 하는 방법이 있을까요? (1)

댓글

변종원(웅파) / 2018/11/27 13:46:30 / 추천 0

솔루션 구조 설계할때 통 테이블로 하는 경우도 있습니다. 보안때문에 db를 물리적으로 분리하는 것이 아니라면 통테이블에서 관리를 하고

고객번호, 기간 별로 파티셔닝하면 데이터가 커졌을 경우에도 속도저하없이 사용할 수 있습니다.

당장은 150 고객이지만 더 늘어날 수도 있는 것이라 확장을 고려하면 통 테이블 추천합니다.

뫄뫄잉뿌 / 2018/11/27 14:02:49 / 추천 0

@변종원(웅파)님

매번 답변 정말 감사합니다.

통 테이블이라면 한개의 테이블에 150명의 고객들에 대한 데이터를 모두 넣고 파티셔닝을 통해 별도의 테이블처럼 사용할 수 있다는 것이죠?

해당 서버의 물리적인 공간은 아주아주 여유롭긴하지만 앞으로 몇만개 이상의 데이터를 한 테이블에 저장해야한다는건데 괜찮은지 모르겠네요..

이제부터 파티셔닝에 대해 공부해봐야겠네요 ㅎㅎ 이렇게 또 배워갑니다. 감사합니다!