• 2017. 11. 25.

    by. 곰돌이푸우~



    안녕하세요. 오늘은 NoSQL에 대해 알아보려 합니다.

    SNS, 스마트 기기들의 대중화로 많은 데이터를 접할수 있게 된상황에서

    빅데이터의 중요성은 점점 높아지고 있는대요.


    그중 빅데이터를 활용하는데 많이 사용되는 NoSQL의 간단한 개념과 많이 알려진 관련 제품을 소개 하고자합니다.


    먼저

    NoSQL 데이터베이스 란


    NoSQL 데이터베이스는 데이터 저장 및 검색에 사용되는 비 관계형 데이터베이스 시스템입니다.


    최근 NoSQL 데이터베이스는 실시간 웹 응용 프로그램의 일부로 많이 활용되고 있죠.


    NoSQL 데이터베이스는 SQL 데이터베이스와 비교하여 빨라 Big Data 어플리케이션의 일부로 활용됩니다.

    즉 Big Data 데이터베이스 또는 Cloud 데이터베이스라고 할 수 있습니다.



    이러한 NoSQL도 데이터의 구성에 따라 몇가지의 유형으로 나눌수 있습니다.


    NoSQL 데이터베이스 유형


    1.Document Databases : 이 유형은 각 키를 Document라고하는 복잡한 데이터 구조와 쌍을 이룹니다.

    Document에는 key-array 또는 key-value 또는 중첩 된 Document가 포함될 수 있습니다.


    2.Key-value stores : 항목은 key-value로 저장됩니다.

    Key-Value 스토어는 NoSQL 데이터베이스 중에서 가장 단순한 유형입니다.


    3.Wide-column stores : 이 유형은 대형 데이터 세트에 대한 쿼리에 최적화되어 있습니다.

    행 대신 데이터 열을 함께 저장합니다.


    4.Graph stores : 그래프, 네트워크에 대한 정보를 저장합니다.




    다음은 흔히 접할수 있고 가장 인기 많은 NoSQL들을 소개 합니다.


    1.MongoDB


    MongoDB는 NoSQL 데이터베이스 중에서 가장 많이 알려져 있습니다.


    MongoDB는 확장성이 높고 JavaScript를 쿼리 언어로 활용할 수 있습니다.

    따라서 JavaScript 프레임워크에서 매우 유용합니다.


    2.Cassandra


    Cassandra는 많은 양의 구조화 된 데이터를 처리하기위한 분산 데이터스토어 시스템입니다.


    카산드라는 데이터를 배포를 위한 최대한의 유연성을 제공합니다.

    서비스를 온라인 상태로 유지하면서 데이터의 저장 용량을 추가 할 수 있습니다.


    카산드라는 자바로 작성되었고 Apache Hadoop 과 함께 MapReduce를 지원합니다.


    Cassandra Query Language (CQL) 는 Cassandra Database를 질의하기위한 SQL과 유사한 언어입니다.


    3.Redis


    Redis는 메모리 기반의 key-value store입니다.

    따라서 NoSQL로 분류되지만 In momory 솔루션으로도 분류됩니다.


     Redis는 C 언어 로 구성 되어 있습니다.

    Redis는 C ++, PHP, Ruby, Python, Perl, Scala 등을 지원합니다.


    4.HBase


    HBase는 Google이 BigTable 데이터베이스 용으로 설계 한 분산 및 비 관계형 데이터베이스입니다.

    HBase의 주요 목표는 수십억 개의 열 X 행을 호스팅하는 것 입니다.


    언제든지 서버를 추가하여 용량을 늘릴 수 있습니다.


    HBase는 Java로 구성되어 Java API를 사용하기 쉽습니다.


    5.CouchDB


    CouchDB는 JSON을 사용 하는 쿼리 언어로 정보와 JavaScript 를 저장하는 오픈 소스 NoSQL 데이터베이스입니다.

    CouchDB는 쓰는 도중 DB 파일의 막힘을 피하기 위해 일종의 다중 버전 제어 시스템을 적용합니다.


    이상으로 NoSQL의 간단한 개념과 어떠한 제품들이 있는지 알아 보았습니다.