ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • NoSQL과 MongoDB
    DB/MongoDB 정리 2019. 9. 3. 09:20

     NoSQL


    전통적인 관계형 데이터베이스 관리 시스템(RDBMS)과는 다르게 대규모의 데이터를 유연하게 처리하기 위해 설계된 비관계형(non-relational) DBMS 


    NoSQL은 워낙 데이터가 많아 한군데에서 데이터 저장이 불가능하고 클라우드 환경에 적합하다.


    일관성을 버리고 검색 기능에 좀 더 치중



    NoSQL 데이터베이스 유형


    NoSQL은 정형화된 데이터가 없기에 유형이 다 다르다. 회사 조직에 특징을 파악하고 그에 맞는 유형을 써야한다.


    1) 키 - 값 형 NoSQL




    <키 , 값 > 쌍으로 데이터 표현, 관리,  구조상 정교한 질의는 어렵다 .값은 single value임


    ex 학번 - 컴퓨터학과, 


    2) 컬럼 패밀리 형 NoSQL




    <키, 값> 쌍으로 데이터를 표현하고 관리하나 값이 해당 키와 연관된 {<컬 럼, 값>} 형태임


    값만 있으면 안되고 값이 무엇을 의미한다 까지


    한 키에 대해 복수개에 값이 들어있다.


    키값에 들어있는 value값이 2개던 3개던 채워지던 않던 상관없다. 제약이 없다.



    컬럼패밀리


    컬럼패밀리는 CF1, CF2 형태로 묶인다.


    컬럼패밀리 : 검색을 빨리하기 위해 디스크 탐색시간 줄이기 위해 같은 공간에 물리적으로 저장한다. 


    주로 같이 질의되는 컬럼들을 묶는다.



    3) 문서형(document) 형 NoSQL

     


    키 벨류 쌍이지만 single value가 아닌 문서가 들어간다. 문서는 구조화된 문서이다(xml or json) 형태


    • 구조화된 문서 - 계층적 구조(트리)를 갖는 문서


    • RDB와 유사한 조건을 포함한 질의 처리 가능




    예 ) MongoDB, CouchDB




    JSON 이란 ?


    • 웹과 컴퓨터 프로그램에서 용량이 적은 데이터를 교홖하기 위해 데이터 객 체를 <속성, 값>의 쌍 형태로 표현하는 형식(표기법)


    • 데이터 트리(=문서)를 문자열로 표현 한 것 


    즉 웹 상에서의 데이터 교환


    구조


     { 필드명, 필드값 } 즉, { 키, 값 } 으로 표현(표기)




    JSON 객체의 값에 배열이 올 수도있다.  객체 안에 객체가 올수있다. 


    트리 형태의 구조화된 문서가 될 것.



    문서형 NoSQL의 예



    정리 )  관계형 데이터 베이스 대신 NoSQL을 사용하는 경우?


    1. 대량의 데이터 입력이 필요하다


    2. 대량의 단순한 정보의 빠른 저장 및 조회가 필요하다


    3. 스키마가 고정되지 않은 데이터

    'DB > MongoDB 정리' 카테고리의 다른 글

    MongoDB 튜토리얼 5. Aggregation  (0) 2019.10.15
    MongoDB 튜토리얼 4. CRUD  (31) 2019.10.01
    MongoDB 튜토리얼 3. CRUD  (31) 2019.09.24
    MongoDB 튜토리얼 2. CRUD  (0) 2019.09.17
    Mongo DB 튜토리얼 1. CRUD  (0) 2019.09.10
Designed by Tistory.