Concerns

여러대의 컴퓨터로 이루어진 분산시스템을 운용하는 것은 굉장히 어려운 일이다. 왜냐하면 이들간의 동기화가 필요하기 때문이다. 만약 Alice, Bob이라는 이름 가진 2대의 MongoDB 인스턴스로 이루어진 MongoDB Replication (레플리케이션)이 있다고 가정해보자. 내가 Alice 컴퓨터에 어떤 데이터를 기록했다고 했을 때 Alice는 Bob에게 기록한 데이터를 전송하여 둘의 데이터가 같도록 동기화할 것이다. 하지만 둘간의 동기화가 일어나기 이전에 Bob에게서 이 데이터를 읽으려고 한다면? 나는 분명히 데이터를 기록했는데 데이터를 읽을 수 없는 상황이 벌어진 것이다. (이를 ACID가 충족되지 않았다고 볼 수 있다.)

그렇다면 이를 어떻게 해결해야 할까? 이를 위해 Read Concern(읽기 고려) 와 Write Concern (쓰기 고려) 가 필요하다.

Last updated