ABOUT ME

beck33333@naver.com

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 정리' 카테고리의 다른 글

Designed by Tistory.