- ER(Entity Relationship) 모델에 따라, 데이터베이스가 만들어지며, 데이터베이스는 하나 이상의 테이블로 구성 됨. ER모델에서 엔티티를 기반으로 테이블이 만들어짐
![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/20c70aa7-50ee-44fb-9f8a-761b0e102e5b/Untitled.png)
ACID
1. 원자성 (Atomicity)
2. 일관성 (Consistency)
3. 독립성, 격리성 (Isolation)
4. 영속성, 지속성 (Durablility)
**1. 기본적인 가용성 (Basically Avaliable)**
- 부분적인 고장은 있을 수 있으나, 나머지는 사용이 가능하다.주 서버가 안되더라도 백업 서버는 동작한다.
**2. 소프트 상태 (Soft State)**
- 노드의 상태는 외부에서 전송된 정보를 통해 결정됨.
- 분산 노드 간 업데이트는 데이터가 노드에 도달한 시점에 갱신.최신 상태의 데이터로 덮어써진다.
**3. 결과적 일관성 (Eventually Consistent)**
- 일시적으로 비일관적인 상태가 되어도 최적으로는 일관성이 있는 상태가 되는 성질시스템 부하, 네트워크 속도 등의 외부 요인으로 인해 일관성이 일시적으로 깨질 수 있다.
- 차이점을 고려하여 사용 여부 결정
- 일관성 (Consistency) : 모든 시스템의 데이터는 어떤 순간에 항상 같은 데이터를 갖는다.
- 가용성 (Availability) : 분산 시스템에 대한 모든 요청은 내용 혹은 성공/실패에 상관없이 응답을 반환할 수 있다.
- 내구성 (Partition Tolerance) : 네트워크 장애 등 여러 상황에서도 시스템은 동작할 수 있다.
참고
https://khj93.tistory.com/entry/Database-RDBMS와-NOSQL-차이점
https://universitytomorrow.com/26
https://jwprogramming.tistory.com/52
https://docs.microsoft.com/ko-kr/dotnet/architecture/cloud-native/relational-vs-nosql-data
https://velog.io/@issac/DB-트랜잭션-Transaction의-ACID-속성과-분산시스템-BASE-속성
https://www.cs.rochester.edu/courses/261/fall2017/termpaper/submissions/06/Paper.pdf