NoSQL

Published: Jan 15, 2020 by Dev-hwon

NoSQL

Not Only SQL - 관계형 데이터베이스와의 극명한 차이

다이나믹 스키마

  • Structure를 정의하지 않고도 Documents, Key Values 등을 생성
  • 각각의 다큐먼트는 유니크한 Structure로 구성 가능
  • 데이터베이스들마다 다른 Syntax
  • 필드들을 지속적으로 추가 가능

Scalability

  • SQL Databases are vertically scalable - CPU, RAM or SSD
  • NoSQL Databases are horizontally scalable - Sharding / Parititioning

Partition

데이터 매니지먼트, 퍼포먼스 등 다양한 이유로 데이터를 나누는 일

Vertical Partition

Vertical Partition은 테이블을 더 작은 테이블들로 나누는 작업으로써 normalization 후에도 경우에 따라 칼럼을 나누는 파티션 작업을 함

[이미지 출처] https://docs.microsoft.com/ko-kr/azure/architecture/best-practices/data-partitioning

Horizontal Partition

Schema / Structure 자체를 카피하여 데이터 자체를 Sharded Key로 분 리

[이미지 출처] https://docs.microsoft.com/ko-kr/azure/architecture/best-practices/data-partitioning

NoSQL 다이나믹 스키마 Partition Horizontal Partition