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

   Á¶È¸ 3850   Ãßõ 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 1733/5682
2014-05   4952338   Á¤ÀºÁØ1
2015-12   1488891   ¹é¸Þ°¡
2018-03   3850   NiteFlite9
2015-06   3850   Versace
2018-08   3850   ¹ä¾Ë1±èÇü±Ù1
2017-03   3851   ¸·¿ï¾ú¾î¿ä
2020-12   3851   À嵿°Ç2014
2017-01   3851   Áú¹®Çлý
2022-04   3851   ¹Öµ¹ÀÌ
2016-12   3851   ºÐ³ëÀÇ´Ù¿îÈú
2019-10   3851   ¸Þ¶Ñ±â°¡¸é¸Ç
2014-07   3851   ¸¶ÀÌ·¯ºê
2017-10   3851   ¹ÚÀ§·Õ
2016-10   3851   ½Öcpu
2017-04   3851   WorkOvertime
2018-02   3851   Äɸ®°Ç
2016-03   3851   Ç㸮Àå»ç
2018-07   3851   ±èÁ¦¿¬
2020-11   3852   ¹Ý±â±â±â±â
2015-04   3852   ¼³¿µ¼ö
2019-01   3852   ÇãÀα¸¸¶Æ¾
2015-03   3852   ¾Æ¸¶µ¥¿ì¾²