no-sql(mongodb) ½ºÅ°¸¶ ¼³°è Á¶¾ð ºÎŹµå¸³´Ï´Ù.

   Á¶È¸ 3930   Ãßõ 0    

 이것저것 몽고db에 대해서 .. 공부하고 이제 .. 적용 시키려고 하는데 .. 하나 궁금한게 있어서 

어떻게 해야 할지 몰라 혹시 사용 하고 계시는분 계시면 조언 듣고자 질문 드립니다.. 

기존 mysql 에서는.. 사용자 및 업체 들을 테이블로 나눴습니다.. 나눈 이유는 아래 질문 드리는것처럼 

입력 받는 필드의 차이 때문입니다.. 예를들면 

공장: 공장이름 , 전화번호, 팩스번호, 사업자번호 ...

판매처 : 판매처이름, 판매처 전화번호, 팩스번호 사업자번호, 

사용자: 이름, 전화번호..소속 회사 


"id":"k3341095",

    "password":"",

    "info": {

        "type": [

            'distribution', 'shop'

        ],

        "name": '제연주식회사',

        "ceo": '김제연',

        "phone": "01*-****-****"

        "phone": "0**-***-****",

        "fax": "0**-***-****",

        "email": "***@*****.com",

        "address": "경기도 의정부시 ",

        "reg_code": "213-01-202838"

        },

회사의 정보가 이렇다고 하면 

사용자는

"id":"k3341095",

    "password":"",

    "info": {

        "type": [

            'distribution', 'shop'

        ],

        "name": '김제연',

        "phone": "01*-****-****",

        "email": "****@*****.com"

        },


이런식으로 공장과 판매처는 거의 비슷비슷 해서 합치는게 수월하지만.. 사용자의 경우 info에 들어가는 

내용이 전혀 틀려 집니다.. nosql의 장점중 하나가 비정규화 이고 ... 

현재 mysql 상에서 user, factory, ... 등.. 사용자별로 테이블이 나눠져있는게 비효율적이라고 생각하고 있어서 

하나로 합쳐서 하나의 nosql 콜렉션에서 관리하고 싶은데 ... 저런식으로 입력값의 필드가 .. 서로 다를경우

어떻게 해야 하는지 난감합니다.. nodejs + mongodb 를 사용해서 만들고 있는데 

mongoose 에서는 schema 를 생성해서 관리 해야 할텐데 .. 

그냥 info를 통으로 OBJECT형식으로 놓고 아무 제약없이 사용해야 할것 같은데 그게 맞는건지도 모르겠구요. 


아시는분 계시면.. 조언좀 부탁 드리겠습니다.. 갑자기 해야 할게 많은데 설계부터 막히니 너무 답답하네요 

블로그나 카페 구글 검색해도 .. sub-document 나 reference 에 관한 글들만 있지 .. 저렇게 .. 

서로다른 필드를 가진 스키마 설계에 대한 글이 나온 곳은 없는거 같아서 .. 막막합니다.. 도움좀 주세요.

ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
ȸ¿øK 2018-07
ÇÊµå ³ª´©´Â°Ô ºñÈ¿À²ÀûÀÎ °ÍÀº ¾Æ´Õ´Ï´Ù.

ºñÁ¤±ÔÈ­ = ´Ù¸¥ DB ¿¬µ¿ÀÌ Èûµë
°øÀå, ÆǸÅÀÚ, »ç¿ëÀÚ¿¡ ´ëÇÑ ±¸ºÐÀÚ¸¦ µÎ¾î °¢ ¼º°ÝÀ» ±¸ºÐÇÏ°í, ºñ½ÁÇÑ ¼º°ÝÀÇ Çʵå¸í(À̸§,ÀüÈ­¹øÈ£,¿¬¶ôó)µéÀº °°Àº À̸§À¸·Î Á¤ÀÇÇÏ°í, ±×¿Ü °¢ ±¸ºÐÀÚ¿¡ µû¸¥ ÇʵåÇ׸ñ(¿¹: »ç¿ëÀÚ´Â ¾ø°í, °øÀå¿¡ ÀÖ´Â CEOÇ׸ñ)µéÀ» Ãß°¡·Î Á¤ÀÇÇؼ­ idº° µµÅ¥¸ÕÆ®¸¦ ¸¸µé°í ÄÝ·º¼ÇÀ¸·Î ±×³É °°ÀÌ ³ÖÀ¸¸é µÇÁö ¾ÊÀ»±î¿ä? ÀÔ·Â Ãß°¡½Ã Å° Áߺ¹³ªÁö ¾Ê°Ô ÀÔ·ÂÇÏ°í, °Ë»ö½Ã ±¸ºÐÀÚº° °Ë»ö ȤÀº °øÅëÇʵ庰 °Ë»ö¿¡ ´ëÇØ Á¤ÀÇÇÏ°í, Å°º° »èÁ¦¸¸ Àß ÀÌ·ç¾îÁö¸é »ý°¢ÇϽô´ë·Î ±¸ÇöµÉ ¼ö ÀÖÀ»°Í °°½À´Ï´Ù.
Á¤Èñ¼· 2018-07
°í°´ °øÀå ÀÌ·± µ¥ÀÌÅÍ°¡ ¼ö¸¸°³ µÇ¾îµµ mysql ¿¡¼­ mongodb ·Î ÀÌÀüÇÏ´Â°Ô ±×´Ú ¹º°¡ È¿À²ÀûÀÌÁö ¾ÊÀ»°Å °°³×¿ä
¾îÂ÷ÇÇ db¿¡¼­ ÀÎÃâÇÒ¶§ 100¹Ì¸®ÃÊ°¡ °É¸®³ª 200 ¹Ì¸®ÃÊ °É¸®³ª ¾î´À Á¤µµ ¹Ì¸¸ÀÌ¸é »ç¿ëÀÚ°¡ º¸±â¿£ ±×´Ú Â÷ÀÌ°¡ ¾ø´Â°É°Å¶õ ¸»ÀÌÁÒ...
°Å±â´Ù ÀÌ·± Á¾·ù µ¥ÀÌÅÍ´Â »ç¶÷ÀÌ ´Ù¸¥ÀÏ ÇÏ´Ù ±î¸Ô´Â½Ã°£ÀÌ ¸¹Áö ¾Ê³ª ½Í±âµµ Çϳ׿ä
     
