반응형
관계형 DB
특징
- 엄격한 데이터 스키마를 따라 행과 열의 구조를 가지는 테이블에 저장된다.
- 관계를 통해서 연결된 여러 테이블에 분산/저장된다.
장점
- 명확하게 정의된 스키마, 데이터 무결성이 보장된다.
데이터의 무결성은 데이터의 정확성, 일관성, 유효성이 유지되는 것을 말한다. - 효율적으로 저장한다면 데이터의 중복이 없다.
단점
- 스키마 수정이 어렵다.
- 수평 확장이 어렵고, 수직 확장만이 가능하다. (수직확장 또한 한계가 있다)
비관계형 DB
특징
- 스키마 / 관계가 없다.
장점
- 스키마가 없기 때문에 유연성이 높다.
- 데이터를 가져오는 속도가 빠르다.
- 수직 및 수평 확장이 가능해서 데이터베이스가 애플리케이션에서 발생시키는 모든 읽기 / 쓰기 요청을 처리 할 수 있다.
- 따라서 방대한 양의 데이터를 저장하는데 유리하다 !
단점
- 데이터의 완전성이 덜 보장된다.
SQL vs NoSQL
SQL
MySQL, SQLite, Oracle ...
NoSQL
- 각각의 entity를 저장하고 이를 관계망으로 연결해서 주로 소셜 네트워킹에서 효율적으로 사용된다.
- Key-Value DB많은 양의 읽기/쓰기를 빠르게 지원해야할 때 유리하다.
- ex) CassandraDB : apple, netflix, instagram, uber에서 사용됨
반응형