[빅데이터시스템설계] Big Data Storage

Future·2024년 4월 24일
0

Centralized Storage


Scale-Up에 해당한다. 하나의 기기에 내장된 DB에 데이터를 저장하는 방식으로, RDB는 데이터의 관계를 테이블로 정의하기 때문에 RDB에 적합한 방식이다. 물론, 최근에는 RDB도 Decentralized로 구축하는 추세이다.

Decentralized Storage


Scale-Out에 해당한다. 여러개의 기기에 데이터를 저장하는 방식이다. NoSql은 스키마가 없어, 정해진 형식이 없으므로 NoSql에 적합한 저장 방식이다.

NoSql

NoSql 특징

  • Flexible : RDB는 테이블의 구조를 변경해야 하지만, NoSql은 테이블이 없기 때문에 유연하다.
  • Scalability : 수평적 확장이 쉽다.
  • Fault Tolerance : 분산 시스템에 적합하기 때문에 일부 서버에 오류가 생겨도 기능에 치명적이지 않다.
  • 많은 대기업이 RDB에서 NoSql로 전환중이다.

NoSql 데이터베이스 유형

Key-Value database

  • Key-Value 형태로 데이터를 저장한다.
    ex) Redis, Oracle NoSql DB, Project Voldmort, Aerospike

Document Store Database

  • Key-Value쌍 여러개를 하나의 document에 저장하는 방식이다.
  • 각 document는 쿼리문을 사용할 수 있다.
  • RDB와 유사한 구조로 만들 수 있다.
    ex) MongoDB, DocumentDB, CouchDB, MarkLogic, OrientDB

Column-Family database

  • 각 Row에는 서로 다른 갯수의 여러개의 Column이 있다.
  • 각 Column은 name, value 조합과 데이터가 추가된 시점이 저장된 timestamp가 있다.
    ex) Bigtable, Cassandra, HBase, Vertica, Druid

Graph database

  • 데이터 간에 관계를 중시할 때 사용한다.
  • node에 데이터를 저장하고 arrow에 관계를 저장한다.
  • SNS, 실시간 상품 추천, 네트워크 다이어그램, 부정 감지, 접근 관리 등에 활용된다.

    ex) Neo4j, Blazegraph, GraphBase

profile
Record What I Learned

0개의 댓글