±èÁ¦¿¬ 2018-07
no-sql ·Î ÀÌÀüÀÌ ¼º´ÉÀ̽´ ¸¸À¸·Î ¹Ù¶óº¸½Ã´Â ºÐµéÀÌ ¸¹Àºµ¥ Á¦°¡ °£´ÜÇÑ°Í ¸¸µé¾îº¸´Ï ..
Á¤±ÔÈ­µµ .. ¸Ó¸®°¡ ³ªºü¼­ Àß ¸øÇÏ°í Á¦ ¼º°Ý¿£ ±×³É json À¸·Î Á¤±ÔÈ­ ¾øÀÌ °³¹ßÇÏ´Â°Ô ÆíÇÏ°í Çؼ­ mongodb¸¦ ¼±ÅÃÇÑ°Ì´Ï´Ù.
mongodb °¡ ¾Æ´Ï¶ó ´Ù¸¥ db¸¦ ¼±ÅÃÇصµ ... ¹æ½Ä¿£ Å©°Ô ´Ù¸£Áö ¾Ê´õ±º¿ä .. ³ªÁß¿¡ geo query ±â´Éµµ »ç¿ëÇÏ°Ô µÇ°í Çؼ­
¼±ÅÃÇÏ°Ô µÇ¾ú½À´Ï´Ù.
Å©·°½º 2018-07
Àú¶ó¸é PostgreSQL·Î ¾²°í info Ä÷³(¶Ç´Â ´Ù¸¥ rowº°·Î À¯µ¿ÀûÀÎ µ¥ÀÌÅÍ)Àº json ŸÀÔÀ¸·Î ÅüÃļ­ °ü¸®ÇÒ°Å °°³×¿ä
±×·¸´Ù¸é Â÷¶óÀÌ ÇÑ°³ÀÇ Table¿¡ ¸ðµÎ ³Ö°í..

DB_Type Çʵ忡¼­..

ÆǸÅÀÚ : 1
»ç¿ëÀÚ : 2
°ü¸®ÀÚ:  5
ÃÖ°í°ü¸®ÀÚ: 9

ÀÌ·¸°Ô Çغ¸´Â °Íµµ ¹æ¹ýÀ̰ڳ׿ä..
°ü¸®´Â ÆíÇÏ°Ú½À´Ï´Ù.


QnA
Á¦¸ñPage 3945/5691
2014-05   5016484   Á¤ÀºÁØ1
2015-12   1551942   ¹é¸Þ°¡
2016-02   3927   ÇÏ´ÃÇÏ´Ã
2022-01   3927   ¹«½î»Ôó·³
2018-02   3927   Won³«¿¬
2015-05   3927   ¼­Á¤¿í
2014-04   3927   ±èº´ÀÏ
2016-10   3927   BMW330E
2016-01   3927   2CPUÃÖÁÖÈñ
2017-05   3927   2cpumem
2019-06   3927   ¿øÁÖ¸ÚÁøµ¢Ä¡
2014-04   3927   ȲÀ¯½Ä
2015-12   3927   ±è°Ç¿ì
2018-04   3927   °Å´Ï³×
2019-10   3927   tualatin
2018-09   3927   ÀØÇôÁøÀÚ
2016-12   3927   ±èÀ±¼ú
2016-11   3927   ÄĹÚ
2015-10   3927   ±è°Ç¿ì
2018-09   3927   winner712
2018-06   3927   subshot
2014-08   3927   ¹äÇѳ¢