* modern web-facing and big data application이 직면한 문제

1. 수많은 concurrent user를 처리해야 하고 각 user에 대한 application 반응이 빨라야 한다.

2. 페타 바이트 이상의 방대한 데이터를 처리해야 한다. 

3. Business-critical application은 하나 또는 여러 시스템이 failure이 나더라도 잘 돌아가야 하고 gracefully하게 failure에 대처해야 한다.(without any data loss or interruptions)

4. application는 여러 데이터 센터 또는 여러 geographical region에 완전 분산되고 수평 확장이 가능해야 한다.



* modern web-facing and big data application에서 RDBMS의 한계

1. RDBMS는 애초에 single server에서 run하기 위해 설계되었다.(clustered solution들을 처음에 전혀 고려하지 않았다.) 

2. RDBMS는 commodity hardware 위에 적합하게 돌아가지 않는다. 

 

특히 CAP 이론(분산 컴퓨팅 시스템에서 보장해야 하는 특징)에 따르면 일반적으로 RDBMS는 CAP중  CA를 보장한다. Partition Tolerance(물리적 네트워크 파티션, 노드 간 통신 타임아웃이 발생해도 제대로 동작한다.)를 보장하지 않는다. 분산 시스템으로 CA 시스템을 적용하려면 네트워크 파티션이 없어야 하는 데 현실에서 그럴 가능성은 전혀 없다. 따라서 CAP 은 분산 시스템 환경에서 CP나 AP 중 하나만 만족할 수 있다고 말한다.

 

+ Recent posts