본문 바로가기
컴퓨터/mongoDB

[mongoDB]몽고디비 데이터모델링 설계

by TEATO 2014. 8. 8.
반응형

[mongoDB]몽고디비 데이터모델링 설계


몽고디비는 rdb와 설계의 측면에서 조금 다른점이 있는데요

rdbms는 엔티티사이를 관계로 이어서 표현하는데요.

몽고디비는 collection안에 collection이 들어갈수있는 구조입니다.

한 field에서도 배열로 여러값이 들어갈 수 있습니다.

몽고디비에 데이터를 넣을때 rich document structure를 생각해야하는데요

이는 main document안에 embedded document가 있는것입니다.

콜렉션안에 콜렉션이 들어가는것... 이것이 몽고디비의 핵심인것같습니다. 


ord라는 주문내역을 insert해보았습니다.

하나의 ord_id에 위처럼 여러 상품이 들어갈수있습니다.


이렇게 하나의 주문에 2개의 상품내역이 들어갈 수 있죠.

이것을 다른 콜렉션으로 분리해서 표현해 보겠습니다.


주문이라는 의미를가진 콜렉션을 만들었습니다.

위처럼 'x = ' 이렇게 해서 x에 담을 수 있습니다.


저장할때는  save(x)를하면 저장이됩니다.


이번에는 주문상세라는 콜렉션을 만들었습니다.

ord_id는 주문콜렉션의 ord_id와 같습니다. 

각콜렉션에는 _id라는 고유의값이 있기때문에 이것을 기록해줘서

서로 연결되는 효과를 볼 수 있습니다.


관계형 데이터베이스를 모델링하다가 몽고디비를 접하니

혼란이 많이오지만... 설계하는 측면에서 가장 중요하게 생각해야할 것은

트랜잭션이 필요하고 중요한 곳에서는 rdb를 써야된다는것 입니다.

몽고디비는 비정형 데이터를 다룰때 유용하겠죠.

현재 몽고디비는 rdb를 보완하는 기술로 사용되는데요

차후에 mongodb가 어떻게 나오냐에 따라 대체기술이 될수도 있다는 생각이 듭니다.




반응형

댓글