1 분 소요

:octocat:RDBMS | NoSQL | BigData

1. RDBMS

데이터를 행과 열을 이루는 하나 이상의 테이블로 정리하며, 고유키가 각 로우를 식별한다.

행은 레코드나 튜플로 부르며, 일반적으로 각 테이블은 하나의 엔티티 타입을 대표한다.

행은 그 엔티티 종류의 인스턴스를 대표하며 열은 그 인스턴스의 속성이 되는 값들을 대표한다.

각각의 테이블들은 서로 관계를 맺으며 존재하고 SQL을 통해 데이터를 활용한다.

정해진 스키마에 따라 데이터가 저장된 명확한 구조를 가지고 있기에 데이터 구조가 변경되지 않는 시스템에서 사용하면 좋다.

2. NoSQL

Not Only SQL - SQL 계열 쿼리 언어를 사용할 수 있다.

데이터의 증가에 대응하기 위해 빅데이터 분산처리 및 저장기술과 분산 데이터베이스 기술을 제공한다.

RDBMS와는 달리 테이블 간의 관계를 정의하지 않는 비관계형 데이터베이스 관리 시스템으로, 따라서 join 연산이 불가능하다.

하지만, 스키마 없이 동작하여 구조에 대한 정의 변경 없이 자유롭게 데이터베이스 레코드에 필드를 추가할 수 있다. 또한, 대용량 데이터 처리와 대규모 수평적 확장성을 제공한다.

데이터가 여러 컬렉션에 중복되어 있으므로, 데이터 업데이트시 수행량이 많아 느리다.

따라서 데이터 변경이 자주 일어나지 않고, 데이터베이스를 수평 확장해야하는 시스템에서 사용하면 좋다.

데이터 구조

  • Key-Value

    Key와 Value가 하나의 묶음으로 저장되는 배열구조의 데이터베이스

    key는 중복될 수 없고, Value는 모든 데이터 타입이 허용된다.

    ex) Redis, AWS DynamoDB, Riak 등

  • Document

    Value가 Document타입 JSON 혹은 XML 데이터 구조를 채택한다.

    객체지향에서 객체와 유사하며, 복잡한 계층 구조를 잘 표현할 수 있다.

    ex) MongoDB, Couch DB, Azure Cosmose DB 등

  • Graph

    노드와 관계로 구성된 그래프 기반의 데이터베이스이다.

    ex) Neo4j, Blazegraph, OrientDB 등

  • Column

    데이터가 내부적으로 Key를 기준으로 정렬되어 저장된 데이터베이스이다.

    Key에서 필드를 결정한다. 연관된 데이터들은 같은 Column-family 안에 속해 있으며, 각자의 Column-name을 가진다.

      컬럼 저장소  
    Key Column Column Column
      Value Value Value
    Key Column Column Column
      Value Value Value

3. 빅데이터의 정의

3V -> 5V ++

빅데이터를 보는 관점이 데이터 자체의 특성 변화에서 기술적 변화(데이터 처리, 분석)뿐만 아니라 인재, 조직 변화까지로 넓어졌다.

  3v  
Volume
데이터의 규모
Variety
데이터의 유형과 소스
Velocity
데이터의 수집과 처리
  2v  
Value
가치로의 전환
  Veracity
데이터의 품질

태그:

카테고리:

업데이트:

댓글남기기