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